:root {
    --ag-navy: #071a38;
    --ag-navy-2: #0d2852;
    --ag-red: #d71920;
    --ag-red-dark: #b71017;
    --ag-gold: #d2a33a;
    --ag-gold-light: #f1cf75;
    --ag-white: #ffffff;
    --ag-light: #f4f6f9;
    --ag-line: #e2e6ec;
    --ag-text: #172033;
    --ag-muted: #687387;
    --ag-shadow: 0 12px 35px rgba(7, 26, 56, 0.08);
}

body {
    overflow-x: hidden;
    background: #fff;
}

.ag-container {
    width: min(1240px, calc(100% - 40px));
    margin-inline: auto;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

/* Header */

.ag-site-header {
    position: relative;
    z-index: 50;
    background: #fff;
}

.ag-topbar {
    background: var(--ag-navy);
    color: rgba(255, 255, 255, 0.86);
    font-size: 11px;
}

.ag-topbar__inner,
.ag-topbar__right,
.ag-topbar__links,
.ag-language,
.ag-social-mini {
    display: flex;
    align-items: center;
}

.ag-topbar__inner {
    min-height: 28px;
    justify-content: space-between;
}

.ag-topbar__links,
.ag-language {
    gap: 7px;
}

.ag-topbar a:hover {
    color: var(--ag-gold-light);
}

.ag-topbar__right {
    gap: 22px;
}

.ag-social-mini {
    gap: 8px;
}

.ag-social-mini a {
    display: grid;
    width: 19px;
    height: 19px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    font-weight: 700;
}

.ag-language .is-active {
    color: #fff;
    font-weight: 800;
}

.ag-navbar {
    border-bottom: 1px solid var(--ag-line);
    background: #fff;
}

.ag-navbar__inner {
    display: flex;
    min-height: 82px;
    align-items: center;
}

.ag-brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 11px;
}

.ag-brand__logo .custom-logo-link {
    display: block;
}

.ag-brand__logo img {
    width: auto;
    max-height: 58px;
}

.ag-brand__mark {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 2px solid var(--ag-gold);
    border-radius: 50% 50% 45% 45%;
    background: linear-gradient(145deg, var(--ag-red), #8d0710);
    color: #fff;
    font-family: Georgia, serif;
    font-size: 17px;
    font-weight: 900;
}

.ag-brand__text {
    display: flex;
    flex-direction: column;
    text-transform: uppercase;
}

.ag-brand__text small {
    color: var(--ag-navy);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.2px;
}

.ag-brand__text strong {
    color: var(--ag-navy);
    font-family: Georgia, serif;
    font-size: 21px;
    line-height: 1;
    letter-spacing: .4px;
}

.ag-brand__text em {
    margin-top: 4px;
    color: var(--ag-gold);
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 1px;
}

.ag-primary-nav {
    margin-left: auto;
}

.ag-menu {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-menu > li {
    position: relative;
}

.ag-menu > li > a {
    display: flex;
    min-height: 82px;
    align-items: center;
    padding: 0 16px;
    color: var(--ag-navy);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}

.ag-menu > li > a::after {
    position: absolute;
    right: 16px;
    bottom: 0;
    left: 16px;
    height: 3px;
    background: var(--ag-red);
    content: "";
    opacity: 0;
    transform: scaleX(0);
    transition: .2s ease;
}

.ag-menu > li:hover > a,
.ag-menu > .current-menu-item > a {
    color: var(--ag-red);
}

.ag-menu > li:hover > a::after,
.ag-menu > .current-menu-item > a::after {
    opacity: 1;
    transform: scaleX(1);
}

.ag-search-button {
    position: relative;
    width: 42px;
    height: 42px;
    margin-left: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.ag-search-button span {
    position: absolute;
    top: 12px;
    left: 11px;
    width: 15px;
    height: 15px;
    border: 2px solid var(--ag-navy);
    border-radius: 50%;
}

.ag-search-button span::after {
    position: absolute;
    width: 8px;
    height: 2px;
    right: -6px;
    bottom: -4px;
    background: var(--ag-navy);
    content: "";
    transform: rotate(45deg);
}

.ag-menu-toggle {
    display: none;
}

/* Hero */

.ag-hero {
    position: relative;
    min-height: 500px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 76% 18%, rgba(215,25,32,.45), transparent 30%),
        linear-gradient(112deg, #05152e 0%, #0a2349 50%, #4e0b14 100%);
}

.ag-hero__glow {
    position: absolute;
    width: 550px;
    height: 550px;
    right: 4%;
    top: -160px;
    border-radius: 50%;
    background: rgba(215, 25, 32, .16);
    filter: blur(20px);
}

.ag-hero__pattern {
    position: absolute;
    inset: 0 0 0 auto;
    width: 38%;
    opacity: .2;
    background-image:
        linear-gradient(30deg, transparent 45%, var(--ag-gold) 46%, transparent 48%),
        linear-gradient(-30deg, transparent 45%, var(--ag-gold) 46%, transparent 48%);
    background-size: 38px 38px;
    mask-image: linear-gradient(to left, #000, transparent);
}

.ag-hero__inner {
    position: relative;
    display: grid;
    min-height: 500px;
    grid-template-columns: .9fr 1.25fr;
    align-items: center;
    gap: 24px;
}

.ag-hero__copy {
    position: relative;
    z-index: 3;
    padding: 48px 0;
}

.ag-hero__eyebrow {
    display: inline-flex;
    margin-bottom: 13px;
    padding: 6px 12px;
    border: 1px solid rgba(210,163,58,.45);
    border-radius: 999px;
    color: var(--ag-gold-light);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.ag-hero h1 {
    max-width: 590px;
    margin: 0;
    color: var(--ag-gold-light);
    font-size: clamp(42px, 4.3vw, 68px);
    line-height: .94;
    letter-spacing: -2px;
    text-transform: uppercase;
}

.ag-hero h1 span {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-size: .64em;
    line-height: 1.04;
    letter-spacing: -.7px;
}

.ag-hero__copy > p {
    max-width: 560px;
    margin: 20px 0 18px;
    color: rgba(255,255,255,.82);
    font-size: 15px;
    line-height: 1.65;
}

.ag-countdown-title {
    margin-bottom: 8px;
    color: rgba(255,255,255,.6);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.ag-countdown {
    display: grid;
    width: min(100%, 380px);
    grid-template-columns: repeat(4, 1fr);
    overflow: hidden;
    border: 1px solid rgba(210,163,58,.5);
    border-radius: 7px;
    background: rgba(3,14,31,.48);
    backdrop-filter: blur(8px);
}

.ag-countdown > div {
    padding: 10px 7px;
    border-right: 1px solid rgba(255,255,255,.12);
    text-align: center;
}

.ag-countdown > div:last-child {
    border: 0;
}

.ag-countdown strong {
    display: block;
    font-size: 22px;
    line-height: 1;
}

.ag-countdown span {
    display: block;
    margin-top: 5px;
    color: rgba(255,255,255,.6);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.ag-hero__actions {
    display: flex;
    gap: 10px;
    margin-top: 18px;
}

.ag-button {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .2px;
    text-transform: uppercase;
    transition: .2s ease;
}

.ag-button:hover {
    transform: translateY(-2px);
}

.ag-button--red {
    background: var(--ag-red);
    color: #fff;
}

.ag-button--red:hover {
    background: var(--ag-red-dark);
    color: #fff;
}

.ag-button--gold {
    border: 1px solid var(--ag-gold);
    color: var(--ag-gold-light);
}

.ag-button--gold:hover {
    background: var(--ag-gold);
    color: var(--ag-navy);
}

.ag-hero__visual {
    position: relative;
    height: 100%;
    min-height: 500px;
}

.ag-hero__flag {
    position: absolute;
    width: 550px;
    height: 340px;
    right: -30px;
    top: 50%;
    border-radius: 48% 15% 35% 20%;
    opacity: .6;
    background:
        linear-gradient(to bottom, #e31622 0 50%, #fff 50% 100%);
    filter: drop-shadow(0 20px 30px rgba(0,0,0,.3));
    transform: translateY(-53%) rotate(-8deg);
}

.ag-athlete {
    position: absolute;
    display: flex;
    align-items: end;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 90px 90px 18px 18px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(6,20,43,.9)),
        linear-gradient(135deg, #f6f6f6, #d71920);
    box-shadow: 0 24px 35px rgba(0,0,0,.36);
}

.ag-athlete span {
    margin-bottom: 20px;
    padding: 5px 10px;
    border-radius: 20px;
    background: rgba(7,26,56,.78);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.ag-athlete--one {
    width: 150px;
    height: 300px;
    left: 20px;
    bottom: -28px;
    transform: rotate(-7deg);
}

.ag-athlete--two {
    z-index: 2;
    width: 190px;
    height: 390px;
    left: 175px;
    bottom: -35px;
}

.ag-athlete--three {
    width: 150px;
    height: 310px;
    right: 95px;
    bottom: -25px;
    transform: rotate(7deg);
}

.ag-athlete--four {
    width: 120px;
    height: 255px;
    right: -35px;
    bottom: -10px;
    transform: rotate(11deg);
}

.ag-hero__visual-note {
    position: absolute;
    z-index: 4;
    right: 25px;
    bottom: 17px;
    padding: 7px 12px;
    border-radius: 30px;
    background: rgba(7,26,56,.78);
    color: rgba(255,255,255,.68);
    font-size: 8px;
}

/* Dashboard */

.ag-dashboard {
    position: relative;
    z-index: 5;
    background: #fff;
    box-shadow: 0 -12px 25px rgba(0,0,0,.08);
}

.ag-dashboard__grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr 1.12fr;
}

.ag-panel {
    min-width: 0;
    padding: 17px;
    border-right: 1px solid var(--ag-line);
    border-bottom: 1px solid var(--ag-line);
    background: #fff;
}

.ag-panel:first-child {
    border-left: 1px solid var(--ag-line);
}

.ag-panel__heading,
.ag-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 13px;
}

.ag-panel__heading h2,
.ag-card-heading h3 {
    margin: 0;
    color: var(--ag-navy);
    font-size: 12px;
    line-height: 1.2;
    text-transform: uppercase;
}

.ag-panel__heading a,
.ag-card-heading a {
    color: var(--ag-muted);
    font-size: 8px;
    white-space: nowrap;
}

.ag-featured-news {
    display: grid;
    grid-template-columns: 92px 1fr;
    align-items: center;
    gap: 11px;
}

.ag-featured-news__image {
    display: grid;
    height: 64px;
    overflow: hidden;
    place-items: center;
    border-radius: 4px;
    background: linear-gradient(135deg, var(--ag-red), var(--ag-navy));
    color: #fff;
    font-size: 8px;
    font-weight: 800;
}

.ag-featured-news__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ag-featured-news h3 {
    margin: 0 0 6px;
    color: var(--ag-text);
    font-size: 11px;
    line-height: 1.35;
}

.ag-featured-news time,
.ag-media-module small {
    color: var(--ag-muted);
    font-size: 8px;
}

.ag-news-list {
    margin: 12px 0 0;
    padding: 9px 0 0 14px;
    border-top: 1px solid var(--ag-line);
    color: var(--ag-text);
    font-size: 9px;
    line-height: 1.55;
}

.ag-news-list li::marker {
    color: var(--ag-red);
}

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

.ag-medal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 8px;
}

.ag-medal-table th,
.ag-medal-table td {
    padding: 5px 3px;
    border-bottom: 1px solid var(--ag-line);
    text-align: center;
    white-space: nowrap;
}

.ag-medal-table th:nth-child(2),
.ag-medal-table td:nth-child(2) {
    text-align: left;
}

.ag-medal-table .is-indonesia {
    color: var(--ag-red);
    font-weight: 900;
}

.ag-flag {
    display: inline-block;
    width: 12px;
    height: 8px;
    margin-right: 5px;
    border: 1px solid #ddd;
    vertical-align: middle;
}

.ag-flag--id {
    background: linear-gradient(to bottom, #d71920 0 50%, #fff 50%);
}

.ag-flag--jp {
    background: radial-gradient(circle, #d71920 0 33%, transparent 35%), #fff;
}

.ag-flag--cn {
    background: #e31925;
}

.ag-flag--kr {
    background: #fff;
}

.ag-flag--uz {
    background: linear-gradient(to bottom, #1aa7d9 0 33%, #fff 33% 66%, #42a447 66%);
}

.ag-panel__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 9px;
    color: var(--ag-muted);
    font-size: 7px;
}

.ag-live-label {
    padding: 3px 7px;
    border-radius: 30px;
    background: var(--ag-red);
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
}

.ag-schedule-list {
    display: flex;
    flex-direction: column;
}

.ag-schedule-item {
    display: grid;
    grid-template-columns: 38px 25px 1fr;
    align-items: center;
    gap: 5px;
    padding: 9px 0;
    border-bottom: 1px solid var(--ag-line);
}

.ag-schedule-item time {
    color: var(--ag-navy);
    font-size: 9px;
    font-weight: 900;
}

.ag-sport-icon {
    font-size: 16px;
}

.ag-schedule-item strong,
.ag-schedule-item small {
    display: block;
}

.ag-schedule-item strong {
    color: var(--ag-text);
    font-size: 9px;
}

.ag-schedule-item small {
    margin-top: 2px;
    color: var(--ag-muted);
    font-size: 7px;
}

.ag-highlight-card {
    display: block;
    overflow: hidden;
    border-radius: 5px;
    background: var(--ag-navy);
    color: #fff;
}

.ag-highlight-card__image {
    position: relative;
    display: grid;
    height: 115px;
    place-items: center;
    background:
        radial-gradient(circle at 25% 30%, #d71920, transparent 35%),
        linear-gradient(135deg, #071a38, #26070c);
}

.ag-highlight-card__athlete {
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.ag-play {
    position: absolute;
    display: grid;
    width: 42px;
    height: 42px;
    right: 18px;
    top: 50%;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 50%;
    transform: translateY(-50%);
}

.ag-highlight-card__caption {
    display: flex;
    flex-direction: column;
    padding: 10px;
}

.ag-highlight-card__caption strong {
    font-size: 9px;
}

.ag-highlight-card__caption small {
    margin-top: 3px;
    color: rgba(255,255,255,.6);
    font-size: 7px;
}

.ag-dots {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
}

.ag-dots span {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #ccd1d9;
}

.ag-dots .is-active {
    background: var(--ag-red);
}

/* General sections */

.ag-section {
    padding: 52px 0;
}

.ag-section:nth-of-type(even) {
    background: var(--ag-light);
}

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

.ag-section-heading span {
    display: block;
    margin-bottom: 6px;
    color: var(--ag-red);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.ag-section-heading h2 {
    margin: 0;
    color: var(--ag-navy);
    font-size: clamp(25px, 3vw, 39px);
    line-height: 1.08;
}

.ag-section-heading > a {
    color: var(--ag-navy);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

/* Profile */

.ag-profile-grid {
    display: grid;
    grid-template-columns: .9fr 1fr 1.45fr;
    gap: 17px;
}

.ag-cdm-card,
.ag-sports-card,
.ag-athletes-card,
.ag-result-calendar,
.ag-indonesia-medals,
.ag-ranking-card,
.ag-media-module {
    border: 1px solid var(--ag-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--ag-shadow);
}

.ag-cdm-card {
    display: grid;
    grid-template-columns: 115px 1fr;
    overflow: hidden;
}

.ag-cdm-card__photo {
    display: grid;
    min-height: 235px;
    place-items: end center;
    padding: 14px;
    background: linear-gradient(180deg, #f4f4f4, #cdd5df);
    color: var(--ag-muted);
    font-size: 8px;
}

.ag-cdm-card__copy {
    padding: 22px 18px;
}

.ag-cdm-card__copy > span {
    color: var(--ag-red);
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.ag-cdm-card h3 {
    margin: 8px 0;
    color: var(--ag-navy);
    font-size: 18px;
    line-height: 1.12;
}

.ag-cdm-card p {
    margin: 0 0 15px;
    color: var(--ag-muted);
    font-size: 10px;
    line-height: 1.6;
}

.ag-sports-card,
.ag-athletes-card,
.ag-result-calendar,
.ag-indonesia-medals,
.ag-ranking-card,
.ag-media-module {
    padding: 17px;
}

.ag-sports-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.ag-sports-grid a {
    display: flex;
    min-height: 76px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid var(--ag-line);
    border-radius: 6px;
    transition: .2s ease;
}

.ag-sports-grid a:hover {
    border-color: var(--ag-red);
    transform: translateY(-2px);
}

.ag-sports-grid span {
    font-size: 21px;
}

.ag-sports-grid strong {
    color: var(--ag-text);
    font-size: 8px;
}

.ag-filter-tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 12px;
}

.ag-filter-tabs button {
    padding: 5px 12px;
    border: 1px solid var(--ag-line);
    border-radius: 30px;
    background: #fff;
    color: var(--ag-muted);
    font-size: 8px;
    font-weight: 800;
}

.ag-filter-tabs .is-active {
    border-color: var(--ag-red);
    background: var(--ag-red);
    color: #fff;
}

.ag-athlete-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 9px;
}

.ag-athlete-grid a {
    min-width: 0;
}

.ag-person-photo {
    display: grid;
    height: 100px;
    place-items: center;
    border-radius: 6px;
    background: linear-gradient(145deg, var(--ag-navy), var(--ag-red));
    color: #fff;
    font-size: 20px;
    font-weight: 900;
}

.ag-athlete-grid strong,
.ag-athlete-grid small {
    display: block;
}

.ag-athlete-grid strong {
    margin-top: 7px;
    overflow: hidden;
    color: var(--ag-text);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ag-athlete-grid small {
    margin-top: 2px;
    color: var(--ag-muted);
    font-size: 7px;
}

/* Results */

.ag-results-grid {
    display: grid;
    grid-template-columns: 1.35fr .8fr .95fr;
    gap: 17px;
}

.ag-date-tabs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
    margin-bottom: 16px;
}

.ag-date-tabs button {
    padding: 7px 4px;
    border: 1px solid var(--ag-line);
    border-radius: 5px;
    background: #fff;
    color: var(--ag-navy);
}

.ag-date-tabs button strong,
.ag-date-tabs button span {
    display: block;
}

.ag-date-tabs button strong {
    font-size: 13px;
}

.ag-date-tabs button span {
    margin-top: 2px;
    font-size: 7px;
    text-transform: uppercase;
}

.ag-date-tabs .is-active {
    border-color: var(--ag-red);
    background: var(--ag-red);
    color: #fff;
}

.ag-result-calendar > h3 {
    color: var(--ag-navy);
    font-size: 11px;
    text-transform: uppercase;
}

.ag-result-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.ag-result-cards > div {
    padding: 12px;
    border: 1px solid var(--ag-line);
    border-radius: 6px;
}

.ag-result-cards span,
.ag-result-cards strong,
.ag-result-cards small {
    display: block;
}

.ag-result-cards span {
    color: var(--ag-muted);
    font-size: 7px;
}

.ag-result-cards strong {
    margin: 5px 0 12px;
    color: var(--ag-text);
    font-size: 9px;
}

.ag-result-cards small {
    font-size: 7px;
}

.is-win {
    color: #189447;
}

.is-gold {
    color: #b8860b;
}

.is-silver {
    color: #7a8798;
}

.ag-medal-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    text-align: center;
}

.ag-medal-summary > div {
    padding: 12px 3px;
    border-right: 1px solid var(--ag-line);
}

.ag-medal-summary > div:last-child {
    border: 0;
}

.ag-medal {
    display: grid;
    width: 41px;
    height: 41px;
    margin: 0 auto 8px;
    place-items: center;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 900;
}

.ag-medal--gold {
    background: linear-gradient(145deg, #f1cf75, #b57909);
}

.ag-medal--silver {
    background: linear-gradient(145deg, #f2f2f2, #9fa7b0);
}

.ag-medal--bronze {
    background: linear-gradient(145deg, #e0a06c, #91471d);
}

.ag-medal-summary strong,
.ag-medal-summary small {
    display: block;
}

.ag-medal-summary strong {
    color: var(--ag-navy);
    font-size: 23px;
}

.ag-medal-summary small {
    margin-top: 3px;
    color: var(--ag-muted);
    font-size: 8px;
    text-transform: uppercase;
}

.ag-total-medals {
    margin-top: 10px;
    padding: 10px;
    border-radius: 5px;
    background: var(--ag-light);
    color: var(--ag-muted);
    text-align: center;
    font-size: 9px;
}

.ag-total-medals strong {
    color: var(--ag-navy);
    font-size: 18px;
}

.ag-mini-ranking {
    width: 100%;
    border-collapse: collapse;
    font-size: 9px;
}

.ag-mini-ranking td {
    padding: 7px 4px;
    border-bottom: 1px solid var(--ag-line);
}

.ag-mini-ranking td:last-child {
    text-align: right;
    font-weight: 900;
}

.ag-mini-ranking .is-indonesia {
    background: #fff1f2;
    color: var(--ag-red);
    font-weight: 900;
}

/* Media */

.ag-media-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 17px;
}

.ag-media-placeholder,
.ag-video-placeholder {
    display: grid;
    height: 125px;
    margin-bottom: 12px;
    place-items: center;
    border-radius: 6px;
    background: linear-gradient(145deg, var(--ag-navy), var(--ag-red));
    color: #fff;
    font-size: 10px;
    font-weight: 900;
}

.ag-media-placeholder--document {
    background: linear-gradient(145deg, #fff, #e5e8ee);
    color: var(--ag-red);
}

.ag-media-module > strong {
    display: block;
    color: var(--ag-text);
    font-size: 10px;
    line-height: 1.35;
}

.ag-gallery-grid {
    display: grid;
    height: 160px;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
}

.ag-gallery-grid span {
    display: grid;
    place-items: center;
    border-radius: 4px;
    background: linear-gradient(145deg, var(--ag-red), var(--ag-navy));
    color: #fff;
    font-size: 8px;
}

.ag-video-placeholder {
    height: 160px;
}

.ag-video-placeholder span {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 50%;
    font-size: 18px;
}

/* Fan Zone */

.ag-fan-zone {
    background: #fff !important;
}

.ag-fan-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 17px;
}

.ag-fan-card {
    position: relative;
    display: flex;
    min-height: 190px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 22px;
    overflow: hidden;
    border: 1px solid var(--ag-line);
    border-radius: 9px;
    background: #fff;
    box-shadow: var(--ag-shadow);
    text-align: center;
    transition: .2s ease;
}

.ag-fan-card:hover {
    transform: translateY(-5px);
}

.ag-fan-card--shop {
    background:
        linear-gradient(rgba(255,255,255,.94), rgba(255,255,255,.94)),
        linear-gradient(145deg, var(--ag-red), var(--ag-navy));
}

.ag-fan-icon {
    display: grid;
    width: 66px;
    height: 66px;
    margin-bottom: 12px;
    place-items: center;
    border-radius: 50%;
    background: var(--ag-light);
    color: var(--ag-navy);
    font-size: 31px;
    font-weight: 900;
}

.ag-fan-icon--facebook {
    background: #1877f2;
    color: #fff;
}

.ag-fan-icon--x {
    background: #050505;
    color: #fff;
}

.ag-fan-icon--instagram {
    background: linear-gradient(135deg, #6441d9, #d82978, #f4a529);
    color: #fff;
}

.ag-fan-card small,
.ag-fan-card strong {
    display: block;
}

.ag-fan-card small {
    color: var(--ag-muted);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.ag-fan-card strong {
    margin-top: 4px;
    color: var(--ag-navy);
    font-size: 12px;
}

.ag-fan-card em {
    margin-top: 13px;
    padding: 6px 13px;
    border-radius: 30px;
    background: var(--ag-red);
    color: #fff;
    font-size: 7px;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

/* About */

.ag-about-games {
    background: var(--ag-light) !important;
}

.ag-about-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 17px;
}

.ag-about-card {
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 20px;
    border: 1px solid var(--ag-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--ag-shadow);
}

.ag-about-icon {
    display: grid;
    width: 80px;
    height: 70px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 7px;
    background: linear-gradient(145deg, var(--ag-navy), var(--ag-red));
    color: #fff;
    font-size: 16px;
    font-weight: 900;
}

.ag-about-card small,
.ag-about-card strong {
    display: block;
}

.ag-about-card small {
    color: var(--ag-red);
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.ag-about-card strong {
    margin-top: 5px;
    color: var(--ag-navy);
    font-size: 12px;
}

.ag-about-card p {
    margin: 5px 0 0;
    color: var(--ag-muted);
    font-size: 9px;
    line-height: 1.45;
}

/* Footer */

.ag-footer {
    color: #fff;
    background: var(--ag-navy);
}

.ag-footer__main {
    padding: 44px 0 38px;
}

.ag-footer__grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr .8fr 1fr;
    gap: 40px;
}

.ag-brand--footer .ag-brand__text small,
.ag-brand--footer .ag-brand__text strong {
    color: #fff;
}

.ag-footer p,
.ag-footer li,
.ag-footer a {
    color: rgba(255,255,255,.64);
    font-size: 9px;
    line-height: 1.7;
}

.ag-footer h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 11px;
    text-transform: uppercase;
}

.ag-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-footer-social {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.ag-footer-social a {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    color: #fff;
    font-weight: 900;
}

.ag-footer__bottom {
    padding: 14px 0;
    background: var(--ag-red);
}

.ag-footer__bottom-inner {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    color: rgba(255,255,255,.85);
    font-size: 8px;
}

/* Responsive */

@media (max-width: 1120px) {
    .ag-menu > li > a {
        padding-inline: 9px;
        font-size: 8px;
    }

    .ag-dashboard__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ag-panel:nth-child(2) {
        border-right: 1px solid var(--ag-line);
    }

    .ag-profile-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ag-athletes-card {
        grid-column: 1 / -1;
    }

    .ag-results-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ag-result-calendar {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .ag-container {
        width: min(100% - 30px, 760px);
    }

    .ag-topbar__links {
        display: none;
    }

    .ag-topbar__inner {
        justify-content: flex-end;
    }

    .ag-navbar__inner {
        min-height: 70px;
    }

    .ag-brand__mark {
        width: 43px;
        height: 43px;
    }

    .ag-brand__text strong {
        font-size: 17px;
    }

    .ag-menu-toggle {
        display: flex;
        width: 42px;
        height: 42px;
        margin-left: auto;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        border: 0;
        background: transparent;
    }

    .ag-menu-toggle > span:not(.screen-reader-text) {
        width: 23px;
        height: 2px;
        background: var(--ag-navy);
    }

    .ag-primary-nav {
        position: absolute;
        top: 98px;
        right: 0;
        left: 0;
        display: none;
        padding: 13px 15px 20px;
        border-top: 1px solid var(--ag-line);
        background: #fff;
        box-shadow: var(--ag-shadow);
    }

    .ag-primary-nav.is-open {
        display: block;
    }

    .ag-menu {
        flex-direction: column;
    }

    .ag-menu > li > a {
        min-height: 46px;
        padding: 0 8px;
        border-bottom: 1px solid var(--ag-line);
        font-size: 10px;
    }

    .ag-search-button {
        margin-left: 0;
    }

    .ag-hero__inner {
        grid-template-columns: 1fr;
    }

    .ag-hero__copy {
        padding: 58px 0 12px;
    }

    .ag-hero__visual {
        min-height: 330px;
    }

    .ag-hero__flag {
        width: 450px;
        height: 260px;
        right: 0;
    }

    .ag-athlete--one {
        left: 8%;
    }

    .ag-athlete--two {
        left: 32%;
    }

    .ag-athlete--three {
        right: 12%;
    }

    .ag-athlete--four {
        right: -2%;
    }

    .ag-profile-grid,
    .ag-media-grid,
    .ag-fan-grid,
    .ag-about-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ag-athletes-card {
        grid-column: auto;
    }

    .ag-athlete-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ag-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .ag-container {
        width: min(100% - 24px, 520px);
    }

    .ag-topbar__right {
        width: 100%;
        justify-content: space-between;
    }

    .ag-brand__text small {
        font-size: 8px;
    }

    .ag-brand__text strong {
        font-size: 15px;
    }

    .ag-brand__text em {
        font-size: 7px;
    }

    .ag-search-button {
        display: none;
    }

    .ag-hero {
        min-height: auto;
    }

    .ag-hero__inner {
        min-height: auto;
    }

    .ag-hero h1 {
        font-size: 40px;
    }

    .ag-countdown {
        width: 100%;
    }

    .ag-hero__visual {
        min-height: 285px;
    }

    .ag-athlete--one {
        width: 90px;
        height: 190px;
        left: 2%;
    }

    .ag-athlete--two {
        width: 120px;
        height: 250px;
        left: 26%;
    }

    .ag-athlete--three {
        width: 90px;
        height: 205px;
        right: 14%;
    }

    .ag-athlete--four {
        width: 75px;
        height: 165px;
        right: -2%;
    }

    .ag-hero__visual-note {
        display: none;
    }

    .ag-dashboard__grid,
    .ag-profile-grid,
    .ag-results-grid,
    .ag-media-grid,
    .ag-fan-grid,
    .ag-about-grid,
    .ag-footer__grid {
        grid-template-columns: 1fr;
    }

    .ag-panel {
        border-left: 1px solid var(--ag-line);
    }

    .ag-section {
        padding: 38px 0;
    }

    .ag-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .ag-cdm-card {
        grid-template-columns: 105px 1fr;
    }

    .ag-sports-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ag-result-calendar {
        grid-column: auto;
    }

    .ag-result-cards {
        grid-template-columns: 1fr;
    }

    .ag-footer__bottom-inner {
        align-items: center;
        flex-direction: column;
        text-align: center;
    }
}

.ag-featured-news__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Berita terbaru polish */

.ag-panel--news .ag-featured-news {
    grid-template-columns: 118px 1fr;
    align-items: start;
    gap: 14px;
}

.ag-panel--news .ag-featured-news__image {
    width: 118px;
    height: 82px;
}

.ag-panel--news .ag-featured-news h3 {
    margin: 2px 0 8px;
    font-size: 12px;
    line-height: 1.35;
}

.ag-panel--news .ag-featured-news time {
    font-size: 8px;
}

.ag-panel--news .ag-news-list {
    margin-top: 15px;
    padding-top: 11px;
}

.ag-panel--news .ag-news-list li {
    margin-bottom: 5px;
}

.ag-panel--news .ag-news-list a {
    font-size: 9px;
    line-height: 1.45;
}

@media (max-width: 640px) {
    .ag-panel--news .ag-featured-news {
        grid-template-columns: 105px 1fr;
    }

    .ag-panel--news .ag-featured-news__image {
        width: 105px;
        height: 74px;
    }
}

/* Berita terbaru final sizing */
.ag-panel--news .ag-featured-news {
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
}

.ag-panel--news .ag-featured-news__image {
    width: 145px !important;
    height: 100px !important;
    min-width: 145px;
    overflow: hidden;
    border-radius: 5px;
}

.ag-panel--news .ag-featured-news__image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

.ag-panel--news .ag-featured-news h3 {
    margin: 2px 0 10px;
    font-size: 14px;
    line-height: 1.32;
}

.ag-panel--news .ag-featured-news time {
    font-size: 9px;
}

.ag-panel--news .ag-news-list {
    margin-top: 18px;
    padding-top: 13px;
}

.ag-panel--news .ag-news-list li {
    margin-bottom: 7px;
    padding-left: 3px;
}

.ag-panel--news .ag-news-list a {
    font-size: 10px;
    line-height: 1.45;
}

@media (max-width: 640px) {
    .ag-panel--news .ag-featured-news {
        grid-template-columns: 125px minmax(0, 1fr);
        gap: 12px;
    }

    .ag-panel--news .ag-featured-news__image {
        width: 125px !important;
        height: 88px !important;
        min-width: 125px;
    }

    .ag-panel--news .ag-featured-news h3 {
        font-size: 12px;
    }
}

/* Berita terbaru balance final */
.ag-panel--news .ag-featured-news {
    grid-template-columns: 145px minmax(0, 1fr);
    gap: 15px;
}

.ag-panel--news .ag-featured-news h3 {
    margin: 2px 0 9px;
    font-size: 13px;
    line-height: 1.3;
}

.ag-panel--news .ag-featured-news time {
    font-size: 8px;
}

.ag-panel--news .ag-news-list {
    margin-top: 16px;
    padding-top: 12px;
}

.ag-panel--news .ag-news-list a {
    font-size: 9px;
    line-height: 1.42;
}

/* =====================================================
   Homepage V1.2 — Athlete Highlight & Profile Row
   ===================================================== */

/* Athlete Highlights */

.ag-panel--highlight {
    display: flex;
    min-height: 288px;
    flex-direction: column;
}

.ag-panel--highlight .ag-panel__heading {
    flex: 0 0 auto;
}

.ag-panel--highlight .ag-highlight-card {
    flex: 1;
    border-radius: 4px;
}

.ag-panel--highlight .ag-highlight-card__image {
    position: relative;
    height: 178px;
    overflow: hidden;
    border-radius: 4px;
    background:
        radial-gradient(
            circle at 30% 30%,
            rgba(215, 25, 32, 0.8),
            transparent 34%
        ),
        linear-gradient(
            125deg,
            #071a38 0%,
            #162c50 52%,
            #460b12 100%
        );
}

.ag-highlight-card__category {
    position: absolute;
    z-index: 5;
    top: 10px;
    left: 10px;
    padding: 4px 8px;
    border-radius: 20px;
    background: var(--ag-red);
    color: #ffffff;
    font-size: 7px;
    font-weight: 900;
    text-transform: uppercase;
}

.ag-highlight-card__person {
    position: absolute;
    width: 105px;
    height: 165px;
    left: 16px;
    bottom: -14px;
    overflow: hidden;
    border-radius: 50px 50px 10px 10px;
    background:
        radial-gradient(
            circle at 50% 20%,
            #e8b99c 0 12%,
            transparent 13%
        ),
        linear-gradient(
            145deg,
            transparent 0 28%,
            #d71920 29% 70%,
            #ffffff 71%
        );
    transform: rotate(-3deg);
}

.ag-highlight-card__person span {
    position: absolute;
    right: 0;
    bottom: 20px;
    left: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 7px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
}

.ag-panel--highlight .ag-play {
    z-index: 7;
    width: 45px;
    height: 45px;
    right: 24px;
    top: 52%;
    font-size: 13px;
}

.ag-video-duration {
    position: absolute;
    z-index: 7;
    right: 8px;
    bottom: 7px;
    padding: 3px 6px;
    border-radius: 3px;
    background: rgba(7, 26, 56, 0.9);
    color: #ffffff;
    font-size: 7px;
    font-weight: 800;
}

.ag-highlight-card__overlay {
    position: absolute;
    z-index: 6;
    right: 10px;
    bottom: 13px;
    width: 125px;
    color: #ffffff;
}

.ag-highlight-card__overlay strong,
.ag-highlight-card__overlay small {
    display: block;
}

.ag-highlight-card__overlay strong {
    font-size: 10px;
    line-height: 1.2;
}

.ag-highlight-card__overlay small {
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 7px;
    line-height: 1.3;
}

.ag-panel--highlight .ag-dots {
    margin-top: 9px;
}

/* Compact profile row */

.ag-profile {
    padding: 0;
    background: #ffffff;
}

.ag-profile .ag-container {
    border-right: 1px solid var(--ag-line);
    border-left: 1px solid var(--ag-line);
}

.ag-profile-grid {
    display: grid;
    grid-template-columns: 1fr 1.05fr 2.15fr;
    gap: 0;
}

.ag-profile-grid > article {
    min-width: 0;
    border: 0;
    border-right: 1px solid var(--ag-line);
    border-radius: 0;
    box-shadow: none;
}

.ag-profile-grid > article:last-child {
    border-right: 0;
}

.ag-module-heading {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 16px;
    border-bottom: 1px solid var(--ag-line);
}

.ag-module-heading h2 {
    margin: 0;
    color: var(--ag-navy);
    font-size: 11px;
    line-height: 1.2;
    text-transform: uppercase;
}

.ag-module-heading a {
    color: var(--ag-muted);
    font-size: 7px;
    white-space: nowrap;
}

.ag-cdm-card {
    display: block;
    overflow: hidden;
}

.ag-cdm-card__body {
    display: grid;
    grid-template-columns: 115px minmax(0, 1fr);
    min-height: 196px;
}

.ag-cdm-card__photo {
    min-height: 196px;
    padding: 10px;
    background:
        radial-gradient(
            circle at 50% 22%,
            #deb092 0 10%,
            transparent 11%
        ),
        linear-gradient(
            155deg,
            transparent 0 30%,
            #f4f4f4 31% 58%,
            #d71920 59% 62%,
            #ffffff 63%
        ),
        #e7ebf0;
}

.ag-cdm-card__copy {
    padding: 17px 15px 13px;
}

.ag-cdm-card__copy p {
    margin: 0 0 10px;
    color: var(--ag-text);
    font-size: 9px;
    line-height: 1.55;
}

.ag-cdm-card__copy strong {
    display: block;
    margin-bottom: 13px;
    color: var(--ag-navy);
    font-size: 8px;
    line-height: 1.4;
}

.ag-small-button {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border-radius: 3px;
    background: var(--ag-red);
    color: #ffffff;
    font-size: 7px;
    font-weight: 900;
    text-transform: uppercase;
}

.ag-profile .ag-sports-card,
.ag-profile .ag-athletes-card {
    padding: 0;
}

.ag-profile .ag-sports-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    padding: 13px;
}

.ag-profile .ag-sports-grid a {
    min-height: 75px;
    border-radius: 5px;
}

.ag-profile .ag-sports-grid span {
    font-size: 19px;
}

.ag-profile .ag-filter-tabs {
    margin: 10px 14px 9px;
}

.ag-profile .ag-athlete-grid {
    gap: 9px;
    padding: 0 14px 13px;
}

.ag-profile .ag-person-photo {
    position: relative;
    height: 108px;
    overflow: hidden;
    border-radius: 5px;
}

.ag-profile .ag-person-photo::before {
    position: absolute;
    inset: 12px 14px -15px;
    border-radius: 48px 48px 10px 10px;
    background:
        radial-gradient(
            circle at 50% 18%,
            #e8ba9c 0 12%,
            transparent 13%
        ),
        linear-gradient(
            145deg,
            transparent 0 27%,
            #d71920 28% 67%,
            #ffffff 68%
        );
    content: "";
}

.ag-person-photo--two::before {
    background:
        radial-gradient(
            circle at 50% 18%,
            #c88d69 0 12%,
            transparent 13%
        ),
        linear-gradient(
            145deg,
            transparent 0 27%,
            #071a38 28% 45%,
            #d71920 46% 72%,
            #ffffff 73%
        ) !important;
}

.ag-person-photo--three::before {
    background:
        radial-gradient(
            circle at 50% 18%,
            #d5a17f 0 12%,
            transparent 13%
        ),
        linear-gradient(
            145deg,
            transparent 0 27%,
            #d71920 28% 57%,
            #071a38 58% 75%,
            #ffffff 76%
        ) !important;
}

.ag-person-photo--four::before {
    background:
        radial-gradient(
            circle at 50% 18%,
            #e1ad8b 0 12%,
            transparent 13%
        ),
        linear-gradient(
            145deg,
            transparent 0 27%,
            #ffffff 28% 48%,
            #d71920 49% 75%,
            #071a38 76%
        ) !important;
}

.ag-profile .ag-person-photo em {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 7px;
    left: 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 6px;
    font-style: normal;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
}

.ag-profile .ag-athlete-grid strong {
    margin-top: 6px;
    font-size: 8px;
}

.ag-profile .ag-athlete-grid small {
    font-size: 7px;
}

@media (max-width: 1120px) {
    .ag-profile-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ag-profile .ag-athletes-card {
        grid-column: 1 / -1;
        border-top: 1px solid var(--ag-line);
    }
}

@media (max-width: 640px) {
    .ag-profile-grid {
        grid-template-columns: 1fr;
    }

    .ag-profile-grid > article {
        border-right: 0;
        border-bottom: 1px solid var(--ag-line);
    }

    .ag-profile .ag-athletes-card {
        grid-column: auto;
    }

    .ag-cdm-card__body {
        grid-template-columns: 105px minmax(0, 1fr);
    }

    .ag-profile .ag-athlete-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Homepage V1.2.1 profile alignment */

.ag-panel--highlight {
    min-height: 270px;
}

.ag-panel--highlight .ag-highlight-card__image {
    height: 160px;
}

.ag-profile .ag-cdm-card__body {
    min-height: 180px;
}

.ag-profile .ag-cdm-card__photo {
    min-height: 180px;
}

.ag-profile .ag-cdm-card__copy {
    padding: 15px 15px 10px;
}

.ag-profile .ag-cdm-card__copy p {
    font-size: 8px;
    line-height: 1.5;
}

.ag-profile .ag-cdm-card__copy strong {
    margin-bottom: 10px;
    font-size: 7px;
}

.ag-profile .ag-sports-grid {
    padding: 11px 16px 14px;
}

.ag-profile .ag-sports-grid a {
    min-height: 70px;
}

.ag-profile .ag-sports-grid span {
    display: block;
    font-size: 18px;
    line-height: 1;
}

.ag-profile .ag-sports-grid strong {
    font-size: 7px;
}

.ag-profile .ag-person-photo {
    height: 92px;
}

.ag-profile .ag-person-photo::before {
    inset: 8px 12px -18px;
}

.ag-profile .ag-athlete-grid strong {
    margin-top: 5px;
    font-size: 7px;
}

.ag-profile .ag-athlete-grid small {
    font-size: 6px;
}

/* =====================================================
   Homepage V1.3 — Compact Schedule & Results
   ===================================================== */

.ag-results-section {
    padding: 0;
    background: #ffffff;
}

.ag-results-section .ag-container {
    border-right: 1px solid var(--ag-line);
    border-left: 1px solid var(--ag-line);
}

.ag-results-grid {
    display: grid;
    grid-template-columns: 1.55fr 0.9fr 1.25fr;
    gap: 0;
}

.ag-results-grid > article {
    min-width: 0;
    padding: 0;
    border: 0;
    border-right: 1px solid var(--ag-line);
    border-radius: 0;
    box-shadow: none;
}

.ag-results-grid > article:last-child {
    border-right: 0;
}

.ag-result-calendar__body,
.ag-indonesia-medals__body,
.ag-ranking-card__body {
    padding: 13px 15px 14px;
}

.ag-date-tabs {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
    margin: 0 0 11px;
}

.ag-date-tabs button {
    min-height: 48px;
    padding: 5px 3px;
    border: 1px solid var(--ag-line);
    border-radius: 4px;
    background: #ffffff;
    color: var(--ag-navy);
}

.ag-date-tabs button strong,
.ag-date-tabs button span {
    display: block;
}

.ag-date-tabs button strong {
    font-size: 12px;
    line-height: 1;
}

.ag-date-tabs button span {
    margin-top: 4px;
    color: var(--ag-muted);
    font-size: 6px;
    font-weight: 800;
    text-transform: uppercase;
}

.ag-date-tabs button.is-active {
    border-color: var(--ag-red);
    background: var(--ag-red);
    color: #ffffff;
}

.ag-date-tabs button.is-active span {
    color: rgba(255, 255, 255, 0.8);
}

.ag-results-label {
    margin-bottom: 7px;
    color: var(--ag-navy);
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.ag-result-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.ag-result-cards > div {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid var(--ag-line);
    border-radius: 4px;
}

.ag-result-cards span,
.ag-result-cards strong,
.ag-result-cards small,
.ag-result-cards em {
    display: block;
}

.ag-result-cards span {
    color: var(--ag-muted);
    font-size: 6px;
}

.ag-result-cards strong {
    margin: 4px 0 2px;
    color: var(--ag-navy);
    font-size: 8px;
    line-height: 1.2;
}

.ag-result-cards small {
    overflow: hidden;
    color: var(--ag-muted);
    font-size: 6px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ag-result-cards em {
    margin-top: 7px;
    font-size: 6px;
    font-style: normal;
    font-weight: 800;
}

.ag-indonesia-medals__body {
    display: flex;
    min-height: 153px;
    flex-direction: column;
    justify-content: center;
}

.ag-medal-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}

.ag-medal-summary > div {
    padding: 4px 5px 8px;
    border-right: 1px solid var(--ag-line);
    text-align: center;
}

.ag-medal-summary > div:last-child {
    border-right: 0;
}

.ag-medal {
    width: 42px;
    height: 42px;
    margin-bottom: 6px;
    font-size: 12px;
}

.ag-medal-summary strong {
    font-size: 18px;
    line-height: 1;
}

.ag-medal-summary small {
    margin-top: 4px;
    font-size: 6px;
    font-weight: 800;
}

.ag-total-medals {
    display: flex;
    margin-top: 6px;
    padding: 5px 8px 0;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    background: transparent;
}

.ag-total-medals span,
.ag-total-medals small {
    color: var(--ag-muted);
    font-size: 6px;
    font-weight: 800;
    text-transform: uppercase;
}

.ag-total-medals strong {
    color: var(--ag-navy);
    font-size: 25px;
    line-height: 1;
}

.ag-ranking-card__body {
    padding-top: 8px;
}

.ag-mini-ranking {
    width: 100%;
    border-collapse: collapse;
    font-size: 7px;
}

.ag-mini-ranking th,
.ag-mini-ranking td {
    padding: 5px 4px;
    border-bottom: 1px solid var(--ag-line);
    text-align: center;
    white-space: nowrap;
}

.ag-mini-ranking th {
    color: var(--ag-muted);
    font-size: 6px;
    font-weight: 800;
    text-transform: uppercase;
}

.ag-mini-ranking th:nth-child(2),
.ag-mini-ranking td:nth-child(2) {
    text-align: left;
}

.ag-mini-ranking td:last-child {
    font-weight: 900;
    text-align: center;
}

.ag-mini-ranking .is-indonesia {
    background: transparent;
    color: var(--ag-red);
    font-weight: 900;
}

@media (max-width: 1120px) {
    .ag-results-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ag-result-calendar {
        grid-column: 1 / -1;
        border-bottom: 1px solid var(--ag-line) !important;
    }
}

@media (max-width: 640px) {
    .ag-results-grid {
        grid-template-columns: 1fr;
    }

    .ag-results-grid > article {
        border-right: 0;
        border-bottom: 1px solid var(--ag-line);
    }

    .ag-result-calendar {
        grid-column: auto;
    }

    .ag-date-tabs {
        grid-template-columns: repeat(3, 1fr);
    }

    .ag-result-cards {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
   Homepage V1.4 — Compact Media & Fan Zone
   ===================================================== */

.ag-media-fan-section {
    padding: 0;
    background: #ffffff;
}

.ag-media-fan-section .ag-container {
    border-right: 1px solid var(--ag-line);
    border-left: 1px solid var(--ag-line);
}

.ag-media-fan-grid {
    display: grid;
    grid-template-columns: 1.7fr 1fr;
}

.ag-media-compact {
    min-width: 0;
    border-right: 1px solid var(--ag-line);
}

.ag-fan-compact {
    min-width: 0;
}

.ag-media-compact__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ag-media-compact__item {
    min-width: 0;
    padding: 11px 12px 13px;
    border-right: 1px solid var(--ag-line);
}

.ag-media-compact__item:last-child {
    border-right: 0;
}

.ag-media-compact__title {
    display: flex;
    min-height: 22px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.ag-media-compact__title > strong {
    color: var(--ag-navy);
    font-size: 7px;
    text-transform: uppercase;
}

.ag-media-compact__title > a {
    color: var(--ag-muted);
    font-size: 6px;
}

.ag-media-news-card {
    display: grid;
    grid-template-columns: 57px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.ag-media-thumb {
    position: relative;
    display: grid;
    width: 57px;
    height: 55px;
    overflow: hidden;
    place-items: center;
    border-radius: 4px;
    background:
        radial-gradient(
            circle at 34% 30%,
            rgba(215, 25, 32, 0.9),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            var(--ag-navy),
            #7c1019
        );
}

.ag-media-thumb::before {
    position: absolute;
    width: 26px;
    height: 43px;
    right: 8px;
    bottom: -5px;
    border-radius: 18px 18px 4px 4px;
    background:
        radial-gradient(
            circle at 50% 17%,
            #dfaa88 0 12%,
            transparent 13%
        ),
        linear-gradient(
            145deg,
            transparent 0 25%,
            #ffffff 26% 48%,
            var(--ag-red) 49% 80%,
            var(--ag-navy) 81%
        );
    content: "";
}

.ag-media-thumb em {
    position: relative;
    z-index: 2;
    color: rgba(255, 255, 255, 0.72);
    font-size: 5px;
    font-style: normal;
    font-weight: 800;
    text-transform: uppercase;
}

.ag-media-document {
    display: grid;
    width: 48px;
    height: 55px;
    place-items: center;
    border: 1px solid #e0e4ea;
    border-radius: 4px;
    background:
        linear-gradient(
            135deg,
            transparent 0 72%,
            #d7dce4 73%
        ),
        #ffffff;
    color: var(--ag-red);
    font-size: 10px;
    font-weight: 900;
}

.ag-media-news-card__copy {
    min-width: 0;
}

.ag-media-news-card__copy strong,
.ag-media-news-card__copy small {
    display: block;
}

.ag-media-news-card__copy strong {
    color: var(--ag-text);
    font-size: 7px;
    line-height: 1.35;
}

.ag-media-news-card__copy small {
    margin-top: 5px;
    color: var(--ag-muted);
    font-size: 6px;
}

.ag-mini-gallery {
    display: grid;
    height: 58px;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
}

.ag-mini-gallery span {
    display: grid;
    overflow: hidden;
    place-items: center;
    border-radius: 3px;
    background:
        linear-gradient(
            145deg,
            var(--ag-red),
            var(--ag-navy)
        );
    color: rgba(255, 255, 255, 0.78);
    font-size: 5px;
    font-weight: 800;
    text-transform: uppercase;
}

.ag-mini-gallery span:nth-child(2),
.ag-mini-gallery span:nth-child(3) {
    background:
        linear-gradient(
            145deg,
            var(--ag-navy),
            #485a74
        );
}

.ag-mini-video {
    position: relative;
    display: flex;
    height: 58px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 4px;
    background:
        radial-gradient(
            circle at 28% 35%,
            rgba(215, 25, 32, 0.75),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            var(--ag-navy),
            #35090f
        );
}

.ag-mini-video__play {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border: 1px solid #ffffff;
    border-radius: 50%;
    color: #ffffff;
    font-size: 9px;
}

.ag-mini-video small {
    position: absolute;
    right: 6px;
    bottom: 5px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 5px;
}

/* Compact Fan Zone */

.ag-fan-compact__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ag-fan-compact__item {
    display: flex;
    min-width: 0;
    min-height: 103px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 9px 5px 8px;
    border-right: 1px solid var(--ag-line);
    text-align: center;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.ag-fan-compact__item:last-child {
    border-right: 0;
}

.ag-fan-compact__item:hover {
    background: var(--ag-light);
}

.ag-fan-compact__icon {
    display: grid;
    width: 38px;
    height: 38px;
    margin-bottom: 6px;
    place-items: center;
    border-radius: 50%;
    background: var(--ag-light);
    color: var(--ag-navy);
    font-size: 18px;
    font-weight: 900;
}

.ag-fan-compact__icon--facebook {
    background: #1877f2;
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 23px;
}

.ag-fan-compact__icon--x {
    background: #050505;
    color: #ffffff;
}

.ag-fan-compact__icon--instagram {
    background:
        linear-gradient(
            135deg,
            #5c3edb,
            #d62878,
            #f1a12b
        );
    color: #ffffff;
}

.ag-fan-compact__item strong,
.ag-fan-compact__item small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ag-fan-compact__item strong {
    color: var(--ag-navy);
    font-size: 7px;
    text-transform: uppercase;
}

.ag-fan-compact__item small {
    margin-top: 2px;
    color: var(--ag-muted);
    font-size: 5px;
}

.ag-fan-compact__item em {
    margin-top: 6px;
    padding: 4px 7px;
    border-radius: 3px;
    background: var(--ag-red);
    color: #ffffff;
    font-size: 5px;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

@media (max-width: 1120px) {
    .ag-media-fan-grid {
        grid-template-columns: 1fr;
    }

    .ag-media-compact {
        border-right: 0;
        border-bottom: 1px solid var(--ag-line);
    }
}

@media (max-width: 760px) {
    .ag-media-compact__grid,
    .ag-fan-compact__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ag-media-compact__item:nth-child(2),
    .ag-fan-compact__item:nth-child(2) {
        border-right: 0;
    }

    .ag-media-compact__item:nth-child(-n+2),
    .ag-fan-compact__item:nth-child(-n+2) {
        border-bottom: 1px solid var(--ag-line);
    }
}

@media (max-width: 480px) {
    .ag-media-compact__grid,
    .ag-fan-compact__grid {
        grid-template-columns: 1fr;
    }

    .ag-media-compact__item,
    .ag-fan-compact__item {
        border-right: 0;
        border-bottom: 1px solid var(--ag-line);
    }

    .ag-media-compact__item:last-child,
    .ag-fan-compact__item:last-child {
        border-bottom: 0;
    }
}

/* =====================================================
   Homepage V1.5 — About Compact & Footer
   ===================================================== */

.ag-about-compact {
    padding: 0;
    background: #ffffff;
}

.ag-about-compact .ag-container {
    border-right: 1px solid var(--ag-line);
    border-left: 1px solid var(--ag-line);
}

.ag-about-compact__heading {
    border-top: 1px solid var(--ag-line);
}

.ag-about-compact__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--ag-line);
}

.ag-about-compact__item {
    display: grid;
    min-width: 0;
    min-height: 102px;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    padding: 12px 16px;
    border-right: 1px solid var(--ag-line);
    background: #ffffff;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.ag-about-compact__item:last-child {
    border-right: 0;
}

.ag-about-compact__item:hover {
    background: var(--ag-light);
}

.ag-about-compact__visual {
    position: relative;
    display: grid;
    width: 112px;
    height: 72px;
    overflow: hidden;
    place-items: center;
    border-radius: 4px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
}

.ag-about-compact__visual--info {
    background:
        radial-gradient(
            circle at 30% 30%,
            rgba(215, 25, 32, 0.9),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            var(--ag-navy),
            #173c72
        );
}

.ag-about-compact__visual--venue {
    background:
        linear-gradient(
            rgba(7, 26, 56, 0.38),
            rgba(7, 26, 56, 0.38)
        ),
        linear-gradient(
            160deg,
            #7db2c8,
            #d9edf3 48%,
            #6f9a67 49% 70%,
            #44576f 71%
        );
}

.ag-about-compact__visual--venue::after {
    position: absolute;
    width: 34px;
    height: 34px;
    right: 14px;
    bottom: 9px;
    border: 4px solid #ffffff;
    border-radius: 50% 50% 50% 0;
    background: var(--ag-red);
    content: "";
    transform: rotate(-45deg);
}

.ag-about-compact__visual--venue em {
    position: relative;
    z-index: 2;
    font-size: 9px;
    font-style: normal;
    text-transform: uppercase;
}

.ag-about-compact__visual--mascot {
    background:
        radial-gradient(
            circle at 50% 35%,
            var(--ag-gold-light) 0 18%,
            transparent 19%
        ),
        linear-gradient(
            145deg,
            #fff4d4,
            #f2d8a5
        );
    color: var(--ag-red);
    font-size: 28px;
}

.ag-about-compact__copy {
    min-width: 0;
}

.ag-about-compact__copy small,
.ag-about-compact__copy strong {
    display: block;
}

.ag-about-compact__copy small {
    color: var(--ag-red);
    font-size: 6px;
    font-weight: 900;
    text-transform: uppercase;
}

.ag-about-compact__copy strong {
    margin-top: 4px;
    color: var(--ag-navy);
    font-size: 9px;
    line-height: 1.3;
}

.ag-about-compact__copy p {
    margin: 4px 0 0;
    color: var(--ag-muted);
    font-size: 7px;
    line-height: 1.4;
}

/* Footer compact */

.ag-footer {
    color: #ffffff;
    background: var(--ag-navy);
}

.ag-footer__main {
    padding: 26px 0 23px;
}

.ag-footer__grid {
    display: grid;
    grid-template-columns: 1.45fr 1fr 0.9fr 1fr 1.05fr;
    align-items: start;
    gap: 27px;
}

.ag-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.ag-footer-logo__mark {
    display: grid;
    width: 43px;
    height: 43px;
    flex: 0 0 auto;
    place-items: center;
    border: 2px solid var(--ag-gold);
    border-radius: 50%;
    background: var(--ag-red);
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
}

.ag-footer-logo__copy {
    display: flex;
    flex-direction: column;
    text-transform: uppercase;
}

.ag-footer-logo__copy small {
    color: #ffffff;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.ag-footer-logo__copy strong {
    color: #ffffff;
    font-family: Georgia, serif;
    font-size: 16px;
    line-height: 1;
}

.ag-footer-logo__copy em {
    margin-top: 3px;
    color: var(--ag-gold-light);
    font-size: 7px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 0.8px;
}

.ag-footer__brand p,
.ag-footer__column p,
.ag-footer__column li,
.ag-footer__column a {
    color: rgba(255, 255, 255, 0.64);
    font-size: 7px;
    line-height: 1.65;
}

.ag-footer__brand p {
    max-width: 225px;
    margin: 10px 0 0;
}

.ag-footer__column h3 {
    margin: 0 0 9px;
    color: #ffffff;
    font-size: 8px;
    text-transform: uppercase;
}

.ag-footer__column p {
    margin: 0 0 4px;
}

.ag-footer__column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-footer__column li {
    margin-bottom: 2px;
}

.ag-footer-social {
    display: flex;
    gap: 6px;
    margin-bottom: 9px;
}

.ag-footer-social a {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 50%;
    color: #ffffff;
    font-size: 9px;
    font-weight: 900;
}

.ag-footer-hashtag {
    color: rgba(255, 255, 255, 0.78);
    font-size: 7px;
}

.ag-footer__support {
    display: flex;
    min-height: 70px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border-left: 1px solid rgba(255, 255, 255, 0.13);
    text-align: center;
}

.ag-footer__support span {
    color: rgba(255, 255, 255, 0.55);
    font-size: 6px;
    text-transform: uppercase;
}

.ag-footer__support strong {
    display: block;
    margin-top: 5px;
    color: #ffffff;
    font-size: 8px;
    line-height: 1.35;
}

.ag-footer__bottom {
    padding: 10px 0;
    background: var(--ag-red);
}

.ag-footer__bottom-inner {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 6px;
}

@media (max-width: 1000px) {
    .ag-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ag-footer__support {
        align-items: flex-start;
        border-left: 0;
        text-align: left;
    }
}

@media (max-width: 760px) {
    .ag-about-compact__grid {
        grid-template-columns: 1fr;
    }

    .ag-about-compact__item {
        border-right: 0;
        border-bottom: 1px solid var(--ag-line);
    }

    .ag-about-compact__item:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 560px) {
    .ag-about-compact__item {
        grid-template-columns: 90px minmax(0, 1fr);
    }

    .ag-about-compact__visual {
        width: 90px;
        height: 66px;
    }

    .ag-footer__grid {
        grid-template-columns: 1fr;
    }

    .ag-footer__bottom-inner {
        align-items: center;
        flex-direction: column;
        text-align: center;
    }
}

/* Footer visual enlargement v1.5.1 */

.ag-footer__main {
    min-height: 205px;
    padding: 38px 0 34px;
}

.ag-footer__grid {
    grid-template-columns: 1.45fr 1fr .9fr 1fr 1.1fr;
    align-items: center;
    gap: 42px;
}

.ag-footer-logo__mark {
    width: 58px;
    height: 58px;
    border-width: 3px;
    font-size: 17px;
}

.ag-footer-logo__copy small {
    font-size: 9px;
    letter-spacing: 2px;
}

.ag-footer-logo__copy strong {
    font-size: 23px;
}

.ag-footer-logo__copy em {
    margin-top: 5px;
    font-size: 9px;
}

.ag-footer__brand p {
    max-width: 290px;
    margin-top: 15px;
    font-size: 9px;
    line-height: 1.65;
}

.ag-footer__column h3 {
    margin-bottom: 13px;
    font-size: 10px;
}

.ag-footer__column p,
.ag-footer__column li,
.ag-footer__column a {
    font-size: 8px;
    line-height: 1.75;
}

.ag-footer__column li {
    margin-bottom: 3px;
}

.ag-footer-social {
    gap: 9px;
    margin-bottom: 14px;
}

.ag-footer-social a {
    width: 34px;
    height: 34px;
    font-size: 12px;
}

.ag-footer-hashtag {
    font-size: 8px;
}

.ag-footer__support {
    min-height: 105px;
    padding: 16px 20px;
}

.ag-footer__support span {
    font-size: 8px;
}

.ag-footer__support strong {
    margin-top: 8px;
    font-size: 10px;
    line-height: 1.45;
}

.ag-footer__bottom {
    min-height: 38px;
    padding: 12px 0;
}

.ag-footer__bottom-inner {
    font-size: 8px;
}

@media (max-width: 1000px) {
    .ag-footer__main {
        min-height: auto;
    }

    .ag-footer__grid {
        align-items: start;
        gap: 30px;
    }
}

@media (max-width: 560px) {
    .ag-footer__main {
        padding: 34px 0 30px;
    }

    .ag-footer-logo__mark {
        width: 52px;
        height: 52px;
    }

    .ag-footer-logo__copy strong {
        font-size: 20px;
    }
}

/* Footer typography enlargement v1.5.2 */

.ag-footer-logo__copy small {
    font-size: 11px;
    letter-spacing: 2.2px;
}

.ag-footer-logo__copy strong {
    font-size: 28px;
    line-height: 1.05;
}

.ag-footer-logo__copy em {
    margin-top: 6px;
    font-size: 11px;
}

.ag-footer__brand p {
    max-width: 330px;
    font-size: 11px;
    line-height: 1.65;
}

.ag-footer__column h3 {
    margin-bottom: 15px;
    font-size: 13px;
}

.ag-footer__column p,
.ag-footer__column li,
.ag-footer__column a {
    font-size: 10px;
    line-height: 1.8;
}

.ag-footer__column li {
    margin-bottom: 4px;
}

.ag-footer-social a {
    width: 38px;
    height: 38px;
    font-size: 14px;
}

.ag-footer-hashtag {
    font-size: 10px;
}

.ag-footer__support span {
    font-size: 9px;
}

.ag-footer__support strong {
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.45;
}

.ag-footer__bottom-inner {
    font-size: 10px;
}

@media (max-width: 1000px) {
    .ag-footer-logo__copy strong {
        font-size: 24px;
    }

    .ag-footer__column h3 {
        font-size: 12px;
    }

    .ag-footer__column p,
    .ag-footer__column li,
    .ag-footer__column a {
        font-size: 10px;
    }
}

@media (max-width: 560px) {
    .ag-footer-logo__copy strong {
        font-size: 22px;
    }

    .ag-footer__brand p {
        font-size: 10px;
    }

    .ag-footer__bottom-inner {
        font-size: 9px;
    }
}

/* =====================================================
   Homepage V1.6 — Hero Final
   ===================================================== */

.ag-hero--final {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    background:
        linear-gradient(
            102deg,
            #06152f 0%,
            #0a2348 46%,
            #391017 76%,
            #660d16 100%
        );
}

.ag-hero--final .ag-hero__background {
    position: absolute;
    inset: 0;
    opacity: 0.2;
    background:
        radial-gradient(
            circle at 65% 15%,
            rgba(255, 255, 255, 0.2),
            transparent 23%
        ),
        repeating-linear-gradient(
            115deg,
            transparent 0 27px,
            rgba(255, 255, 255, 0.025) 28px 29px
        );
}

.ag-hero__red-glow {
    position: absolute;
    width: 720px;
    height: 520px;
    top: -180px;
    right: 4%;
    border-radius: 50%;
    background: rgba(215, 25, 32, 0.24);
    filter: blur(38px);
}

.ag-hero__gold-pattern {
    position: absolute;
    z-index: 2;
    width: 250px;
    height: 330px;
    right: -45px;
    bottom: -45px;
    opacity: 0.8;
    background:
        radial-gradient(
            circle at 50% 100%,
            transparent 0 21px,
            rgba(210, 163, 58, 0.8) 22px 24px,
            transparent 25px 42px,
            rgba(210, 163, 58, 0.72) 43px 45px,
            transparent 46px
        );
    background-size: 84px 84px;
    transform: rotate(-18deg);
}

.ag-hero--final .ag-hero__inner {
    position: relative;
    z-index: 4;
    display: grid;
    min-height: 470px;
    grid-template-columns: 0.82fr 1.38fr;
    align-items: center;
    gap: 10px;
}

.ag-hero--final .ag-hero__copy {
    position: relative;
    z-index: 8;
    max-width: 500px;
    padding: 40px 0 34px;
}

.ag-hero__kicker {
    display: inline-block;
    margin-bottom: 9px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.ag-hero--final h1 {
    max-width: 500px;
    margin: 0;
    color: var(--ag-gold-light);
    font-size: clamp(43px, 4.3vw, 67px);
    line-height: 0.92;
    letter-spacing: -2px;
    text-shadow: 0 9px 25px rgba(0, 0, 0, 0.28);
    text-transform: uppercase;
}

.ag-hero--final h1 > span {
    display: block;
    margin-bottom: 8px;
    color: #ffffff;
    font-size: 0.61em;
    line-height: 1.02;
    letter-spacing: -0.8px;
}

.ag-hero__event {
    display: flex;
    flex-direction: column;
    margin-top: 14px;
    color: #ffffff;
    text-transform: uppercase;
}

.ag-hero__event strong {
    font-size: 13px;
    letter-spacing: 0.4px;
}

.ag-hero__event span {
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 10px;
}

.ag-countdown-label {
    margin: 17px 0 7px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.ag-hero--final .ag-countdown {
    width: 320px;
    max-width: 100%;
    border: 1px solid rgba(210, 163, 58, 0.68);
    border-radius: 5px;
    background: rgba(3, 15, 34, 0.62);
    box-shadow: 0 13px 28px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(7px);
}

.ag-hero--final .ag-countdown > div {
    padding: 10px 6px 8px;
}

.ag-hero--final .ag-countdown strong {
    font-size: 23px;
}

.ag-hero--final .ag-countdown span {
    font-size: 7px;
}

.ag-hero--final .ag-hero__actions {
    margin-top: 13px;
}

.ag-hero--final .ag-button {
    min-height: 34px;
    padding: 0 16px;
    font-size: 8px;
}

/* Flag */

.ag-hero--final .ag-hero__visual {
    position: relative;
    min-height: 470px;
}

.ag-hero--final .ag-hero__flag {
    position: absolute;
    width: 590px;
    height: 310px;
    top: 50%;
    right: 6px;
    border-radius: 48% 12% 46% 16%;
    opacity: 0.75;
    background:
        linear-gradient(
            to bottom,
            #df1721 0 50%,
            #ffffff 50% 100%
        );
    filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.3));
    transform: translateY(-54%) rotate(-8deg);
}

/* Athlete figures */

.ag-hero-athlete {
    position: absolute;
    z-index: 5;
    bottom: -12px;
    width: 132px;
    height: 330px;
    filter: drop-shadow(0 16px 18px rgba(0, 0, 0, 0.35));
}

.ag-hero-athlete__head {
    position: absolute;
    z-index: 3;
    width: 55px;
    height: 64px;
    top: 2px;
    left: 50%;
    border-radius: 48% 48% 44% 44%;
    background:
        radial-gradient(
            ellipse at 50% 8%,
            #111111 0 37%,
            transparent 39%
        ),
        linear-gradient(
            145deg,
            #e4ad88,
            #bc7655
        );
    transform: translateX(-50%);
}

.ag-hero-athlete__body {
    position: absolute;
    inset: 50px 0 0;
    overflow: hidden;
    border-radius: 66px 66px 14px 14px;
    background:
        linear-gradient(
            145deg,
            transparent 0 17%,
            rgba(255, 255, 255, 0.98) 18% 37%,
            var(--ag-red) 38% 74%,
            var(--ag-navy) 75%
        );
}

.ag-hero-athlete__body::after {
    position: absolute;
    width: 120%;
    height: 18px;
    top: 102px;
    left: -10%;
    background: rgba(255, 255, 255, 0.95);
    content: "";
    transform: rotate(-37deg);
}

.ag-hero-athlete small {
    position: absolute;
    z-index: 7;
    right: 0;
    bottom: 19px;
    left: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 6px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
}

.ag-hero-athlete--left {
    left: 3%;
    width: 118px;
    height: 290px;
    transform: rotate(-8deg);
}

.ag-hero-athlete--main {
    z-index: 7;
    left: 29%;
    width: 170px;
    height: 405px;
}

.ag-hero-athlete--main .ag-hero-athlete__head {
    width: 69px;
    height: 78px;
}

.ag-hero-athlete--main .ag-hero-athlete__body {
    top: 62px;
}

.ag-hero-athlete--right {
    right: 18%;
    width: 128px;
    height: 320px;
    transform: rotate(7deg);
}

.ag-hero-athlete--far-right {
    right: -3%;
    width: 105px;
    height: 275px;
    transform: rotate(10deg);
}

/* Sport circles */

.ag-hero__sport-mark {
    position: absolute;
    z-index: 3;
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border: 1px solid rgba(210, 163, 58, 0.56);
    border-radius: 50%;
    background: rgba(7, 26, 56, 0.55);
    color: #ffffff;
    font-size: 22px;
    backdrop-filter: blur(5px);
}

.ag-hero__sport-mark--one {
    top: 125px;
    left: 18%;
}

.ag-hero__sport-mark--two {
    top: 102px;
    right: 5%;
}

/* Direct transition to dashboard */

.ag-hero--final + .ag-dashboard {
    position: relative;
    z-index: 9;
    margin-top: 0;
}

@media (max-width: 1120px) {
    .ag-hero--final .ag-hero__inner {
        grid-template-columns: 0.9fr 1.1fr;
    }

    .ag-hero--final .ag-hero__flag {
        width: 500px;
    }

    .ag-hero-athlete--left {
        left: 0;
    }

    .ag-hero-athlete--main {
        left: 24%;
    }

    .ag-hero-athlete--right {
        right: 14%;
    }
}

@media (max-width: 900px) {
    .ag-hero--final .ag-hero__inner {
        min-height: auto;
        grid-template-columns: 1fr;
    }

    .ag-hero--final .ag-hero__copy {
        max-width: 610px;
        padding: 52px 0 5px;
    }

    .ag-hero--final .ag-hero__visual {
        min-height: 345px;
    }

    .ag-hero--final .ag-hero__flag {
        width: 540px;
        height: 260px;
        right: 5%;
    }

    .ag-hero-athlete--left {
        left: 7%;
        height: 230px;
    }

    .ag-hero-athlete--main {
        left: 31%;
        height: 320px;
    }

    .ag-hero-athlete--right {
        right: 18%;
        height: 250px;
    }

    .ag-hero-athlete--far-right {
        right: 1%;
        height: 215px;
    }
}

@media (max-width: 640px) {
    .ag-hero--final h1 {
        font-size: 42px;
    }

    .ag-hero--final .ag-countdown {
        width: 100%;
    }

    .ag-hero--final .ag-hero__visual {
        min-height: 285px;
    }

    .ag-hero-athlete--left {
        width: 76px;
        height: 185px;
        left: 1%;
    }

    .ag-hero-athlete--main {
        width: 103px;
        height: 255px;
        left: 25%;
    }

    .ag-hero-athlete--right {
        width: 80px;
        height: 200px;
        right: 14%;
    }

    .ag-hero-athlete--far-right {
        width: 65px;
        height: 170px;
        right: -1%;
    }

    .ag-hero__sport-mark {
        display: none;
    }
}

/* Hero image final v1.7 */

.ag-hero--final .ag-hero__visual {
    position: absolute;
    z-index: 3;
    inset: 0;
    min-height: 0;
    pointer-events: none;
}

.ag-hero__athletes-image {
    position: absolute;
    width: auto;
    max-width: none;
    height: 100%;
    top: 0;
    right: 0;
    object-fit: contain;
    object-position: right center;
    display: block;
}

.ag-hero--final .ag-hero__copy {
    position: relative;
    z-index: 10;
}

.ag-hero--final .ag-hero__inner {
    position: relative;
    z-index: 5;
    display: block;
}

.ag-hero--final .ag-hero__copy {
    width: 43%;
    max-width: 520px;
}

/* Sembunyikan ilustrasi CSS lama jika masih ada */
.ag-hero-athlete,
.ag-hero__flag,
.ag-hero__sport-mark {
    display: none !important;
}

@media (max-width: 1120px) {
    .ag-hero__athletes-image {
        height: 94%;
        top: 6%;
        right: -8%;
    }

    .ag-hero--final .ag-hero__copy {
        width: 48%;
    }
}

@media (max-width: 900px) {
    .ag-hero--final {
        padding-bottom: 300px;
    }

    .ag-hero--final .ag-hero__copy {
        width: 100%;
        max-width: 610px;
    }

    .ag-hero__athletes-image {
        width: auto;
        height: 315px;
        top: auto;
        right: 50%;
        bottom: 0;
        transform: translateX(50%);
    }
}

@media (max-width: 640px) {
    .ag-hero--final {
        padding-bottom: 230px;
    }

    .ag-hero__athletes-image {
        height: 235px;
        right: 44%;
    }
}

.ag-hero--final .ag-hero__gold-pattern {
    display: none;
}

/* Hero image full-width fix v1.7.1 */

.ag-hero--final .ag-hero__visual {
    position: absolute;
    inset: 0;
    z-index: 3;
    overflow: hidden;
}

.ag-hero__athletes-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
    transform: none !important;
}

/* Lapisan gelap kiri agar teks tetap terbaca */
.ag-hero--final::after {
    position: absolute;
    z-index: 4;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(5, 21, 46, 0.98) 0%,
            rgba(5, 21, 46, 0.94) 18%,
            rgba(5, 21, 46, 0.68) 34%,
            rgba(5, 21, 46, 0.18) 53%,
            rgba(5, 21, 46, 0) 68%
        );
    content: "";
    pointer-events: none;
}

.ag-hero--final .ag-hero__inner {
    position: relative;
    z-index: 6;
}

.ag-hero--final .ag-hero__copy {
    position: relative;
    z-index: 7;
}

/* Hilangkan warna merah sisa dari background hero */
.ag-hero--final {
    background: #06152f;
}

@media (max-width: 1120px) {
    .ag-hero__athletes-image {
        object-position: 58% center;
    }
}

@media (max-width: 900px) {
    .ag-hero--final {
        padding-bottom: 0;
        min-height: 680px;
    }

    .ag-hero__athletes-image {
        inset: auto 0 0;
        width: 100% !important;
        height: 360px !important;
        object-position: center bottom;
    }

    .ag-hero--final::after {
        background:
            linear-gradient(
                180deg,
                rgba(5, 21, 46, 0.99) 0%,
                rgba(5, 21, 46, 0.95) 48%,
                rgba(5, 21, 46, 0.18) 72%,
                rgba(5, 21, 46, 0) 100%
            );
    }
}

@media (max-width: 640px) {
    .ag-hero--final {
        min-height: 625px;
    }

    .ag-hero__athletes-image {
        height: 285px !important;
    }
}

/* Hero viewport full-width final fix v1.7.2 */

.ag-hero--final .ag-hero__visual {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: 50%;
    right: auto;
    width: 100vw;
    overflow: hidden;
    transform: translateX(-50%);
}

.ag-hero__athletes-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
}

/* Overlay juga harus menutup viewport penuh */
.ag-hero--final::after {
    width: 100%;
}

/* Desktop lebar: geser fokus gambar sedikit ke kanan */
@media (min-width: 1280px) {
    .ag-hero__athletes-image {
        object-position: 53% center;
    }
}

@media (max-width: 900px) {
    .ag-hero--final .ag-hero__visual {
        top: auto;
        bottom: 0;
        height: 360px;
    }

    .ag-hero__athletes-image {
        object-position: center bottom;
    }
}

@media (max-width: 640px) {
    .ag-hero--final .ag-hero__visual {
        height: 285px;
    }
}

/* =====================================================
   Hero V1.7.3 — Match Mockup Proportion
   ===================================================== */

.ag-hero--final {
    min-height: 440px;
    height: 440px;
    background: #06152f;
}

/* Layer gambar hanya di sisi kanan */
.ag-hero--final .ag-hero__visual {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: 74vw;
    height: 440px;
    overflow: hidden;
    transform: none;
}

.ag-hero__athletes-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover;
    object-position: 54% center;
    transform: none !important;
}

/* Gradient agar gambar menyatu dengan area teks */
.ag-hero--final::after {
    position: absolute;
    z-index: 4;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            #06152f 0%,
            rgba(6, 21, 47, 0.98) 20%,
            rgba(6, 21, 47, 0.84) 31%,
            rgba(6, 21, 47, 0.38) 43%,
            rgba(6, 21, 47, 0.04) 56%,
            transparent 66%
        );
    content: "";
    pointer-events: none;
}

.ag-hero--final .ag-hero__inner {
    min-height: 440px;
    height: 440px;
}

.ag-hero--final .ag-hero__copy {
    width: 39%;
    max-width: 485px;
    padding: 30px 0 24px;
}

/* Kicker tambahan disembunyikan agar sama dengan mockup */
.ag-hero--final .ag-hero__kicker {
    display: none;
}

.ag-hero--final h1 {
    max-width: 470px;
    font-size: 53px;
    line-height: 0.96;
    letter-spacing: -1.3px;
}

.ag-hero--final h1 > span {
    margin-bottom: 7px;
    font-size: 0.62em;
    line-height: 1.08;
    letter-spacing: -0.4px;
}

.ag-hero__event {
    margin-top: 11px;
}

.ag-hero__event strong {
    font-size: 12px;
}

.ag-hero__event span {
    margin-top: 2px;
    font-size: 9px;
}

.ag-countdown-label {
    margin: 13px 0 6px;
    font-size: 7px;
}

.ag-hero--final .ag-countdown {
    width: 315px;
}

.ag-hero--final .ag-countdown > div {
    padding: 8px 5px 7px;
}

.ag-hero--final .ag-countdown strong {
    font-size: 21px;
}

.ag-hero--final .ag-countdown span {
    margin-top: 4px;
    font-size: 6px;
}

.ag-hero--final .ag-hero__actions {
    margin-top: 10px;
}

.ag-hero--final .ag-button {
    min-height: 32px;
    padding: 0 15px;
    font-size: 8px;
}

/* Hilangkan elemen dekorasi lama */
.ag-hero__red-glow,
.ag-hero__gold-pattern,
.ag-hero--final .ag-hero__background {
    display: none;
}

@media (min-width: 1500px) {
    .ag-hero--final .ag-hero__visual {
        width: 72vw;
    }

    .ag-hero__athletes-image {
        object-position: 52% center;
    }
}

@media (max-width: 1120px) {
    .ag-hero--final,
    .ag-hero--final .ag-hero__inner {
        min-height: 430px;
        height: 430px;
    }

    .ag-hero--final .ag-hero__visual {
        width: 71vw;
        height: 430px;
    }

    .ag-hero--final h1 {
        font-size: 46px;
    }

    .ag-hero--final .ag-hero__copy {
        width: 43%;
    }
}

@media (max-width: 900px) {
    .ag-hero--final {
        height: auto;
        min-height: 690px;
        padding-bottom: 290px;
    }

    .ag-hero--final .ag-hero__inner {
        height: auto;
        min-height: 400px;
    }

    .ag-hero--final .ag-hero__copy {
        width: 100%;
        max-width: 600px;
        padding-top: 45px;
    }

    .ag-hero--final .ag-hero__visual {
        width: 100vw;
        height: 310px;
        top: auto;
        right: 50%;
        bottom: 0;
        transform: translateX(50%);
    }

    .ag-hero__athletes-image {
        object-position: center bottom;
    }

    .ag-hero--final::after {
        background:
            linear-gradient(
                180deg,
                #06152f 0%,
                rgba(6, 21, 47, 0.96) 50%,
                rgba(6, 21, 47, 0.2) 74%,
                transparent 100%
            );
    }
}

@media (max-width: 640px) {
    .ag-hero--final {
        min-height: 630px;
        padding-bottom: 235px;
    }

    .ag-hero--final h1 {
        font-size: 39px;
    }

    .ag-hero--final .ag-hero__visual {
        height: 250px;
    }
}

/* Hero mockup alignment final v1.7.4 */

.ag-hero--final {
    height: 440px;
    min-height: 440px;
}

/* Hero memakai ruang layar lebih lebar daripada section biasa */
.ag-hero--final .ag-hero__inner {
    width: calc(100% - 96px);
    max-width: 1740px;
    height: 440px;
    min-height: 440px;
    margin-inline: auto;
}

/* Layer gambar memenuhi seluruh viewport */
.ag-hero--final .ag-hero__visual {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 440px;
    overflow: hidden;
    transform: none;
}

/*
 * Pertahankan skala atlet seperti sekarang,
 * tetapi tempelkan sisi kanan gambar ke ujung browser.
 */
.ag-hero__athletes-image {
    position: absolute;
    width: auto !important;
    max-width: none !important;
    height: 154% !important;
    top: 50%;
    right: 0;
    left: auto;
    object-fit: contain;
    object-position: right center;
    transform: translateY(-50%) !important;
}

/* Area copy dibuat lebih ringkas */
.ag-hero--final .ag-hero__copy {
    width: 390px;
    max-width: 390px;
    padding: 30px 0 24px;
}

.ag-hero--final h1 {
    max-width: 390px;
    font-size: 49px;
    line-height: .96;
}

.ag-hero--final h1 > span {
    font-size: .61em;
    line-height: 1.08;
}

/* Gradient menyatu tanpa membuat blok navy kaku */
.ag-hero--final::after {
    position: absolute;
    z-index: 4;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(5, 20, 44, 1) 0%,
            rgba(5, 20, 44, .98) 17%,
            rgba(5, 20, 44, .88) 27%,
            rgba(5, 20, 44, .56) 37%,
            rgba(5, 20, 44, .16) 48%,
            rgba(5, 20, 44, 0) 60%
        );
    content: "";
    pointer-events: none;
}

@media (min-width: 1600px) {
    .ag-hero__athletes-image {
        height: 158% !important;
    }
}

@media (max-width: 1120px) {
    .ag-hero--final .ag-hero__inner {
        width: calc(100% - 50px);
    }

    .ag-hero--final .ag-hero__copy {
        width: 365px;
        max-width: 365px;
    }

    .ag-hero--final h1 {
        font-size: 44px;
    }

    .ag-hero__athletes-image {
        height: 145% !important;
        right: -7%;
    }
}

@media (max-width: 900px) {
    .ag-hero--final {
        height: auto;
        min-height: 690px;
    }

    .ag-hero--final .ag-hero__inner {
        width: min(100% - 30px, 760px);
        height: auto;
        min-height: 400px;
    }

    .ag-hero--final .ag-hero__copy {
        width: 100%;
        max-width: 590px;
    }

    .ag-hero--final .ag-hero__visual {
        top: auto;
        height: 310px;
    }

    .ag-hero__athletes-image {
        width: 100% !important;
        height: 100% !important;
        top: 0;
        right: 0;
        object-fit: cover;
        object-position: center bottom;
        transform: none !important;
    }
}

/* =====================================================
   Hero exact image sizing — locked source image
   ===================================================== */

.ag-hero--final {
    position: relative;
    height: 440px;
    min-height: 440px;
    overflow: hidden;
    background: #06152f;
}

/* Container teks tetap mengikuti lebar situs */
.ag-hero--final .ag-hero__inner {
    position: relative;
    z-index: 6;
    width: min(1240px, calc(100% - 40px));
    height: 440px;
    min-height: 440px;
    margin-inline: auto;
}

/* Gambar memenuhi hero, tetapi tidak di-zoom berlebihan */
.ag-hero--final .ag-hero__visual {
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 440px;
    overflow: hidden;
    transform: none;
}

.ag-hero__athletes-image {
    position: absolute;
    display: block;
    width: auto !important;
    max-width: none !important;
    height: 440px !important;
    top: 0;
    right: 0;
    left: auto;
    object-fit: contain;
    object-position: right center;
    transform: none !important;
}

/* Gradient kiri agar area tulisan tetap bersih */
.ag-hero--final::after {
    position: absolute;
    z-index: 4;
    inset: 0;
    content: "";
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            #06152f 0%,
            rgba(6, 21, 47, 0.99) 19%,
            rgba(6, 21, 47, 0.93) 29%,
            rgba(6, 21, 47, 0.68) 38%,
            rgba(6, 21, 47, 0.24) 48%,
            rgba(6, 21, 47, 0) 60%
        );
}

/* Area teks dibuat sepadat mockup */
.ag-hero--final .ag-hero__copy {
    position: relative;
    z-index: 7;
    width: 400px;
    max-width: 400px;
    padding: 28px 0 22px;
}

.ag-hero--final .ag-hero__kicker {
    display: none;
}

.ag-hero--final h1 {
    max-width: 390px;
    margin: 0;
    font-size: 46px;
    line-height: 0.98;
    letter-spacing: -1px;
}

.ag-hero--final h1 > span {
    margin-bottom: 7px;
    font-size: 0.63em;
    line-height: 1.08;
    letter-spacing: -0.3px;
}

.ag-hero__event {
    margin-top: 11px;
}

.ag-hero__event strong {
    font-size: 12px;
}

.ag-hero__event span {
    margin-top: 2px;
    font-size: 9px;
}

.ag-countdown-label {
    margin: 13px 0 6px;
    font-size: 7px;
}

.ag-hero--final .ag-countdown {
    width: 410px;
    max-width: 100%;
}

.ag-hero--final .ag-countdown > div {
    padding: 8px 6px 7px;
}

.ag-hero--final .ag-countdown strong {
    font-size: 22px;
}

.ag-hero--final .ag-countdown span {
    margin-top: 4px;
    font-size: 6px;
}

.ag-hero--final .ag-hero__actions {
    margin-top: 10px;
}

.ag-hero--final .ag-button {
    min-height: 33px;
    padding: 0 16px;
    font-size: 8px;
}

/* Matikan dekorasi CSS lama karena sudah ada di gambar */
.ag-hero__red-glow,
.ag-hero__gold-pattern,
.ag-hero--final .ag-hero__background,
.ag-hero-athlete,
.ag-hero__flag,
.ag-hero__sport-mark {
    display: none !important;
}

@media (min-width: 1500px) {
    .ag-hero__athletes-image {
        height: 440px !important;
        right: 0;
    }
}

@media (max-width: 1120px) {
    .ag-hero--final,
    .ag-hero--final .ag-hero__inner,
    .ag-hero--final .ag-hero__visual {
        height: 420px;
        min-height: 420px;
    }

    .ag-hero__athletes-image {
        height: 420px !important;
        right: -70px;
    }

    .ag-hero--final .ag-hero__copy {
        width: 370px;
        max-width: 370px;
    }

    .ag-hero--final h1 {
        font-size: 43px;
    }
}

@media (max-width: 900px) {
    .ag-hero--final {
        height: auto;
        min-height: 690px;
        padding-bottom: 300px;
    }

    .ag-hero--final .ag-hero__inner {
        width: min(100% - 30px, 760px);
        height: auto;
        min-height: 390px;
    }

    .ag-hero--final .ag-hero__copy {
        width: 100%;
        max-width: 590px;
        padding-top: 42px;
    }

    .ag-hero--final .ag-hero__visual {
        top: auto;
        bottom: 0;
        height: 310px;
        min-height: 310px;
    }

    .ag-hero__athletes-image {
        width: 100% !important;
        height: 310px !important;
        right: 0;
        object-fit: cover;
        object-position: center bottom;
    }

    .ag-hero--final::after {
        background:
            linear-gradient(
                180deg,
                #06152f 0%,
                rgba(6, 21, 47, 0.97) 48%,
                rgba(6, 21, 47, 0.24) 75%,
                transparent 100%
            );
    }
}

@media (max-width: 640px) {
    .ag-hero--final {
        min-height: 620px;
        padding-bottom: 230px;
    }

    .ag-hero--final h1 {
        font-size: 38px;
    }

    .ag-hero--final .ag-hero__visual,
    .ag-hero__athletes-image {
        height: 245px !important;
        min-height: 245px;
    }

    .ag-hero--final .ag-countdown {
        width: 100%;
    }
}

/* =====================================================
   HERO FULL STRETCH FINAL — SAME SOURCE IMAGE
   ===================================================== */

.ag-hero--final {
    position: relative;
    width: 100%;
    height: 440px;
    min-height: 440px;
    overflow: hidden;
    background: #06152f;
}

.ag-hero--final .ag-hero__visual {
    position: absolute !important;
    z-index: 2;
    top: 0 !important;
    bottom: 0 !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    height: 440px !important;
    min-height: 440px !important;
    overflow: hidden;
    transform: translateX(-50%) !important;
}

.ag-hero__athletes-image {
    position: absolute !important;
    inset: 0 !important;
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;

    /* sengaja stretch agar gambar memenuhi hero */
    object-fit: fill !important;
    object-position: center center !important;

    transform: none !important;
}

/* Gambar sudah punya area gelap kiri */
.ag-hero--final::after {
    display: none !important;
}

/* Area teks */
.ag-hero--final .ag-hero__inner {
    position: relative;
    z-index: 6;
    width: min(1240px, calc(100% - 40px));
    height: 440px;
    min-height: 440px;
    margin-inline: auto;
}

.ag-hero--final .ag-hero__copy {
    position: relative;
    z-index: 7;
    width: 420px;
    max-width: 420px;
    padding: 27px 0 20px;
}

.ag-hero--final h1 {
    max-width: 400px;
    font-size: 45px;
    line-height: .98;
}

.ag-hero--final h1 > span {
    font-size: .63em;
    line-height: 1.08;
}

.ag-hero--final .ag-countdown {
    width: 410px;
}

@media (max-width: 900px) {
    .ag-hero--final {
        height: auto;
        min-height: 690px;
        padding-bottom: 300px;
    }

    .ag-hero--final .ag-hero__inner {
        width: min(100% - 30px, 760px);
        height: auto;
        min-height: 390px;
    }

    .ag-hero--final .ag-hero__copy {
        width: 100%;
        max-width: 590px;
    }

    .ag-hero--final .ag-hero__visual {
        top: auto !important;
        bottom: 0 !important;
        height: 310px !important;
        min-height: 310px !important;
    }

    .ag-hero__athletes-image {
        object-fit: cover !important;
        object-position: center bottom !important;
    }
}

/* =====================================================
   Hero container alignment final
   Sejajar persis dengan dashboard di bawah
   ===================================================== */

.ag-hero--final {
    width: min(1240px, calc(100% - 40px));
    height: 440px;
    min-height: 440px;
    margin-inline: auto;
    overflow: hidden;
    border-right: 1px solid var(--ag-line);
    border-left: 1px solid var(--ag-line);
    background: #06152f;
}

/* Inner tidak boleh menambah margin/padding horizontal lagi */
.ag-hero--final .ag-hero__inner {
    width: 100%;
    max-width: none;
    height: 440px;
    min-height: 440px;
    margin: 0;
    padding: 0 34px;
}

/* Layer gambar mengikuti lebar hero, bukan viewport */
.ag-hero--final .ag-hero__visual {
    position: absolute !important;
    z-index: 2;
    inset: 0 !important;
    width: 100% !important;
    height: 440px !important;
    min-height: 440px !important;
    overflow: hidden;
    transform: none !important;
}

/* Gambar memenuhi area hero saja */
.ag-hero__athletes-image {
    position: absolute !important;
    inset: 0 !important;
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: fill !important;
    object-position: center center !important;
    transform: none !important;
}

/* Area teks mengikuti mockup */
.ag-hero--final .ag-hero__copy {
    width: 405px;
    max-width: 405px;
    padding: 27px 0 20px;
}

/* Dashboard menempel tepat di bawah hero */
.ag-hero--final + .ag-dashboard {
    width: 100%;
    margin-top: 0;
}

/* Pastikan container dashboard identik */
.ag-dashboard > .ag-container {
    width: min(1240px, calc(100% - 40px));
}

@media (max-width: 900px) {
    .ag-hero--final {
        width: min(100% - 30px, 760px);
        height: auto;
        min-height: 690px;
    }

    .ag-hero--final .ag-hero__inner {
        width: 100%;
        height: auto;
        min-height: 390px;
        padding-inline: 20px;
    }

    .ag-hero--final .ag-hero__visual {
        top: auto !important;
        bottom: 0 !important;
        height: 310px !important;
        min-height: 310px !important;
    }

    .ag-hero__athletes-image {
        object-fit: cover !important;
        object-position: center bottom !important;
    }
}

@media (max-width: 640px) {
    .ag-hero--final {
        width: calc(100% - 24px);
    }

    .ag-hero--final .ag-hero__inner {
        padding-inline: 16px;
    }
}

/* =====================================================
   HOMEPAGE FULL WIDTH LAYOUT
   Hero dan seluruh modul sejajar dengan footer
   ===================================================== */

/* Semua container utama homepage dibuat full width */
.ag-home > section > .ag-container,
.ag-dashboard > .ag-container,
.ag-profile > .ag-container,
.ag-results-section > .ag-container,
.ag-media-fan-section > .ag-container,
.ag-about-compact > .ag-container {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}

/* Hero full width */
.ag-hero--final {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    border-right: 0;
    border-left: 0;
}

/* Isi hero tetap memiliki ruang aman */
.ag-hero--final .ag-hero__inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-right: clamp(32px, 8vw, 176px);
    padding-left: clamp(32px, 8vw, 176px);
}

/* Gambar hero mengikuti lebar layar penuh */
.ag-hero--final .ag-hero__visual {
    width: 100% !important;
}

/* Dashboard empat kolom full width */
.ag-dashboard__grid {
    width: 100%;
}

/* Hilangkan border luar yang sebelumnya mengunci container */
.ag-profile .ag-container,
.ag-results-section .ag-container,
.ag-media-fan-section .ag-container,
.ag-about-compact .ag-container {
    border-right: 0;
    border-left: 0;
}

/* Padding isi section agar tetap rapi */
.ag-profile-grid,
.ag-results-grid,
.ag-media-fan-grid,
.ag-about-compact__grid,
.ag-about-compact__heading {
    padding-right: clamp(28px, 7vw, 150px);
    padding-left: clamp(28px, 7vw, 150px);
}

/* Dashboard mengikuti padding global */
.ag-dashboard__grid {
    padding-right: clamp(28px, 7vw, 150px);
    padding-left: clamp(28px, 7vw, 150px);
}

/* Border bagian luar tetap rapi */
.ag-dashboard__grid,
.ag-profile-grid,
.ag-results-grid,
.ag-media-fan-grid,
.ag-about-compact__grid,
.ag-about-compact__heading {
    box-sizing: border-box;
}

/* Header tetap full width, isi mengikuti ritme homepage */
.ag-navbar__inner,
.ag-topbar__inner {
    width: 100%;
    max-width: none;
    padding-right: clamp(28px, 7vw, 150px);
    padding-left: clamp(28px, 7vw, 150px);
}

/* Footer isi disamakan dengan ritme horizontal homepage */
.ag-footer__grid,
.ag-footer__bottom-inner {
    width: 100%;
    max-width: none;
    padding-right: clamp(28px, 7vw, 150px);
    padding-left: clamp(28px, 7vw, 150px);
}

@media (max-width: 1120px) {
    .ag-hero--final .ag-hero__inner,
    .ag-dashboard__grid,
    .ag-profile-grid,
    .ag-results-grid,
    .ag-media-fan-grid,
    .ag-about-compact__grid,
    .ag-about-compact__heading,
    .ag-navbar__inner,
    .ag-topbar__inner,
    .ag-footer__grid,
    .ag-footer__bottom-inner {
        padding-right: 30px;
        padding-left: 30px;
    }
}

@media (max-width: 640px) {
    .ag-hero--final .ag-hero__inner,
    .ag-dashboard__grid,
    .ag-profile-grid,
    .ag-results-grid,
    .ag-media-fan-grid,
    .ag-about-compact__grid,
    .ag-about-compact__heading,
    .ag-navbar__inner,
    .ag-topbar__inner,
    .ag-footer__grid,
    .ag-footer__bottom-inner {
        padding-right: 16px;
        padding-left: 16px;
    }
}

/* =====================================================
   Dashboard full-width + professional typography
   ===================================================== */

/* Blok dashboard tepat di bawah hero dibuat full width */
.ag-dashboard {
    width: 100%;
    margin: 0;
    background: #ffffff;
}

.ag-dashboard > .ag-container,
.ag-dashboard__grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Empat kolom mengisi seluruh lebar hero */
.ag-dashboard__grid {
    display: grid;
    grid-template-columns: 1.18fr 1fr 1fr 1.15fr;
    align-items: stretch;
}

.ag-dashboard .ag-panel {
    min-height: 330px;
    padding: 20px 22px;
    border-right: 1px solid var(--ag-line);
    border-bottom: 1px solid var(--ag-line);
    background: #ffffff;
}

.ag-dashboard .ag-panel:first-child {
    border-left: 0;
}

.ag-dashboard .ag-panel:last-child {
    border-right: 0;
}

/* Judul panel */
.ag-dashboard .ag-panel__heading {
    min-height: 28px;
    margin-bottom: 17px;
}

.ag-dashboard .ag-panel__heading h2 {
    font-size: 15px;
    line-height: 1.25;
    letter-spacing: -0.1px;
}

.ag-dashboard .ag-panel__heading a {
    font-size: 10px;
}

/* Berita terbaru */
.ag-dashboard .ag-panel--news .ag-featured-news {
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 17px;
}

.ag-dashboard .ag-panel--news .ag-featured-news__image {
    width: 150px !important;
    height: 104px !important;
    min-width: 150px;
}

.ag-dashboard .ag-panel--news .ag-featured-news h3 {
    margin: 2px 0 11px;
    font-size: 15px;
    line-height: 1.35;
}

.ag-dashboard .ag-panel--news .ag-featured-news time {
    font-size: 10px;
}

.ag-dashboard .ag-panel--news .ag-news-list {
    margin-top: 18px;
    padding-top: 14px;
    padding-left: 18px;
}

.ag-dashboard .ag-panel--news .ag-news-list li {
    margin-bottom: 8px;
}

.ag-dashboard .ag-panel--news .ag-news-list a {
    font-size: 11px;
    line-height: 1.5;
}

/* Tabel klasemen */
.ag-dashboard .ag-medal-table {
    font-size: 10px;
}

.ag-dashboard .ag-medal-table th {
    font-size: 9px;
}

.ag-dashboard .ag-medal-table th,
.ag-dashboard .ag-medal-table td {
    padding: 7px 5px;
}

.ag-dashboard .ag-panel__meta {
    margin-top: 13px;
    font-size: 9px;
}

.ag-dashboard .ag-live-label {
    padding: 4px 9px;
    font-size: 8px;
}

/* Jadwal */
.ag-dashboard .ag-schedule-item {
    grid-template-columns: 48px 31px minmax(0, 1fr);
    gap: 8px;
    padding: 12px 0;
}

.ag-dashboard .ag-schedule-item time {
    font-size: 12px;
}

.ag-dashboard .ag-sport-icon {
    font-size: 20px;
}

.ag-dashboard .ag-schedule-item strong {
    font-size: 12px;
}

.ag-dashboard .ag-schedule-item small {
    margin-top: 4px;
    font-size: 9px;
    line-height: 1.35;
}

/* Atlet Highlights */
.ag-dashboard .ag-panel--highlight {
    min-height: 330px;
}

.ag-dashboard .ag-panel--highlight .ag-highlight-card__image {
    height: 210px;
}

.ag-dashboard .ag-highlight-card__category {
    top: 12px;
    left: 12px;
    padding: 5px 10px;
    font-size: 8px;
}

.ag-dashboard .ag-highlight-card__person {
    width: 125px;
    height: 190px;
    left: 20px;
}

.ag-dashboard .ag-panel--highlight .ag-play {
    width: 54px;
    height: 54px;
    right: 28px;
    font-size: 16px;
}

.ag-dashboard .ag-highlight-card__overlay {
    right: 13px;
    bottom: 17px;
    width: 155px;
}

.ag-dashboard .ag-highlight-card__overlay strong {
    font-size: 12px;
}

.ag-dashboard .ag-highlight-card__overlay small {
    margin-top: 5px;
    font-size: 9px;
}

.ag-dashboard .ag-video-duration {
    right: 9px;
    bottom: 8px;
    padding: 4px 7px;
    font-size: 8px;
}

.ag-dashboard .ag-dots {
    margin-top: 12px;
}

.ag-dashboard .ag-dots span {
    width: 7px;
    height: 7px;
}

/* Layar besar: beri sedikit ruang internal tanpa mengecilkan blok */
@media (min-width: 1600px) {
    .ag-dashboard .ag-panel {
        padding-right: 28px;
        padding-left: 28px;
    }

    .ag-dashboard .ag-panel__heading h2 {
        font-size: 16px;
    }

    .ag-dashboard .ag-panel--news .ag-featured-news h3 {
        font-size: 16px;
    }
}

@media (max-width: 1120px) {
    .ag-dashboard__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ag-dashboard .ag-panel {
        min-height: 310px;
    }

    .ag-dashboard .ag-panel:nth-child(2n) {
        border-right: 0;
    }
}

@media (max-width: 640px) {
    .ag-dashboard__grid {
        grid-template-columns: 1fr;
    }

    .ag-dashboard .ag-panel {
        min-height: auto;
        padding: 20px 16px;
        border-right: 0;
    }

    .ag-dashboard .ag-panel--news .ag-featured-news {
        grid-template-columns: 125px minmax(0, 1fr);
        gap: 13px;
    }

    .ag-dashboard .ag-panel--news .ag-featured-news__image {
        width: 125px !important;
        height: 88px !important;
        min-width: 125px;
    }

    .ag-dashboard .ag-panel--news .ag-featured-news h3 {
        font-size: 13px;
    }

    .ag-dashboard .ag-panel--highlight .ag-highlight-card__image {
        height: 190px;
    }
}

/* =====================================================
   HOMEPAGE ALL ROWS FULL WIDTH FINAL
   Semua card sejajar persis dengan hero
   ===================================================== */

/* Seluruh section homepage full width */
.ag-dashboard,
.ag-profile,
.ag-results-section,
.ag-media-fan-section,
.ag-about-compact {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Seluruh container section tidak boleh dibatasi */
.ag-dashboard > .ag-container,
.ag-profile > .ag-container,
.ag-results-section > .ag-container,
.ag-media-fan-section > .ag-container,
.ag-about-compact > .ag-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
}

/* Semua baris card selebar hero */
.ag-dashboard__grid,
.ag-profile-grid,
.ag-results-grid,
.ag-media-fan-grid,
.ag-about-compact__heading,
.ag-about-compact__grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box;
}

/* Profil Kontingen */
.ag-profile-grid {
    grid-template-columns: 1fr 1.05fr 2.15fr;
}

/* Jadwal, medali, klasemen */
.ag-results-grid {
    grid-template-columns: 1.55fr .9fr 1.25fr;
}

/* Berita Media dan Fan Zone */
.ag-media-fan-grid {
    grid-template-columns: 1.7fr 1fr;
}

/* Tentang Asian Games */
.ag-about-compact__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Pastikan border luar menyatu rapi */
.ag-profile-grid,
.ag-results-grid,
.ag-media-fan-grid,
.ag-about-compact__grid {
    border-top: 1px solid var(--ag-line);
    border-bottom: 1px solid var(--ag-line);
}

/* Heading Tentang Asian Games juga full */
.ag-about-compact__heading {
    padding-right: 22px !important;
    padding-left: 22px !important;
}

/* Besarkan font modul section bawah agar profesional */
.ag-module-heading {
    min-height: 48px;
    padding-right: 22px;
    padding-left: 22px;
}

.ag-module-heading h2 {
    font-size: 14px;
    line-height: 1.25;
}

.ag-module-heading a {
    font-size: 10px;
}

/* Profil */
.ag-cdm-card__copy p {
    font-size: 11px;
    line-height: 1.6;
}

.ag-cdm-card__copy strong {
    font-size: 10px;
}

.ag-profile .ag-sports-grid strong {
    font-size: 10px;
}

.ag-profile .ag-athlete-grid strong {
    font-size: 10px;
}

.ag-profile .ag-athlete-grid small {
    font-size: 9px;
}

/* Jadwal dan hasil */
.ag-results-label {
    font-size: 10px;
}

.ag-result-cards span,
.ag-result-cards small,
.ag-result-cards em {
    font-size: 9px;
}

.ag-result-cards strong {
    font-size: 11px;
}

/* Klasemen bawah */
.ag-mini-ranking {
    font-size: 10px;
}

.ag-mini-ranking th {
    font-size: 9px;
}

.ag-mini-ranking th,
.ag-mini-ranking td {
    padding: 7px 5px;
}

/* Media */
.ag-media-compact__title > strong {
    font-size: 10px;
}

.ag-media-compact__title > a {
    font-size: 9px;
}

.ag-media-news-card__copy strong {
    font-size: 10px;
}

.ag-media-news-card__copy small {
    font-size: 9px;
}

/* Fan Zone */
.ag-fan-compact__item strong {
    font-size: 10px;
}

.ag-fan-compact__item small,
.ag-fan-compact__item em {
    font-size: 8px;
}

/* Tentang Asian Games */
.ag-about-compact__copy small {
    font-size: 9px;
}

.ag-about-compact__copy strong {
    font-size: 12px;
}

.ag-about-compact__copy p {
    font-size: 10px;
    line-height: 1.5;
}

@media (max-width: 1120px) {
    .ag-profile-grid,
    .ag-results-grid,
    .ag-media-fan-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ag-profile .ag-athletes-card,
    .ag-result-calendar,
    .ag-media-compact {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .ag-profile-grid,
    .ag-results-grid,
    .ag-media-fan-grid,
    .ag-about-compact__grid {
        grid-template-columns: 1fr;
    }

    .ag-profile .ag-athletes-card,
    .ag-result-calendar,
    .ag-media-compact {
        grid-column: auto;
    }

    .ag-module-heading {
        padding-right: 16px;
        padding-left: 16px;
    }
}

/* =====================================================
   Header + Hero alignment mengikuti mockup
   ===================================================== */

/* HEADER */
.ag-navbar__inner {
    width: 100%;
    max-width: none;
    padding-right: 48px;
    padding-left: 48px;
}

/* Hilangkan dorongan otomatis yang membuat menu terlalu ke kanan */
.ag-primary-nav {
    margin-right: 0;
    margin-left: 110px;
}

/* Search tetap berada di sisi kanan */
.ag-search-button {
    margin-right: 0;
    margin-left: auto;
}

/* Jarak menu dibuat sedikit lebih rapat */
.ag-menu > li > a {
    padding-right: 15px;
    padding-left: 15px;
}

/* HERO */
.ag-hero--final .ag-hero__inner {
    width: 100%;
    max-width: none;
    padding-right: 48px;
    padding-left: 48px;
}

/* Geser blok teks lebih ke kiri dan sedikit turun */
.ag-hero--final .ag-hero__copy {
    width: 430px;
    max-width: 430px;
    padding-top: 45px;
    padding-bottom: 18px;
}

/* Sedikit rapikan headline agar proporsinya seperti mockup */
.ag-hero--final h1 {
    max-width: 415px;
    font-size: 45px;
    line-height: 0.98;
}

.ag-hero--final h1 > span {
    margin-bottom: 7px;
    font-size: 0.64em;
    line-height: 1.08;
}

/* Event, countdown, dan tombol ikut turun secara proporsional */
.ag-hero__event {
    margin-top: 13px;
}

.ag-countdown-label {
    margin-top: 15px;
}

.ag-hero--final .ag-hero__actions {
    margin-top: 12px;
}

/* Desktop lebar */
@media (min-width: 1500px) {
    .ag-navbar__inner,
    .ag-hero--final .ag-hero__inner {
        padding-right: 60px;
        padding-left: 60px;
    }

    .ag-primary-nav {
        margin-left: 120px;
    }
}

/* Laptop */
@media (max-width: 1250px) {
    .ag-navbar__inner,
    .ag-hero--final .ag-hero__inner {
        padding-right: 30px;
        padding-left: 30px;
    }

    .ag-primary-nav {
        margin-left: 55px;
    }

    .ag-menu > li > a {
        padding-right: 10px;
        padding-left: 10px;
    }
}

/* Tablet/mobile tetap mengikuti menu hamburger */
@media (max-width: 900px) {
    .ag-navbar__inner {
        padding-right: 20px;
        padding-left: 20px;
    }

    .ag-primary-nav {
        margin-left: 0;
    }

    .ag-hero--final .ag-hero__inner {
        padding-right: 22px;
        padding-left: 22px;
    }

    .ag-hero--final .ag-hero__copy {
        width: 100%;
        max-width: 590px;
        padding-top: 48px;
    }
}

/* =====================================================
   Profile row vertical alignment with dashboard
   ===================================================== */

/* Gunakan pembagian kolom yang sama dengan dashboard atas */
.ag-profile-grid {
    display: grid !important;
    grid-template-columns: 1.18fr 1fr 1fr 1.15fr !important;
    width: 100% !important;
    gap: 0 !important;
}

/* Sambutan menempati kolom pertama */
.ag-profile-grid > .ag-cdm-card {
    grid-column: 1 / 2 !important;
}

/* Daftar Cabor menempati kolom kedua */
.ag-profile-grid > .ag-sports-card {
    grid-column: 2 / 3 !important;
}

/* Direktori Atlet membentang kolom ketiga dan keempat */
.ag-profile-grid > .ag-athletes-card {
    grid-column: 3 / 5 !important;
}

/* Border vertikal mengikuti panel atas */
.ag-profile-grid > article {
    min-width: 0;
    border-top: 0 !important;
    border-right: 1px solid var(--ag-line) !important;
    border-bottom: 1px solid var(--ag-line) !important;
    border-left: 0 !important;
}

.ag-profile-grid > article:last-child {
    border-right: 0 !important;
}

/* Pastikan heading tidak mengubah lebar kolom */
.ag-profile-grid .ag-module-heading {
    width: 100%;
    box-sizing: border-box;
}

/* Direktori atlet memanfaatkan ruang dua kolom */
.ag-profile .ag-athlete-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-profile-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .ag-profile-grid > .ag-cdm-card {
        grid-column: 1 / 2 !important;
    }

    .ag-profile-grid > .ag-sports-card {
        grid-column: 2 / 3 !important;
    }

    .ag-profile-grid > .ag-athletes-card {
        grid-column: 1 / 3 !important;
        border-top: 1px solid var(--ag-line) !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-profile-grid {
        grid-template-columns: 1fr !important;
    }

    .ag-profile-grid > .ag-cdm-card,
    .ag-profile-grid > .ag-sports-card,
    .ag-profile-grid > .ag-athletes-card {
        grid-column: 1 / 2 !important;
        border-right: 0 !important;
    }

    .ag-profile .ag-athlete-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* =====================================================
   Profile row vertical alignment with dashboard
   ===================================================== */

/* Gunakan pembagian kolom yang sama dengan dashboard atas */
.ag-profile-grid {
    display: grid !important;
    grid-template-columns: 1.18fr 1fr 1fr 1.15fr !important;
    width: 100% !important;
    gap: 0 !important;
}

/* Sambutan menempati kolom pertama */
.ag-profile-grid > .ag-cdm-card {
    grid-column: 1 / 2 !important;
}

/* Daftar Cabor menempati kolom kedua */
.ag-profile-grid > .ag-sports-card {
    grid-column: 2 / 3 !important;
}

/* Direktori Atlet membentang kolom ketiga dan keempat */
.ag-profile-grid > .ag-athletes-card {
    grid-column: 3 / 5 !important;
}

/* Border vertikal mengikuti panel atas */
.ag-profile-grid > article {
    min-width: 0;
    border-top: 0 !important;
    border-right: 1px solid var(--ag-line) !important;
    border-bottom: 1px solid var(--ag-line) !important;
    border-left: 0 !important;
}

.ag-profile-grid > article:last-child {
    border-right: 0 !important;
}

/* Pastikan heading tidak mengubah lebar kolom */
.ag-profile-grid .ag-module-heading {
    width: 100%;
    box-sizing: border-box;
}

/* Direktori atlet memanfaatkan ruang dua kolom */
.ag-profile .ag-athlete-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-profile-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .ag-profile-grid > .ag-cdm-card {
        grid-column: 1 / 2 !important;
    }

    .ag-profile-grid > .ag-sports-card {
        grid-column: 2 / 3 !important;
    }

    .ag-profile-grid > .ag-athletes-card {
        grid-column: 1 / 3 !important;
        border-top: 1px solid var(--ag-line) !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-profile-grid {
        grid-template-columns: 1fr !important;
    }

    .ag-profile-grid > .ag-cdm-card,
    .ag-profile-grid > .ag-sports-card,
    .ag-profile-grid > .ag-athletes-card {
        grid-column: 1 / 2 !important;
        border-right: 0 !important;
    }

    .ag-profile .ag-athlete-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* =====================================================
   Sambutan Ketua CdM alignment with card above
   ===================================================== */

.ag-profile .ag-cdm-card {
    display: block !important;
    min-height: 0 !important;
}

.ag-profile .ag-cdm-card__body {
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    min-height: 0 !important;
    align-items: start;
    gap: 0;
}

.ag-profile .ag-cdm-card__photo {
    width: 150px;
    min-width: 150px;
    height: 150px;
    min-height: 150px !important;
    padding: 0;
    align-self: start;
    overflow: hidden;
    border-radius: 0;
}

/* Placeholder foto tetap memenuhi area */
.ag-profile .ag-cdm-card__photo span {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 10px;
    box-sizing: border-box;
    font-size: 9px;
}

.ag-profile .ag-cdm-card__copy {
    min-width: 0;
    padding: 14px 18px 12px !important;
}

/* Ukuran font disamakan dengan card berita */
.ag-profile .ag-cdm-card__copy p {
    margin: 0 0 10px;
    color: var(--ag-text);
    font-size: 11px !important;
    line-height: 1.5 !important;
}

.ag-profile .ag-cdm-card__copy strong {
    display: block;
    margin-bottom: 11px;
    color: var(--ag-navy);
    font-size: 10px !important;
    line-height: 1.4;
}

.ag-profile .ag-small-button {
    min-height: 32px;
    padding: 0 15px;
    font-size: 9px;
}

/* Tinggi keseluruhan card jangan mengikuti ruang kosong panel atas */
.ag-profile .ag-cdm-card__body,
.ag-profile .ag-cdm-card__photo,
.ag-profile .ag-cdm-card__copy {
    box-sizing: border-box;
}

/* Heading disamakan dengan modul di atas */
.ag-profile .ag-cdm-card .ag-module-heading {
    min-height: 48px;
    padding: 0 28px;
}

.ag-profile .ag-cdm-card .ag-module-heading h2 {
    font-size: 15px;
    line-height: 1.25;
}

/* Desktop besar */
@media (min-width: 1500px) {
    .ag-profile .ag-cdm-card__body {
        grid-template-columns: 165px minmax(0, 1fr) !important;
    }

    .ag-profile .ag-cdm-card__photo {
        width: 165px;
        min-width: 165px;
        height: 165px;
        min-height: 165px !important;
    }

    .ag-profile .ag-cdm-card__copy p {
        font-size: 12px !important;
    }

    .ag-profile .ag-cdm-card__copy strong {
        font-size: 11px !important;
    }
}

@media (max-width: 640px) {
    .ag-profile .ag-cdm-card__body {
        grid-template-columns: 110px minmax(0, 1fr) !important;
    }

    .ag-profile .ag-cdm-card__photo {
        width: 110px;
        min-width: 110px;
        height: 130px;
        min-height: 130px !important;
    }

    .ag-profile .ag-cdm-card__copy {
        padding: 12px !important;
    }

    .ag-profile .ag-cdm-card__copy p {
        font-size: 10px !important;
    }
}

/* Foto Ketua CdM final */

.ag-profile .ag-cdm-card__photo {
    overflow: hidden;
    background: #eef1f5;
}

.ag-profile .ag-cdm-card__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

/* Sambutan Ketua CdM — align persis dengan Berita Terbaru */

.ag-profile .ag-cdm-card__body {
    grid-template-columns: 188px minmax(0, 1fr) !important;
    gap: 22px !important;
    padding: 14px 28px 16px !important;
    align-items: start;
}

.ag-profile .ag-cdm-card__photo {
    width: 188px !important;
    min-width: 188px !important;
    height: 205px !important;
    min-height: 205px !important;
    border-radius: 5px;
}

.ag-profile .ag-cdm-card__copy {
    padding: 7px 0 0 !important;
}

.ag-profile .ag-cdm-card__copy p {
    margin: 0 0 12px;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.ag-profile .ag-cdm-card__copy strong {
    margin-bottom: 15px;
    font-size: 13px !important;
    line-height: 1.4;
}

.ag-profile .ag-small-button {
    min-height: 40px;
    padding: 0 18px;
    font-size: 11px;
}

/* Heading Sambutan mengikuti posisi judul Berita Terbaru */
.ag-profile .ag-cdm-card .ag-module-heading {
    padding-right: 28px !important;
    padding-left: 28px !important;
}

/* Foto tetap fokus ke wajah */
.ag-profile .ag-cdm-card__photo img {
    object-fit: cover;
    object-position: center top;
}

@media (max-width: 1120px) {
    .ag-profile .ag-cdm-card__body {
        grid-template-columns: 160px minmax(0, 1fr) !important;
        padding: 14px 22px 16px !important;
    }

    .ag-profile .ag-cdm-card__photo {
        width: 160px !important;
        min-width: 160px !important;
        height: 185px !important;
        min-height: 185px !important;
    }

    .ag-profile .ag-cdm-card__copy p {
        font-size: 12px !important;
    }

    .ag-profile .ag-cdm-card__copy strong {
        font-size: 11px !important;
    }
}

@media (max-width: 640px) {
    .ag-profile .ag-cdm-card__body {
        grid-template-columns: 120px minmax(0, 1fr) !important;
        gap: 14px !important;
        padding: 12px 16px 14px !important;
    }

    .ag-profile .ag-cdm-card__photo {
        width: 120px !important;
        min-width: 120px !important;
        height: 150px !important;
        min-height: 150px !important;
    }

    .ag-profile .ag-cdm-card__copy p {
        font-size: 11px !important;
    }
}

/* Sambutan Ketua CdM — typography match card above */

.ag-profile .ag-cdm-card__copy p {
    margin: 1px 0 11px !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    font-weight: 400;
}

.ag-profile .ag-cdm-card__copy strong {
    margin-bottom: 12px !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 700;
}

.ag-profile .ag-small-button {
    min-height: 34px !important;
    padding: 0 15px !important;
    font-size: 9px !important;
    line-height: 1;
}

/* Heading mengikuti judul panel di atas */
.ag-profile .ag-cdm-card .ag-module-heading h2 {
    font-size: 15px !important;
    line-height: 1.25;
}

@media (min-width: 1500px) {
    .ag-profile .ag-cdm-card__copy p {
        font-size: 12px !important;
    }

    .ag-profile .ag-cdm-card__copy strong {
        font-size: 11px !important;
    }
}

@media (max-width: 640px) {
    .ag-profile .ag-cdm-card__copy p {
        font-size: 10px !important;
    }

    .ag-profile .ag-cdm-card__copy strong {
        font-size: 9px !important;
    }
}

/* =====================================================
   Dashboard top row polish
   Athlete Highlights alignment + bold view all
   ===================================================== */

/* Semua heading panel memiliki ritme vertikal yang sama */
.ag-dashboard .ag-panel__heading {
    min-height: 32px !important;
    margin-bottom: 14px !important;
    align-items: center;
}

/* Semua link Lihat Semua dibuat lebih tegas */
.ag-dashboard .ag-panel__heading a,
.ag-module-heading a,
.ag-media-compact__title > a,
.ag-about-compact__heading > a {
    color: var(--ag-navy) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.2;
    opacity: 0.85;
}

.ag-dashboard .ag-panel__heading a:hover,
.ag-module-heading a:hover,
.ag-media-compact__title > a:hover,
.ag-about-compact__heading > a:hover {
    color: var(--ag-red) !important;
    opacity: 1;
}

/* Atlet Highlights dibuat lebih naik dan lebih padat */
.ag-dashboard .ag-panel--highlight {
    display: flex;
    min-height: 330px;
    flex-direction: column;
    padding-top: 20px;
}

.ag-dashboard .ag-panel--highlight .ag-panel__heading {
    flex: 0 0 auto;
}

/* Gambar video naik dan tidak terlalu tinggi */
.ag-dashboard .ag-panel--highlight .ag-highlight-card {
    flex: 0 0 auto;
    margin-top: 0;
}

.ag-dashboard .ag-panel--highlight .ag-highlight-card__image {
    height: 190px !important;
}

/* Naikkan elemen isi di dalam video */
.ag-dashboard .ag-highlight-card__person {
    bottom: -8px;
    height: 175px;
}

.ag-dashboard .ag-panel--highlight .ag-play {
    top: 48%;
}

.ag-dashboard .ag-highlight-card__overlay {
    bottom: 18px;
}

/* Dots dibuat lebih dekat ke card */
.ag-dashboard .ag-panel--highlight .ag-dots {
    margin-top: 8px !important;
    margin-bottom: 0;
}

/* Pastikan semua panel atas sejajar */
.ag-dashboard .ag-panel {
    padding-top: 20px;
}

@media (min-width: 1500px) {
    .ag-dashboard .ag-panel__heading a,
    .ag-module-heading a,
    .ag-media-compact__title > a,
    .ag-about-compact__heading > a {
        font-size: 11px !important;
    }
}

@media (max-width: 640px) {
    .ag-dashboard .ag-panel--highlight .ag-highlight-card__image {
        height: 175px !important;
    }
}

/* Dashboard meta line final — API placeholder */

.ag-dashboard .ag-panel__meta {
    display: flex;
    min-height: 26px;
    margin-top: 4px !important;
    padding-top: 8px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-top: 1px solid var(--ag-line);
    color: var(--ag-navy);
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.2;
}

/* Klasemen: garis dinaikkan mendekati tabel */
.ag-dashboard .ag-panel--medals .ag-panel__meta {
    margin-top: 2px !important;
}

/* Jadwal: garis dinaikkan mendekati jadwal terakhir */
.ag-dashboard .ag-panel--schedule .ag-panel__meta {
    margin-top: 2px !important;
}

/* Label teks API */
.ag-dashboard .ag-panel__meta > span:first-child {
    color: var(--ag-navy);
    font-size: 10px !important;
    font-weight: 700 !important;
}

/* LIVE tetap berada di kanan */
.ag-dashboard .ag-live-label {
    flex: 0 0 auto;
    margin-left: auto;
}

/* Kurangi ruang kosong bawah tabel dan jadwal */
.ag-dashboard .ag-medal-table tbody tr:last-child td,
.ag-dashboard .ag-schedule-list .ag-schedule-item:last-child {
    border-bottom: 0;
}

.ag-dashboard .ag-medal-table {
    margin-bottom: 0;
}

.ag-dashboard .ag-schedule-list {
    margin-bottom: 0;
}

/* Font konsisten dengan Lihat Semua */
.ag-dashboard .ag-panel__heading a,
.ag-dashboard .ag-panel__meta {
    font-family: inherit;
}

/* Desktop besar */
@media (min-width: 1500px) {
    .ag-dashboard .ag-panel__meta,
    .ag-dashboard .ag-panel__meta > span:first-child {
        font-size: 11px !important;
    }
}

/* Dashboard meta polish final */

/* LIVE: teks putih */
.ag-dashboard .ag-live-label {
    color: #ffffff !important;
    background: var(--ag-red) !important;
    font-weight: 800 !important;
}

/* Naikkan garis horizontal lebih dekat ke konten */
.ag-dashboard .ag-panel__meta {
    min-height: 22px !important;
    margin-top: -2px !important;
    padding-top: 7px !important;
}

/* Khusus klasemen */
.ag-dashboard .ag-panel--medals .ag-panel__meta {
    margin-top: -4px !important;
}

/* Khusus jadwal */
.ag-dashboard .ag-panel--schedule .ag-panel__meta {
    margin-top: -4px !important;
}

/* Kurangi ruang bawah tabel/jadwal */
.ag-dashboard .ag-medal-table {
    margin-bottom: 0 !important;
}

.ag-dashboard .ag-schedule-list {
    margin-bottom: 0 !important;
}

/* Naikkan batas bawah seluruh dashboard */

.ag-dashboard .ag-panel {
    min-height: 285px !important;
    padding-bottom: 12px !important;
}

.ag-dashboard .ag-panel--highlight {
    min-height: 285px !important;
}

.ag-dashboard .ag-panel--highlight .ag-highlight-card__image {
    height: 178px !important;
}

.ag-dashboard .ag-panel--highlight .ag-dots {
    margin-top: 7px !important;
}

/* Meta langsung menempel setelah tabel/jadwal */
.ag-dashboard .ag-panel--medals .ag-panel__meta,
.ag-dashboard .ag-panel--schedule .ag-panel__meta {
    margin-top: 0 !important;
    padding-top: 7px !important;
}

/* Kurangi ruang kosong di bawah label */
.ag-dashboard .ag-panel__meta {
    min-height: 20px !important;
    margin-bottom: 0 !important;
}

/* Pastikan grid tidak memaksa tinggi lama */
.ag-dashboard__grid {
    align-items: stretch;
}

/* Atlet Highlights sample photo */

.ag-highlight-card__photo {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ag-highlight-card__image::after {
    position: absolute;
    z-index: 3;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(7, 26, 56, 0.05) 0%,
            rgba(7, 26, 56, 0.18) 45%,
            rgba(7, 26, 56, 0.88) 100%
        );
    content: "";
    pointer-events: none;
}

.ag-highlight-card__category,
.ag-panel--highlight .ag-play,
.ag-highlight-card__overlay,
.ag-video-duration {
    z-index: 5;
}

/* Atlet Highlights photo polish */

.ag-highlight-card__overlay {
    right: 18px !important;
    bottom: 42px !important;
    width: 195px !important;
}

.ag-highlight-card__overlay strong {
    font-size: 13px !important;
    line-height: 1.25 !important;
}

.ag-highlight-card__overlay small {
    margin-top: 5px !important;
    font-size: 10px !important;
}

.ag-video-duration {
    right: 12px !important;
    bottom: 10px !important;
}

.ag-panel--highlight .ag-play {
    right: 34px !important;
    top: 48% !important;
}

/* Atlet Highlights final text position */

.ag-highlight-card__overlay {
    right: 18px !important;
    bottom: 36px !important;
    width: 205px !important;
    text-align: left;
}

.ag-highlight-card__overlay strong {
    font-size: 13px !important;
    line-height: 1.25 !important;
}

.ag-highlight-card__overlay small {
    margin-top: 4px !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
}

.ag-panel--highlight .ag-play {
    right: 34px !important;
    top: 47% !important;
}

.ag-video-duration {
    right: 12px !important;
    bottom: 10px !important;
}

.ag-panel--highlight .ag-dots {
    margin-top: 8px !important;
}

/* Dynamic Atlet Highlights */

.ag-highlight-card__fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background:
        linear-gradient(
            135deg,
            var(--ag-navy),
            #273653
        );
    color: rgba(255, 255, 255, 0.75);
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.ag-highlight-card__photo {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* =====================================================
   Atlet Highlights Auto Slider
   ===================================================== */

.ag-highlight-slider {
    position: relative;
}

.ag-highlight-slider__viewport {
    position: relative;
}

.ag-highlight-slide {
    position: absolute;
    inset: 0;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.35s ease,
        visibility 0.35s ease;
}

.ag-highlight-slide.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.ag-highlight-slide .ag-highlight-card__image {
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

.ag-highlight-card__photo {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ag-highlight-card__fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #11284a, #2b3858);
    color: rgba(255,255,255,0.85);
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.ag-dots[data-highlight-dots] {
    display: flex;
    margin-top: 10px;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.ag-dots[data-highlight-dots] button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #c6ccd6;
    cursor: pointer;
    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.ag-dots[data-highlight-dots] button.is-active {
    background: var(--ag-red);
    transform: scale(1.05);
}

.ag-dots[data-highlight-dots] button:hover {
    background: #9ca6b5;
}

/* tetap pakai layout overlay yang sebelumnya sudah kita rapikan */
.ag-highlight-card__overlay {
    z-index: 5;
}

.ag-highlight-card__category,
.ag-panel--highlight .ag-play,
.ag-video-duration {
    z-index: 5;
}

@media (max-width: 640px) {
    .ag-dots[data-highlight-dots] {
        margin-top: 8px;
        gap: 7px;
    }

    .ag-dots[data-highlight-dots] button {
        width: 9px;
        height: 9px;
    }
}

/* =====================================================
   Single article — WordPress editor alignment support
   Posts + Atlet Highlights
   ===================================================== */

/* Default paragraf tetap rata kiri */
.single-post .entry-content,
.single-post .ag-entry-content,
.single-post .post-content,
.single-athlete_highlight .entry-content,
.single-athlete_highlight .ag-entry-content,
.single-athlete_highlight .post-content {
    text-align: left;
}

/* Alignment teks dari block editor */
.single-post .entry-content .has-text-align-left,
.single-post .ag-entry-content .has-text-align-left,
.single-post .post-content .has-text-align-left,
.single-athlete_highlight .entry-content .has-text-align-left,
.single-athlete_highlight .ag-entry-content .has-text-align-left,
.single-athlete_highlight .post-content .has-text-align-left {
    text-align: left !important;
}

.single-post .entry-content .has-text-align-center,
.single-post .ag-entry-content .has-text-align-center,
.single-post .post-content .has-text-align-center,
.single-athlete_highlight .entry-content .has-text-align-center,
.single-athlete_highlight .ag-entry-content .has-text-align-center,
.single-athlete_highlight .post-content .has-text-align-center {
    text-align: center !important;
}

.single-post .entry-content .has-text-align-right,
.single-post .ag-entry-content .has-text-align-right,
.single-post .post-content .has-text-align-right,
.single-athlete_highlight .entry-content .has-text-align-right,
.single-athlete_highlight .ag-entry-content .has-text-align-right,
.single-athlete_highlight .post-content .has-text-align-right {
    text-align: right !important;
}

.single-post .entry-content .has-text-align-justify,
.single-post .ag-entry-content .has-text-align-justify,
.single-post .post-content .has-text-align-justify,
.single-athlete_highlight .entry-content .has-text-align-justify,
.single-athlete_highlight .ag-entry-content .has-text-align-justify,
.single-athlete_highlight .post-content .has-text-align-justify {
    text-align: justify !important;
}

/* Dukungan Classic Editor/TinyMCE */
.single-post .entry-content [style*="text-align: center"],
.single-post .ag-entry-content [style*="text-align: center"],
.single-post .post-content [style*="text-align: center"],
.single-athlete_highlight .entry-content [style*="text-align: center"],
.single-athlete_highlight .ag-entry-content [style*="text-align: center"],
.single-athlete_highlight .post-content [style*="text-align: center"] {
    text-align: center !important;
}

.single-post .entry-content [style*="text-align: right"],
.single-post .ag-entry-content [style*="text-align: right"],
.single-post .post-content [style*="text-align: right"],
.single-athlete_highlight .entry-content [style*="text-align: right"],
.single-athlete_highlight .ag-entry-content [style*="text-align: right"],
.single-athlete_highlight .post-content [style*="text-align: right"] {
    text-align: right !important;
}

.single-post .entry-content [style*="text-align: justify"],
.single-post .ag-entry-content [style*="text-align: justify"],
.single-post .post-content [style*="text-align: justify"],
.single-athlete_highlight .entry-content [style*="text-align: justify"],
.single-athlete_highlight .ag-entry-content [style*="text-align: justify"],
.single-athlete_highlight .post-content [style*="text-align: justify"] {
    text-align: justify !important;
}

/* WordPress alignment utility classes */
.single-post .alignleft,
.single-athlete_highlight .alignleft {
    float: left;
    width: auto;
    max-width: 42%;
    height: auto;
    margin: 6px 28px 20px 0;
}

.single-post .alignright,
.single-athlete_highlight .alignright {
    float: right;
    width: auto;
    max-width: 42%;
    height: auto;
    margin: 6px 0 20px 28px;
}

.single-post .aligncenter,
.single-athlete_highlight .aligncenter {
    display: block;
    float: none;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 24px auto;
    text-align: center;
}

.single-post .alignwide,
.single-athlete_highlight .alignwide {
    width: calc(100% + 80px);
    max-width: calc(100% + 80px);
    margin-left: -40px;
}

.single-post .alignfull,
.single-athlete_highlight .alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
}

/* Clear float sesudah gambar kiri/kanan */
.single-post .entry-content::after,
.single-post .ag-entry-content::after,
.single-post .post-content::after,
.single-athlete_highlight .entry-content::after,
.single-athlete_highlight .ag-entry-content::after,
.single-athlete_highlight .post-content::after {
    display: table;
    clear: both;
    content: "";
}

@media (max-width: 640px) {
    .single-post .alignleft,
    .single-post .alignright,
    .single-post .aligncenter,
    .single-athlete_highlight .alignleft,
    .single-athlete_highlight .alignright,
    .single-athlete_highlight .aligncenter {
        float: none;
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        margin: 18px auto;
    }

    .single-post .alignwide,
    .single-athlete_highlight .alignwide {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
    }
}

/* =====================================================
   Category/archive editor image alignment support
   ===================================================== */

/* Gambar rata kiri dengan teks membungkus */
.category .entry-content .alignleft,
.archive .entry-content .alignleft,
.category .post-content .alignleft,
.archive .post-content .alignleft,
.category img.alignleft,
.archive img.alignleft {
    float: left !important;
    display: block;
    margin: 6px 24px 16px 0 !important;
}

/* Gambar rata kanan dengan teks membungkus */
.category .entry-content .alignright,
.archive .entry-content .alignright,
.category .post-content .alignright,
.archive .post-content .alignright,
.category img.alignright,
.archive img.alignright {
    float: right !important;
    display: block;
    margin: 6px 0 16px 24px !important;
}

/* Gambar rata tengah */
.category .entry-content .aligncenter,
.archive .entry-content .aligncenter,
.category .post-content .aligncenter,
.archive .post-content .aligncenter,
.category img.aligncenter,
.archive img.aligncenter {
    float: none !important;
    display: block !important;
    margin: 18px auto !important;
}

/* Gambar tanpa alignment */
.category .entry-content img,
.archive .entry-content img,
.category .post-content img,
.archive .post-content img {
    max-width: 100%;
    height: auto;
}

/* Alignment teks block editor */
.category .has-text-align-left,
.archive .has-text-align-left {
    text-align: left !important;
}

.category .has-text-align-center,
.archive .has-text-align-center {
    text-align: center !important;
}

.category .has-text-align-right,
.archive .has-text-align-right {
    text-align: right !important;
}

.category .has-text-align-justify,
.archive .has-text-align-justify {
    text-align: justify !important;
}

/* Clear float setelah setiap artikel */
.category article::after,
.archive article::after,
.category .entry-content::after,
.archive .entry-content::after {
    display: table;
    clear: both;
    content: "";
}

@media (max-width: 640px) {
    .category .entry-content .alignleft,
    .category .entry-content .alignright,
    .archive .entry-content .alignleft,
    .archive .entry-content .alignright,
    .category img.alignleft,
    .category img.alignright,
    .archive img.alignleft,
    .archive img.alignright {
        float: none !important;
        display: block !important;
        max-width: 100%;
        margin: 14px auto !important;
    }
}

/* =====================================================
   Category archive — 6 posts + read button + pagination
   ===================================================== */

.ag-category-page {
    padding: 44px 0 60px;
    background: #ffffff;
}

.ag-category-page__container {
    width: min(1500px, calc(100% - 64px));
}

.ag-category-header {
    margin-bottom: 30px;
    padding-bottom: 22px;
    border-bottom: 2px solid var(--ag-navy);
}

.ag-category-header__eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--ag-red);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.ag-category-header__title {
    margin: 0;
    color: var(--ag-navy);
    font-size: clamp(32px, 3vw, 46px);
    line-height: 1.1;
}

.ag-category-header__description {
    max-width: 850px;
    margin-top: 12px;
    color: var(--ag-muted);
    font-size: 15px;
    line-height: 1.65;
}

.ag-category-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ag-category-card {
    min-width: 0;
    padding: 24px;
    overflow: hidden;
    border: 1px solid var(--ag-line);
    border-radius: 7px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(7, 26, 56, 0.06);
}

.ag-category-card__title {
    margin: 0;
    color: var(--ag-navy);
    font-size: 25px;
    line-height: 1.25;
}

.ag-category-card__title a {
    color: inherit;
}

.ag-category-card__title a:hover {
    color: var(--ag-red);
}

.ag-category-card__meta {
    margin-top: 8px;
    color: var(--ag-muted);
    font-size: 12px;
}

.ag-category-card__content {
    margin-top: 18px;
    color: var(--ag-text);
    font-size: 15px;
    line-height: 1.65;
}

.ag-category-card__thumbnail {
    display: block;
    margin-bottom: 16px;
    overflow: hidden;
    border-radius: 5px;
}

.ag-category-card__thumbnail img {
    display: block;
    width: 100%;
    height: 260px;
    object-fit: cover;
}

.ag-category-card__excerpt p {
    margin: 0;
}

.ag-category-card__editor-content {
    max-height: 300px;
    overflow: hidden;
}

.ag-category-card__editor-content p {
    margin-top: 0;
}

/* Alignment dari editor tetap aktif */
.ag-category-card__editor-content .alignleft,
.ag-category-card__editor-content img.alignleft {
    float: left !important;
    max-width: 46%;
    margin: 5px 20px 12px 0 !important;
}

.ag-category-card__editor-content .alignright,
.ag-category-card__editor-content img.alignright {
    float: right !important;
    max-width: 46%;
    margin: 5px 0 12px 20px !important;
}

.ag-category-card__editor-content .aligncenter,
.ag-category-card__editor-content img.aligncenter {
    float: none !important;
    display: block !important;
    max-width: 80%;
    margin: 12px auto !important;
}

.ag-category-card__editor-content::after {
    display: table;
    clear: both;
    content: "";
}

.ag-category-card__footer {
    display: flex;
    margin-top: 20px;
    padding-top: 18px;
    clear: both;
    border-top: 1px solid var(--ag-line);
}

.ag-category-card__button {
    display: inline-flex;
    min-width: 105px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border-radius: 4px;
    background: var(--ag-red);
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.ag-category-card__button:hover {
    background: var(--ag-navy);
    color: #ffffff;
}

/* Pagination */

.ag-category-pagination {
    margin-top: 38px;
}

.ag-category-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-category-pagination .page-numbers li {
    margin: 0;
}

.ag-category-pagination a.page-numbers,
.ag-category-pagination span.page-numbers {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    border: 1px solid var(--ag-line);
    border-radius: 4px;
    background: #ffffff;
    color: var(--ag-navy);
    font-size: 12px;
    font-weight: 700;
}

.ag-category-pagination span.current {
    border-color: var(--ag-red);
    background: var(--ag-red);
    color: #ffffff;
}

.ag-category-pagination a.page-numbers:hover {
    border-color: var(--ag-navy);
    background: var(--ag-navy);
    color: #ffffff;
}

.ag-category-empty {
    padding: 50px 25px;
    border: 1px solid var(--ag-line);
    text-align: center;
}

@media (max-width: 900px) {
    .ag-category-list {
        grid-template-columns: 1fr;
    }

    .ag-category-page__container {
        width: min(100% - 32px, 760px);
    }
}

@media (max-width: 640px) {
    .ag-category-page {
        padding-top: 30px;
    }

    .ag-category-card {
        padding: 18px;
    }

    .ag-category-card__title {
        font-size: 21px;
    }

    .ag-category-card__content {
        font-size: 14px;
    }

    .ag-category-card__editor-content .alignleft,
    .ag-category-card__editor-content .alignright,
    .ag-category-card__editor-content img.alignleft,
    .ag-category-card__editor-content img.alignright {
        float: none !important;
        display: block !important;
        max-width: 100%;
        margin: 12px auto !important;
    }

    .ag-category-card__editor-content .aligncenter,
    .ag-category-card__editor-content img.aligncenter {
        max-width: 100%;
    }
}

/* Category card consistent image and excerpt */

.ag-category-card {
    display: flex;
    min-height: 520px;
    flex-direction: column;
}

.ag-category-card__content {
    flex: 1;
}

.ag-category-card__first-image {
    margin-bottom: 18px;
    overflow: hidden;
    border-radius: 5px;
}

.ag-category-card__first-image figure {
    margin: 0;
}

.ag-category-card__first-image img,
.ag-category-card__thumbnail img {
    display: block;
    width: 100%;
    height: 245px;
    object-fit: cover;
    object-position: center;
}

.ag-category-card__excerpt {
    font-size: 15px;
    line-height: 1.65;
}

.ag-category-card__footer {
    margin-top: auto;
}

@media (max-width: 640px) {
    .ag-category-card {
        min-height: 0;
    }

    .ag-category-card__first-image img,
    .ag-category-card__thumbnail img {
        height: 220px;
    }
}

/* Category athlete cards — show full image without cropping */

.ag-category-card__first-image,
.ag-category-card__thumbnail {
    display: flex;
    height: 280px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 5px;
    background: #eef2f6;
}

.ag-category-card__first-image figure {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.ag-category-card__first-image img,
.ag-category-card__thumbnail img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* Hilangkan class alignment editor di dalam thumbnail kategori */
.ag-category-card__first-image .alignleft,
.ag-category-card__first-image .alignright,
.ag-category-card__first-image .aligncenter,
.ag-category-card__first-image img.alignleft,
.ag-category-card__first-image img.alignright,
.ag-category-card__first-image img.aligncenter {
    float: none !important;
    margin: 0 !important;
}

/* Card tetap memiliki tinggi seragam */
.ag-category-card {
    min-height: 500px;
}

.ag-category-card__excerpt {
    margin-top: 16px;
}

@media (max-width: 640px) {
    .ag-category-card__first-image,
    .ag-category-card__thumbnail {
        height: 230px;
    }

    .ag-category-card {
        min-height: 0;
    }
}

/* Category card image 300 × 200 */

.ag-category-card__first-image,
.ag-category-card__thumbnail {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    overflow: hidden;
    border-radius: 5px;
    background: transparent;
}

.ag-category-card__first-image figure {
    width: 100%;
    margin: 0;
}

.ag-category-card__first-image img,
.ag-category-card__thumbnail img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Hilangkan aturan contain sebelumnya */
.ag-category-card__first-image .alignleft,
.ag-category-card__first-image .alignright,
.ag-category-card__first-image .aligncenter,
.ag-category-card__first-image img.alignleft,
.ag-category-card__first-image img.alignright,
.ag-category-card__first-image img.aligncenter {
    float: none !important;
    margin: 0 !important;
}

/* Category image quality — 900 × 600 */

.ag-category-card__first-image,
.ag-category-card__thumbnail {
    width: 100%;
    overflow: hidden;
    border-radius: 5px;
    background: #eef2f6;
}

.ag-category-card__first-image img,
.ag-category-card__thumbnail img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Atlet Highlights slider — image ratio 16:9 */

.ag-highlight-slide .ag-highlight-card__image {
    width: 100%;
    height: auto !important;
    aspect-ratio: 16 / 9;
}

.ag-highlight-slide .ag-highlight-card__photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Judul panjang tetap aman */
.ag-highlight-card__overlay {
    max-width: 54%;
}

.ag-highlight-card__overlay strong {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* =====================================================
   PREMIUM TYPOGRAPHY SYSTEM — FINAL
   Heading: Barlow Condensed
   Body/UI: Inter
   ===================================================== */

:root {
    --ag-font-heading:
        "Barlow Condensed",
        "Arial Narrow",
        Arial,
        sans-serif;

    --ag-font-body:
        "Inter",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
}

/* Global body */

html {
    font-size: 16px;
}

body {
    font-family: var(--ag-font-body);
    color: var(--ag-navy);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

/* Semua heading */

h1,
h2,
h3,
h4,
h5,
h6,
.ag-panel__heading h2,
.ag-module-heading h2,
.ag-category-header__title,
.ag-category-card__title,
.ag-single-article__title,
.ag-highlight-card__overlay strong {
    font-family: var(--ag-font-heading);
    font-weight: 700;
    letter-spacing: 0;
}

/* Hero */

.ag-hero--final h1 {
    max-width: 440px;
    font-family: var(--ag-font-heading);
    font-size: clamp(52px, 4vw, 64px);
    font-weight: 800;
    line-height: 0.92;
    letter-spacing: -0.5px;
}

.ag-hero--final h1 > span {
    font-size: 0.62em;
    font-weight: 700;
    line-height: 1;
}

.ag-hero__event strong {
    font-family: var(--ag-font-heading);
    font-size: 17px;
    font-weight: 700;
}

.ag-hero__event span {
    font-family: var(--ag-font-body);
    font-size: 12px;
    font-weight: 500;
}

.ag-countdown-label {
    font-family: var(--ag-font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
}

.ag-countdown strong {
    font-family: var(--ag-font-heading);
    font-size: 32px !important;
    font-weight: 800;
    line-height: 1;
}

.ag-countdown span {
    font-family: var(--ag-font-body);
    font-size: 9px !important;
    font-weight: 700;
}

/* Header navigation */

.ag-menu > li > a {
    font-family: var(--ag-font-body);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.1px;
}

/* Section headings */

.ag-panel__heading h2,
.ag-module-heading h2 {
    font-size: 22px !important;
    font-weight: 700;
    line-height: 1.15;
}

.ag-panel__heading a,
.ag-module-heading a,
.ag-media-compact__title > a,
.ag-about-compact__heading > a {
    font-family: var(--ag-font-body);
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Card titles */

.ag-featured-news h3,
.ag-category-card__title {
    font-family: var(--ag-font-heading);
    font-size: 23px;
    font-weight: 700;
    line-height: 1.18;
}

.ag-highlight-card__overlay strong {
    font-size: 20px !important;
    font-weight: 700;
    line-height: 1.12 !important;
}

/* Isi card */

.ag-news-list a,
.ag-cdm-card__copy p,
.ag-category-card__excerpt,
.ag-highlight-card__overlay small {
    font-family: var(--ag-font-body);
    font-size: 14px !important;
    font-weight: 400;
    line-height: 1.55 !important;
}

.ag-featured-news time,
.ag-category-card__meta,
.ag-panel__meta,
.ag-schedule-item small {
    font-family: var(--ag-font-body);
    font-size: 12px !important;
    font-weight: 500;
    line-height: 1.4;
}

/* Tabel dan jadwal */

.ag-medal-table,
.ag-mini-ranking {
    font-family: var(--ag-font-body);
    font-size: 13px !important;
}

.ag-medal-table th,
.ag-mini-ranking th {
    font-size: 11px !important;
    font-weight: 700;
}

.ag-schedule-item time,
.ag-schedule-item strong {
    font-family: var(--ag-font-body);
    font-size: 14px !important;
    font-weight: 700;
}

/* Buttons */

.ag-button,
.ag-small-button,
.ag-category-card__button,
.ag-fan-compact__item em {
    font-family: var(--ag-font-body);
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 0.2px;
}

/* Single article */

.ag-single-article__title {
    font-size: clamp(40px, 4vw, 56px);
    font-weight: 800;
    line-height: 1.05;
}

.ag-single-article__meta {
    font-family: var(--ag-font-body);
    font-size: 14px;
    font-weight: 500;
}

.ag-entry-content {
    font-family: var(--ag-font-body);
    color: #17233b;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.72;
}

.ag-entry-content p {
    margin: 0 0 1.35em;
}

/* Single Atlet Highlights */

.ag-athlete-single .ag-single-post__container {
    width: min(100% - 40px, 1120px);
    margin-right: auto;
    margin-left: auto;
}

.ag-athlete-single .ag-single-article {
    max-width: 920px;
    margin: 0 auto;
    padding: 52px 0 70px;
}

.ag-athlete-single .ag-single-article__header {
    margin-bottom: 30px;
}

.ag-athlete-single__label {
    display: inline-flex;
    margin-bottom: 14px;
    padding: 7px 13px;
    border-radius: 999px;
    background: var(--ag-red);
    color: #ffffff;
    font-family: var(--ag-font-body);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.ag-athlete-single .ag-single-article__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 16px;
    color: #536078;
}

.ag-athlete-single .ag-single-article__featured {
    margin: 0 0 32px;
}

.ag-athlete-single .ag-single-article__featured img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.ag-athlete-single .ag-entry-content {
    max-width: 920px;
}

.ag-athlete-single__video {
    position: relative;
    width: 100%;
    margin: 0 0 34px;
    overflow: hidden;
    border-radius: 12px;
    background: #06152f;
    aspect-ratio: 16 / 9;
}

.ag-athlete-single__video iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.ag-athlete-single__video > .ag-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.ag-athlete-single .ag-entry-content img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 640px) {
    .ag-athlete-single .ag-single-post__container {
        width: calc(100% - 32px);
    }

    .ag-athlete-single .ag-single-article {
        padding: 34px 0 48px;
    }

    .ag-athlete-single .ag-single-article__header {
        margin-bottom: 22px;
    }
}

/* =====================================================
   ARCHIVE ATLET HIGHLIGHTS
   ===================================================== */

.ag-athlete-archive {
    background: #f2f4f8;
}

.ag-athlete-archive__header {
    padding: 52px 0 38px;
    background: #ffffff;
    border-bottom: 1px solid var(--ag-line);
}

.ag-athlete-archive__header .ag-container,
.ag-athlete-archive__content .ag-container {
    width: min(100% - 48px, 1440px);
}

.ag-athlete-archive__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--ag-red);
    font-family: var(--ag-font-body);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.ag-athlete-archive__title {
    margin: 0;
    color: var(--ag-navy);
    font-family: var(--ag-font-heading);
    font-size: clamp(44px, 5vw, 68px);
    font-weight: 800;
    line-height: 0.98;
    text-transform: uppercase;
}

.ag-athlete-archive__description {
    max-width: 680px;
    margin: 18px 0 0;
    color: #536078;
    font-size: 16px;
    line-height: 1.65;
}

.ag-athlete-archive__content {
    padding: 48px 0 72px;
}

.ag-athlete-archive__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ag-athlete-card {
    min-width: 0;
    margin: 0;
}

.ag-athlete-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.ag-athlete-card__media {
    position: relative;
    height: 440px;
    overflow: hidden;
    border: 1px solid #dfe3ea;
    border-radius: 4px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(5, 25, 58, 0.05);
}

.ag-athlete-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition:
        transform 280ms ease,
        filter 280ms ease;
}

.ag-athlete-card__fallback {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(
            145deg,
            #e9edf4 0%,
            #ffffff 100%
        );
    color: #6d788c;
    font-weight: 700;
}

.ag-athlete-card__gradient {
    position: absolute;
    z-index: 1;
    inset: auto 0 0;
    height: 55%;
    pointer-events: none;
    background:
        linear-gradient(
            to bottom,
            rgba(3, 15, 37, 0) 0%,
            rgba(3, 15, 37, 0.36) 34%,
            rgba(3, 15, 37, 0.94) 100%
        );
}

.ag-athlete-card__body {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 30px 28px 26px;
}

.ag-athlete-card__title {
    max-width: 92%;
    margin: 0;
    color: #ffffff;
    font-family: var(--ag-font-heading);
    font-size: clamp(34px, 3vw, 44px);
    font-weight: 800;
    line-height: 0.88;
    letter-spacing: -0.5px;
    text-transform: uppercase;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.22);
}

.ag-athlete-card__sport {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, 0.94);
    font-family: var(--ag-font-body);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
}

.ag-athlete-card__link:hover .ag-athlete-card__image,
.ag-athlete-card__link:focus-visible .ag-athlete-card__image {
    transform: scale(1.035);
    filter: saturate(1.04);
}

.ag-athlete-card__link:focus-visible {
    outline: 3px solid var(--ag-red);
    outline-offset: 4px;
}

.ag-athlete-pagination {
    margin-top: 46px;
}

.ag-athlete-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-athlete-pagination a,
.ag-athlete-pagination span {
    display: inline-flex;
    min-width: 42px;
    min-height: 42px;
    padding: 8px 13px;
    align-items: center;
    justify-content: center;
    border: 1px solid #d9dee7;
    border-radius: 5px;
    background: #ffffff;
    color: var(--ag-navy);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.ag-athlete-pagination .current {
    border-color: var(--ag-red);
    background: var(--ag-red);
    color: #ffffff;
}

.ag-athlete-pagination a:hover {
    border-color: var(--ag-navy);
}

.ag-athlete-archive__empty {
    padding: 80px 24px;
    text-align: center;
}

.ag-athlete-archive__empty h2 {
    margin: 0 0 12px;
    font-size: 36px;
}

.ag-athlete-archive__empty p {
    margin: 0;
    color: #657087;
}

@media (max-width: 1120px) {
    .ag-athlete-archive__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ag-athlete-card__media {
        height: 420px;
    }
}

@media (max-width: 640px) {
    .ag-athlete-archive__header {
        padding: 36px 0 28px;
    }

    .ag-athlete-archive__header .ag-container,
    .ag-athlete-archive__content .ag-container {
        width: calc(100% - 32px);
    }

    .ag-athlete-archive__content {
        padding: 30px 0 48px;
    }

    .ag-athlete-archive__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ag-athlete-card__media {
        height: 410px;
        border-radius: 6px;
    }

    .ag-athlete-card__body {
        padding: 26px 22px 22px;
    }

    .ag-athlete-card__title {
        font-size: 38px;
    }
}

/* Category page */

.ag-category-header__eyebrow {
    font-family: var(--ag-font-body);
    font-size: 11px;
    font-weight: 700;
}

.ag-category-header__title {
    font-size: clamp(42px, 4vw, 54px);
    font-weight: 800;
    line-height: 1.05;
}

.ag-category-header__description {
    font-size: 16px;
    line-height: 1.65;
}

/* Footer */

.ag-footer-logo__copy strong {
    font-family: var(--ag-font-heading);
    font-weight: 700;
}

.ag-footer__column h3 {
    font-family: var(--ag-font-heading);
    font-size: 17px;
    font-weight: 700;
}

.ag-footer__column p,
.ag-footer__column li,
.ag-footer__column a,
.ag-footer__brand p {
    font-family: var(--ag-font-body);
    font-size: 12px;
    line-height: 1.65;
}

/* Tablet */

@media (max-width: 1120px) {
    .ag-panel__heading h2,
    .ag-module-heading h2 {
        font-size: 20px !important;
    }

    .ag-featured-news h3,
    .ag-category-card__title {
        font-size: 21px;
    }

    .ag-entry-content {
        font-size: 17px;
    }
}

/* Mobile */

@media (max-width: 640px) {
    .ag-hero--final h1 {
        font-size: 43px;
    }

    .ag-panel__heading h2,
    .ag-module-heading h2 {
        font-size: 19px !important;
    }

    .ag-featured-news h3,
    .ag-category-card__title {
        font-size: 20px;
    }

    .ag-category-header__title {
        font-size: 38px;
    }

    .ag-single-article__title {
        font-size: 38px;
    }

    .ag-entry-content {
        font-size: 16px;
        line-height: 1.68;
    }
}

/* =====================================================
   Homepage top panels — final content alignment
   ===================================================== */

.ag-dashboard .ag-panel--medals,
.ag-dashboard .ag-panel--schedule,
.ag-dashboard .ag-panel--highlight {
    display: flex;
    flex-direction: column;
}

/* Paragraf pertama Berita Terbaru */
.ag-featured-news__lead {
    display: -webkit-box;
    margin: 9px 0 0;
    overflow: hidden;
    color: #46536a;
    font-family: var(--ag-font-body);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.ag-panel--news .ag-featured-news time {
    display: block;
    margin-top: 7px;
}

/* Footer Klasemen dan Jadwal sejajar */
.ag-dashboard .ag-panel--medals .ag-panel__meta,
.ag-dashboard .ag-panel--schedule .ag-panel__meta {
    width: 100%;
    min-height: 38px !important;
    margin-top: auto !important;
    padding-top: 9px !important;
    align-items: flex-start;
    border-top: 1px solid var(--ag-line);
    box-sizing: border-box;
}

/* Tulisan Update Terakhir */
.ag-dashboard .ag-panel__meta > span:first-child,
.ag-dashboard .ag-panel--schedule .ag-panel__meta {
    color: var(--ag-navy);
    font-family: var(--ag-font-body);
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3;
}

/* Tombol LIVE */
.ag-dashboard .ag-live-label {
    display: inline-flex;
    min-width: 48px;
    min-height: 26px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--ag-red) !important;
    color: #ffffff !important;
    font-family: var(--ag-font-body);
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1;
    text-decoration: none;
}

.ag-dashboard .ag-live-label:hover {
    background: var(--ag-navy) !important;
    color: #ffffff !important;
}

/* Slider Atlet Highlights */
.ag-dashboard .ag-panel--highlight .ag-highlight-slider {
    display: flex;
    flex: 1;
    min-height: 0;
    flex-direction: column;
}

.ag-dashboard
.ag-panel--highlight
.ag-highlight-slider__viewport {
    flex: 0 0 auto;
}

/* Dots sejajar dengan footer Klasemen dan Jadwal */
.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    min-height: 38px;
    margin-top: auto !important;
    padding-top: 9px;
    align-items: flex-start;
    border-top: 1px solid var(--ag-line);
    box-sizing: border-box;
}

.ag-dashboard .ag-panel--highlight {
    padding-bottom: 0 !important;
}

.ag-dashboard
.ag-panel--highlight
.ag-highlight-slider {
    padding-bottom: 0;
}

.ag-dashboard .ag-panel--medals .ag-medal-table,
.ag-dashboard .ag-panel--schedule .ag-schedule-list {
    flex: 0 0 auto;
}

@media (max-width: 1120px) {
    .ag-featured-news__lead {
        font-size: 12px;
    }
}

@media (max-width: 640px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-dots[data-highlight-dots] {
        align-items: center;
    }
}

/* =====================================================
   Atlet Highlights footer line alignment
   ===================================================== */

.ag-dashboard .ag-panel--highlight {
    position: relative;
    padding-bottom: 50px !important;
}

/* Slider tidak lagi menentukan posisi footer dots */
.ag-dashboard .ag-panel--highlight .ag-highlight-slider {
    position: static;
    display: block;
}

/* Garis dan dots dikunci di dasar panel */
.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    position: absolute;
    right: 22px;
    bottom: 0;
    left: 22px;

    display: flex;
    width: auto;
    min-height: 38px;
    margin: 0 !important;
    padding: 9px 0 0;

    align-items: flex-start;
    justify-content: center;

    border-top: 1px solid var(--ag-line);
    box-sizing: border-box;
}

/* Hilangkan aturan margin auto sebelumnya */
.ag-dashboard
.ag-panel--highlight
.ag-highlight-slider
.ag-dots[data-highlight-dots] {
    margin-top: 0 !important;
}

/* Samakan tinggi footer Jadwal dan Klasemen */
.ag-dashboard .ag-panel--medals .ag-panel__meta,
.ag-dashboard .ag-panel--schedule .ag-panel__meta {
    min-height: 38px !important;
    padding-top: 9px !important;
    padding-bottom: 0 !important;
}

@media (min-width: 1600px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-dots[data-highlight-dots] {
        right: 28px;
        left: 28px;
    }
}

@media (max-width: 640px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-dots[data-highlight-dots] {
        right: 16px;
        left: 16px;
        align-items: center;
    }
}

/* =====================================================
   Atlet Highlights footer exact alignment
   ===================================================== */

/* Sediakan ruang footer yang sama dengan panel Jadwal */
.ag-dashboard .ag-panel--highlight {
    padding-bottom: 62px !important;
}

/* Garis berada 62px dari dasar panel */
.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    position: absolute !important;
    right: 22px !important;
    bottom: 0 !important;
    left: 22px !important;

    width: auto !important;
    min-height: 62px !important;
    height: 62px !important;
    margin: 0 !important;
    padding: 11px 0 0 !important;

    align-items: flex-start !important;
    justify-content: center !important;

    border-top: 1px solid var(--ag-line) !important;
    box-sizing: border-box;
}

/* Footer Jadwal dan Klasemen juga dikunci sama tinggi */
.ag-dashboard .ag-panel--medals .ag-panel__meta,
.ag-dashboard .ag-panel--schedule .ag-panel__meta {
    min-height: 62px !important;
    height: 62px !important;
    margin-top: auto !important;
    padding-top: 10px !important;
    box-sizing: border-box;
}

/* Hilangkan margin lain yang bisa menurunkan dots */
.ag-dashboard
.ag-panel--highlight
.ag-highlight-slider
.ag-dots[data-highlight-dots] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (min-width: 1600px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-dots[data-highlight-dots] {
        right: 28px !important;
        left: 28px !important;
    }
}

@media (max-width: 640px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-dots[data-highlight-dots] {
        right: 16px !important;
        left: 16px !important;
    }
}

/* Atlet Highlights — naikkan footer agar sejajar Jadwal */

.ag-dashboard .ag-panel--highlight {
    padding-bottom: 77px !important;
}

.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    position: absolute !important;
    right: 22px !important;
    bottom: 15px !important;
    left: 22px !important;

    width: auto !important;
    height: 62px !important;
    min-height: 62px !important;

    margin: 0 !important;
    padding: 11px 0 0 !important;

    border-top: 1px solid var(--ag-line) !important;
    box-sizing: border-box;
}

/* Pastikan tidak ada transform atau margin lama */
.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    transform: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (min-width: 1600px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-dots[data-highlight-dots] {
        right: 28px !important;
        left: 28px !important;
    }
}

/* Atlet Highlights — micro alignment final */

.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    bottom: 19px !important;
}

/* Atlet Highlights — micro alignment final */

.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    bottom: 17px !important;
}

/* Atlet Highlights — micro alignment final */

.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    bottom: 16px !important;
}

/* =====================================================
   Atlet Highlights — taller image, tighter empty space
   ===================================================== */

.ag-dashboard
.ag-panel--highlight
.ag-highlight-slide
.ag-highlight-card__image {
    height: 258px !important;
    aspect-ratio: auto !important;
}

/* Foto tetap memenuhi area tanpa berubah rasio aneh */
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Panel tetap menyediakan footer untuk dots */
.ag-dashboard .ag-panel--highlight {
    padding-bottom: 77px !important;
}

/* Dots dan garis tetap di posisi yang sudah disepakati */
.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    bottom: 19px !important;
}

/* Posisi overlay mengikuti tinggi gambar baru */
.ag-dashboard .ag-highlight-card__overlay {
    bottom: 46px !important;
}

.ag-dashboard .ag-panel--highlight .ag-play {
    top: 46% !important;
}

/* Desktop besar */
@media (min-width: 1500px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-slide
    .ag-highlight-card__image {
        height: 275px !important;
    }
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-slide
    .ag-highlight-card__image {
        height: 235px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-slide
    .ag-highlight-card__image {
        height: 215px !important;
    }
}

/* =====================================================
   Atlet Highlights — premium centered card
   ===================================================== */

.ag-dashboard .ag-panel--highlight {
    position: relative;
    padding-right: 28px !important;
    padding-bottom: 68px !important;
    padding-left: 28px !important;
}

/* Area slider dibuat terpusat */
.ag-dashboard .ag-panel--highlight .ag-highlight-slider {
    display: flex;
    width: 100%;
    flex: 1;
    flex-direction: column;
    justify-content: center;
}

.ag-dashboard
.ag-panel--highlight
.ag-highlight-slider__viewport {
    width: 100%;
    margin: auto 0;
}

/* Gambar tidak lagi menempel dari ujung ke ujung */
.ag-dashboard
.ag-panel--highlight
.ag-highlight-slide
.ag-highlight-card__image {
    width: calc(100% - 24px) !important;
    height: 245px !important;
    margin: 0 auto !important;
    overflow: hidden;
    border-radius: 14px !important;
    aspect-ratio: auto !important;
    box-shadow:
        0 10px 28px rgba(7, 26, 56, 0.14);
}

/* Foto memenuhi rounded card */
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: inherit;
}

/* Hilangkan garis horizontal di atas dots */
.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    right: 28px !important;
    bottom: 14px !important;
    left: 28px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding-top: 8px !important;
    border-top: 0 !important;
}

/* Dots tetap rapi di tengah */
.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    align-items: flex-start !important;
    justify-content: center !important;
}

/* Badge mengikuti rounded card */
.ag-dashboard .ag-highlight-card__category {
    top: 14px !important;
    left: 18px !important;
}

/* Play dan teks tetap aman */
.ag-dashboard .ag-panel--highlight .ag-play {
    right: 34px !important;
    top: 46% !important;
}

.ag-dashboard .ag-highlight-card__overlay {
    right: 24px !important;
    bottom: 42px !important;
}

/* Desktop lebar */
@media (min-width: 1500px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-slide
    .ag-highlight-card__image {
        width: calc(100% - 34px) !important;
        height: 260px !important;
    }
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-dashboard .ag-panel--highlight {
        padding-right: 22px !important;
        padding-left: 22px !important;
    }

    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-slide
    .ag-highlight-card__image {
        width: 100% !important;
        height: 230px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-dashboard .ag-panel--highlight {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-slide
    .ag-highlight-card__image {
        height: 210px !important;
        border-radius: 11px !important;
    }
}

/* =====================================================
   Berita Terbaru — rounded premium thumbnail
   ===================================================== */

.ag-dashboard .ag-panel--news .ag-featured-news__image {
    overflow: hidden;
    border-radius: 12px !important;
    box-shadow:
        0 8px 22px rgba(7, 26, 56, 0.12);
}

.ag-dashboard .ag-panel--news .ag-featured-news__image img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.3s ease;
}

.ag-dashboard
.ag-panel--news
.ag-featured-news:hover
.ag-featured-news__image img {
    transform: scale(1.025);
}

/* Mobile sedikit lebih halus */
@media (max-width: 640px) {
    .ag-dashboard .ag-panel--news .ag-featured-news__image {
        border-radius: 10px !important;
    }
}

/* =====================================================
   Profile row heading typography alignment
   ===================================================== */

.ag-profile .ag-cdm-card .ag-module-heading h2,
.ag-profile .ag-sports-card .ag-module-heading h2,
.ag-profile .ag-athletes-card .ag-module-heading h2 {
    font-family: var(--ag-font-heading) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
    color: var(--ag-navy);
}

/* Tinggi heading ketiga modul disamakan */
.ag-profile .ag-cdm-card .ag-module-heading,
.ag-profile .ag-sports-card .ag-module-heading,
.ag-profile .ag-athletes-card .ag-module-heading {
    min-height: 60px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: center !important;
}

/* Posisi horizontal Sambutan mengikuti modul samping */
.ag-profile .ag-cdm-card .ag-module-heading {
    padding-right: 35px !important;
    padding-left: 35px !important;
}

/* Link Lihat Semua tetap memakai font UI */
.ag-profile .ag-module-heading a {
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: none;
}

@media (max-width: 1120px) {
    .ag-profile .ag-cdm-card .ag-module-heading h2,
    .ag-profile .ag-sports-card .ag-module-heading h2,
    .ag-profile .ag-athletes-card .ag-module-heading h2 {
        font-size: 20px !important;
    }
}

@media (max-width: 640px) {
    .ag-profile .ag-cdm-card .ag-module-heading h2,
    .ag-profile .ag-sports-card .ag-module-heading h2,
    .ag-profile .ag-athletes-card .ag-module-heading h2 {
        font-size: 19px !important;
    }

    .ag-profile .ag-cdm-card .ag-module-heading {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }
}

/* =====================================================
   Profile row final polish
   Cabor 6 cards + directory typography
   ===================================================== */

/* Ketiga modul menggunakan tinggi yang sama */
.ag-profile-grid > .ag-cdm-card,
.ag-profile-grid > .ag-sports-card,
.ag-profile-grid > .ag-athletes-card {
    min-height: 390px !important;
}

/* Heading atas sedikit lebih tinggi dan lapang */
.ag-profile .ag-module-heading {
    min-height: 66px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 1px solid var(--ag-line);
}

/* Garis pembatas bawah modul */
.ag-profile-grid > article {
    border-bottom: 1px solid var(--ag-line) !important;
}

/* =====================================================
   DAFTAR CABOR — tepat 6 card / 3 kolom
   ===================================================== */

.ag-profile .ag-sports-card__body {
    padding: 18px 20px 22px !important;
}

.ag-profile .ag-sports-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

/* Tinggi enam card dibuat lebih berisi */
.ag-profile .ag-sports-grid > * {
    display: flex;
    min-height: 92px !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 8px !important;
    border: 1px solid var(--ag-line);
    border-radius: 9px;
    background: #ffffff;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.ag-profile .ag-sports-grid > *:hover {
    border-color: rgba(225, 24, 31, 0.45);
    box-shadow: 0 8px 20px rgba(7, 26, 56, 0.08);
    transform: translateY(-2px);
}

.ag-profile .ag-sports-grid span,
.ag-profile .ag-sports-grid i {
    margin-bottom: 7px;
    font-size: 23px !important;
    line-height: 1;
}

.ag-profile .ag-sports-grid strong {
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25;
    text-align: center;
}

/* =====================================================
   DIREKTORI ATLET & OFISIAL
   ===================================================== */

.ag-profile .ag-athletes-card__body {
    padding: 14px 18px 22px !important;
}

/* Filter Semua / Atlet / Ofisial */
.ag-profile .ag-athlete-filters {
    display: flex;
    min-height: 38px;
    margin-bottom: 12px !important;
    align-items: center;
    gap: 8px !important;
}

.ag-profile .ag-athlete-filters button,
.ag-profile .ag-athlete-filter {
    min-width: 66px;
    min-height: 32px;
    padding: 0 15px !important;
    border-radius: 999px;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1;
}

/* Empat direktori tetap satu baris */
.ag-profile .ag-athlete-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

/* Gambar direktori dibuat lebih premium */
.ag-profile .ag-athlete-card__image,
.ag-profile .ag-athlete-grid figure,
.ag-profile .ag-athlete-grid__image {
    overflow: hidden;
    border-radius: 10px !important;
}

.ag-profile .ag-athlete-grid img {
    display: block;
    width: 100%;
    height: 142px !important;
    object-fit: cover;
    object-position: center;
}

/* Nama atlet yang sebelumnya terlalu kecil */
.ag-profile .ag-athlete-grid strong,
.ag-profile .ag-athlete-card__name {
    display: block;
    margin-top: 9px !important;
    color: var(--ag-navy);
    font-family: var(--ag-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

/* Cabang olahraga atlet */
.ag-profile .ag-athlete-grid small,
.ag-profile .ag-athlete-card__sport {
    display: block;
    margin-top: 4px !important;
    color: #68758b;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* Desktop lebar */
@media (min-width: 1500px) {
    .ag-profile-grid > .ag-cdm-card,
    .ag-profile-grid > .ag-sports-card,
    .ag-profile-grid > .ag-athletes-card {
        min-height: 410px !important;
    }

    .ag-profile .ag-sports-grid > * {
        min-height: 98px !important;
    }

    .ag-profile .ag-athlete-grid img {
        height: 150px !important;
    }

    .ag-profile .ag-athlete-grid strong {
        font-size: 14px !important;
    }

    .ag-profile .ag-athlete-grid small {
        font-size: 12px !important;
    }
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-profile .ag-athlete-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ag-profile .ag-athlete-grid img {
        height: 180px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-profile .ag-sports-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ag-profile .ag-athlete-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .ag-profile .ag-athlete-grid img {
        height: 135px !important;
    }

    .ag-profile .ag-athlete-grid strong {
        font-size: 12px !important;
    }

    .ag-profile .ag-athlete-grid small {
        font-size: 10px !important;
    }
}

/* =====================================================
   Direktori Atlet & Ofisial — typography stronger
   ===================================================== */

/* Filter dibuat lebih tegas dan lebar seperti mockup */
.ag-profile .ag-athlete-filters {
    gap: 10px !important;
    margin-bottom: 14px !important;
}

.ag-profile .ag-athlete-filters button,
.ag-profile .ag-athlete-filter {
    min-width: 90px !important;
    min-height: 34px !important;
    padding: 0 18px !important;
    border: 1px solid #d7dce5 !important;
    border-radius: 999px !important;
    background: #ffffff;
    color: var(--ag-navy);
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

.ag-profile .ag-athlete-filters button.is-active,
.ag-profile .ag-athlete-filter.is-active,
.ag-profile .ag-athlete-filters button:first-child {
    border-color: var(--ag-red) !important;
    background: var(--ag-red) !important;
    color: #ffffff !important;
}

/* Nama atlet dibuat padat dan tegas */
.ag-profile .ag-athlete-grid strong,
.ag-profile .ag-athlete-card__name {
    display: block;
    margin-top: 10px !important;
    color: #071a38 !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.15px !important;
}

/* Cabang olahraga tetap lebih kecil, tapi jelas */
.ag-profile .ag-athlete-grid small,
.ag-profile .ag-athlete-card__sport {
    display: block;
    margin-top: 5px !important;
    color: #58667d !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}

/* Card tidak menyisakan ruang bawah terlalu besar */
.ag-profile .ag-athlete-grid > * {
    min-width: 0;
    padding-bottom: 4px;
}

/* Judul panjang maksimal dua baris */
.ag-profile .ag-athlete-grid strong,
.ag-profile .ag-athlete-card__name {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* Desktop besar */
@media (min-width: 1500px) {
    .ag-profile .ag-athlete-grid strong,
    .ag-profile .ag-athlete-card__name {
        font-size: 19px !important;
    }

    .ag-profile .ag-athlete-grid small,
    .ag-profile .ag-athlete-card__sport {
        font-size: 13px !important;
    }
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-profile .ag-athlete-grid strong,
    .ag-profile .ag-athlete-card__name {
        font-size: 17px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-profile .ag-athlete-filters button,
    .ag-profile .ag-athlete-filter {
        min-width: 74px !important;
        min-height: 32px !important;
        padding: 0 13px !important;
        font-size: 11px !important;
    }

    .ag-profile .ag-athlete-grid strong,
    .ag-profile .ag-athlete-card__name {
        font-size: 15px !important;
    }

    .ag-profile .ag-athlete-grid small,
    .ag-profile .ag-athlete-card__sport {
        font-size: 11px !important;
    }
}

/* =====================================================
   Direktori Atlet — filter besar + horizontal slider
   ===================================================== */

/* Filter lebih besar seperti mockup */
.ag-profile .ag-athlete-filters {
    gap: 12px !important;
    margin-bottom: 16px !important;
}

.ag-profile .ag-athlete-filters button,
.ag-profile .ag-athlete-filter {
    min-width: 112px !important;
    min-height: 40px !important;
    padding: 0 22px !important;
    border: 1px solid #d4dbe6 !important;
    border-radius: 999px !important;
    font-family: var(--ag-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.ag-profile .ag-athlete-filters button.is-active,
.ag-profile .ag-athlete-filter.is-active,
.ag-profile .ag-athlete-filters button:first-child {
    border-color: var(--ag-red) !important;
    background: var(--ag-red) !important;
    color: #ffffff !important;
}

/* Slider wrapper */
.ag-athlete-slider {
    position: relative;
}

.ag-athlete-slider__viewport {
    width: 100%;
    overflow: hidden;
}

/* Track horizontal */
.ag-profile .ag-athlete-slider .ag-athlete-grid {
    display: flex !important;
    gap: 16px !important;
    width: max-content;
    transition: transform 0.35s ease;
    will-change: transform;
}

/* Empat card terlihat sekaligus */
.ag-profile .ag-athlete-slider .ag-athlete-grid > * {
    flex: 0 0 calc((100vw - 420px) / 4);
    width: calc((100vw - 420px) / 4);
    max-width: 270px;
    min-width: 210px;
}

/* Tombol panah */
.ag-athlete-slider__arrow {
    position: absolute;
    z-index: 8;
    top: 43%;
    display: grid;
    width: 48px;
    height: 48px;
    padding: 0;
    place-items: center;
    transform: translateY(-50%);
    border: 1px solid #d2d9e3;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    color: var(--ag-navy);
    box-shadow: 0 8px 24px rgba(7, 26, 56, 0.16);
    cursor: pointer;
    font-family: Arial, sans-serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1;
    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.ag-athlete-slider__arrow:hover {
    background: var(--ag-red);
    color: #ffffff;
    transform: translateY(-50%) scale(1.05);
}

.ag-athlete-slider__arrow--prev {
    left: -18px;
}

.ag-athlete-slider__arrow--next {
    right: -18px;
}

.ag-athlete-slider__arrow:disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

/* Nama dan cabang tetap tegas */
.ag-profile .ag-athlete-grid strong {
    margin-top: 10px !important;
    font-size: 18px !important;
    line-height: 1.08 !important;
}

.ag-profile .ag-athlete-grid small {
    margin-top: 5px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-profile .ag-athlete-slider .ag-athlete-grid > * {
        flex-basis: calc((100vw - 110px) / 2);
        width: calc((100vw - 110px) / 2);
        max-width: none;
    }

    .ag-athlete-slider__arrow--prev {
        left: -8px;
    }

    .ag-athlete-slider__arrow--next {
        right: -8px;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-profile .ag-athlete-filters button,
    .ag-profile .ag-athlete-filter {
        min-width: 86px !important;
        min-height: 36px !important;
        padding: 0 16px !important;
        font-size: 12px !important;
    }

    .ag-profile .ag-athlete-slider .ag-athlete-grid > * {
        flex-basis: calc(100vw - 64px);
        width: calc(100vw - 64px);
    }

    .ag-athlete-slider__arrow {
        width: 42px;
        height: 42px;
        font-size: 29px;
    }
}

/* =====================================================
   Direktori Atlet — filter pill forced final
   ===================================================== */

/* Area filter */
.ag-profile .ag-athletes-card .ag-athlete-filters,
.ag-profile .ag-athletes-card .ag-athlete-tabs,
.ag-profile .ag-athletes-card .ag-directory-filters {
    display: flex !important;
    min-height: 46px !important;
    margin: 0 0 16px !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Tangkap semua kemungkinan tombol filter */
.ag-profile .ag-athletes-card button:not(.ag-athlete-slider__arrow),
.ag-profile .ag-athletes-card .ag-athlete-filter,
.ag-profile .ag-athletes-card .ag-filter-pill,
.ag-profile .ag-athletes-card [role="tab"] {
    display: inline-flex !important;
    width: auto !important;
    min-width: 98px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 22px !important;

    align-items: center !important;
    justify-content: center !important;

    border: 1px solid #d2d9e4 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #17233b !important;

    font-family: var(--ag-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;

    appearance: none;
    cursor: pointer;
}

/* Tombol aktif */
.ag-profile .ag-athletes-card button.is-active:not(.ag-athlete-slider__arrow),
.ag-profile .ag-athletes-card button.active:not(.ag-athlete-slider__arrow),
.ag-profile .ag-athletes-card .ag-athlete-filter.is-active,
.ag-profile .ag-athletes-card .ag-filter-pill.is-active,
.ag-profile .ag-athletes-card [role="tab"][aria-selected="true"] {
    border-color: var(--ag-red) !important;
    background: var(--ag-red) !important;
    color: #ffffff !important;
}

/* Bila HTML belum punya class aktif, tombol pertama tetap merah */
.ag-profile
.ag-athletes-card
button:not(.ag-athlete-slider__arrow):first-child {
    border-color: var(--ag-red) !important;
    background: var(--ag-red) !important;
    color: #ffffff !important;
}

/* Hover */
.ag-profile
.ag-athletes-card
button:not(.ag-athlete-slider__arrow):hover {
    border-color: var(--ag-red) !important;
    color: var(--ag-red) !important;
}

.ag-profile
.ag-athletes-card
button:not(.ag-athlete-slider__arrow):first-child:hover {
    color: #ffffff !important;
}

/* Jangan sampai aturan filter mengenai panah slider */
.ag-profile .ag-athlete-slider__arrow {
    min-width: 0 !important;
    padding: 0 !important;
}

@media (max-width: 640px) {
    .ag-profile .ag-athletes-card button:not(.ag-athlete-slider__arrow),
    .ag-profile .ag-athletes-card .ag-athlete-filter,
    .ag-profile .ag-athletes-card .ag-filter-pill,
    .ag-profile .ag-athletes-card [role="tab"] {
        min-width: 82px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 15px !important;
        font-size: 12px !important;
    }
}

/* =====================================================
   Profile row — reduce excessive vertical height
   ===================================================== */

/* Hilangkan tinggi paksa yang terlalu besar */
.ag-profile-grid > .ag-cdm-card,
.ag-profile-grid > .ag-sports-card,
.ag-profile-grid > .ag-athletes-card {
    min-height: 0 !important;
    height: auto !important;
}

/* Grid tetap membuat ketiga modul setinggi panel tertinggi */
.ag-profile-grid {
    align-items: stretch !important;
}

/* Isi ketiga panel dibuat lebih ringkas */
.ag-profile .ag-cdm-card__body,
.ag-profile .ag-sports-card__body,
.ag-profile .ag-athletes-card__body {
    min-height: 0 !important;
}

/* Daftar Cabor */
.ag-profile .ag-sports-card__body {
    padding-top: 14px !important;
    padding-bottom: 16px !important;
}

.ag-profile .ag-sports-grid {
    gap: 10px !important;
}

.ag-profile .ag-sports-grid > * {
    min-height: 82px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Direktori Atlet */
.ag-profile .ag-athletes-card__body {
    padding-top: 12px !important;
    padding-bottom: 16px !important;
}

.ag-profile .ag-athlete-filters,
.ag-profile .ag-athlete-tabs,
.ag-profile .ag-directory-filters {
    min-height: 0 !important;
    margin-bottom: 10px !important;
}

.ag-profile .ag-athlete-grid > * {
    padding-bottom: 0 !important;
}

/* Sambutan Ketua CdM */
.ag-profile .ag-cdm-card__body {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

/* Garis pembatas bawah mengikuti isi */
.ag-profile-grid > article {
    padding-bottom: 0 !important;
}

/* Hilangkan garis bawah heading baris Profil Kontingen */
.ag-profile .ag-cdm-card .ag-module-heading,
.ag-profile .ag-sports-card .ag-module-heading,
.ag-profile .ag-athletes-card .ag-module-heading {
    border-bottom: 0 !important;
}

/* =====================================================
   TOP DASHBOARD — MOCKUP FLOW FINAL
   Meta line dekat konten, slider mengikuti otomatis
   ===================================================== */

/* Jangan paksa konten ke dasar panel */
.ag-dashboard .ag-panel--medals,
.ag-dashboard .ag-panel--schedule,
.ag-dashboard .ag-panel--highlight {
    display: block !important;
}

/* =====================================================
   Klasemen dan Jadwal
   ===================================================== */

.ag-dashboard .ag-panel--medals .ag-panel__meta,
.ag-dashboard .ag-panel--schedule .ag-panel__meta {
    display: flex !important;
    position: static !important;

    width: 100% !important;
    height: auto !important;
    min-height: 32px !important;

    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 0 !important;

    align-items: center !important;
    justify-content: space-between !important;

    border-top: 1px solid var(--ag-line) !important;
    box-sizing: border-box;
}

/* Tabel dan jadwal tidak menyisakan margin besar */
.ag-dashboard .ag-panel--medals .ag-medal-table,
.ag-dashboard .ag-panel--schedule .ag-schedule-list {
    margin-bottom: 0 !important;
}

/* Tulisan Update Terakhir */
.ag-dashboard .ag-panel__meta > span:first-child {
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

/* Tombol LIVE tetap sejajar di kanan */
.ag-dashboard .ag-live-label {
    margin-left: auto !important;
}

/* =====================================================
   Atlet Highlights
   ===================================================== */

/* Hapus ruang footer paksa sebelumnya */
.ag-dashboard .ag-panel--highlight {
    position: relative !important;
    padding-bottom: 18px !important;
}

/* Slider kembali mengikuti alur normal */
.ag-dashboard .ag-panel--highlight .ag-highlight-slider {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

/* Viewport mengikuti tinggi gambar */
.ag-dashboard
.ag-panel--highlight
.ag-highlight-slider__viewport {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
}

/* Gambar slider */
.ag-dashboard
.ag-panel--highlight
.ag-highlight-slide
.ag-highlight-card__image {
    width: calc(100% - 24px) !important;
    height: 245px !important;
    margin: 0 auto !important;
    border-radius: 14px !important;
}

/* Dots kembali normal tepat di bawah gambar */
.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    position: static !important;

    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 10px 0 0 !important;
    padding: 0 !important;

    align-items: center !important;
    justify-content: center !important;

    border-top: 0 !important;
    transform: none !important;
}

/* Hapus nilai absolut lama */
.ag-dashboard
.ag-panel--highlight
.ag-highlight-slider
.ag-dots[data-highlight-dots] {
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
}

/* Panel atas tidak lagi memiliki tinggi minimum berlebihan */
.ag-dashboard .ag-panel {
    min-height: 0 !important;
}

/* Samakan padding bawah baris */
.ag-dashboard .ag-panel--medals,
.ag-dashboard .ag-panel--schedule {
    padding-bottom: 18px !important;
}

/* Desktop besar */
@media (min-width: 1500px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-slide
    .ag-highlight-card__image {
        height: 255px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-slide
    .ag-highlight-card__image {
        width: 100% !important;
        height: 215px !important;
    }
}

/* =====================================================
   Klasemen + Jadwal — exact footer alignment
   ===================================================== */

/* Kedua panel memakai layout flex yang sama */
.ag-dashboard .ag-panel--medals,
.ag-dashboard .ag-panel--schedule {
    display: flex !important;
    flex-direction: column !important;
}

/*
 * Samakan tinggi area isi sebelum footer.
 * Nilai ini membuat garis horizontal jatuh pada level yang sama.
 */
.ag-dashboard .ag-panel--medals .ag-medal-table,
.ag-dashboard .ag-panel--schedule .ag-schedule-list {
    flex: 0 0 auto !important;
}

.ag-dashboard .ag-panel--medals .ag-medal-table {
    min-height: 244px !important;
}

.ag-dashboard .ag-panel--schedule .ag-schedule-list {
    min-height: 244px !important;
}

/* Footer meta dibuat identik */
.ag-dashboard .ag-panel--medals .ag-panel__meta,
.ag-dashboard .ag-panel--schedule .ag-panel__meta {
    display: flex !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding: 9px 0 0 !important;

    align-items: flex-start !important;
    justify-content: space-between !important;

    border-top: 1px solid var(--ag-line) !important;
    box-sizing: border-box !important;
}

/* Teks Update Terakhir di posisi identik */
.ag-dashboard .ag-panel--medals .ag-panel__meta > span:first-child,
.ag-dashboard .ag-panel--schedule .ag-panel__meta > span:first-child {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    color: var(--ag-navy) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

/* Tombol LIVE tetap sejajar pada baris yang sama */
.ag-dashboard .ag-panel--medals .ag-live-label {
    margin-top: -1px !important;
    margin-left: auto !important;
}

/* Hilangkan margin lama yang menggeser footer */
.ag-dashboard .ag-panel--medals .ag-medal-table,
.ag-dashboard .ag-panel--schedule .ag-schedule-list {
    margin-bottom: 0 !important;
}

@media (max-width: 1120px) {
    .ag-dashboard .ag-panel--medals .ag-medal-table,
    .ag-dashboard .ag-panel--schedule .ag-schedule-list {
        min-height: 0 !important;
    }
}

/* =====================================================
   LIVE button recovery
   ===================================================== */

.ag-dashboard .ag-panel--medals .ag-panel__meta {
    align-items: center !important;
}

.ag-dashboard .ag-panel--medals .ag-live-label {
    display: inline-flex !important;
    width: auto !important;
    min-width: 54px !important;
    height: 30px !important;
    min-height: 30px !important;

    margin: 0 0 0 auto !important;
    padding: 0 12px !important;

    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 999px !important;
    background: var(--ag-red) !important;
    color: #ffffff !important;

    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.ag-dashboard .ag-panel--medals .ag-live-label:hover {
    background: var(--ag-navy) !important;
    color: #ffffff !important;
}

/* Update Terakhir tetap sejajar kiri */
.ag-dashboard .ag-panel--medals .ag-panel__meta > span:first-child {
    margin: 0 !important;
}

/* LIVE button — hard reset final */

.ag-dashboard .ag-panel--medals .ag-panel__meta {
    align-items: flex-start !important;
}

.ag-dashboard .ag-panel--medals a.ag-live-label,
.ag-dashboard .ag-panel--medals a.ag-live-label:link,
.ag-dashboard .ag-panel--medals a.ag-live-label:visited,
.ag-dashboard .ag-panel--medals a.ag-live-label:hover,
.ag-dashboard .ag-panel--medals a.ag-live-label:focus {
    display: grid !important;
    width: 58px !important;
    min-width: 58px !important;
    height: 30px !important;
    min-height: 30px !important;

    margin: -3px 0 0 auto !important;
    padding: 0 !important;

    place-items: center !important;

    border: 0 !important;
    border-radius: 999px !important;
    background: #e31922 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 30px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

/* Pastikan tidak terkena pseudo-element link */
.ag-dashboard .ag-panel--medals a.ag-live-label::before,
.ag-dashboard .ag-panel--medals a.ag-live-label::after {
    display: none !important;
    content: none !important;
}

/* =====================================================
   LIVE button — reset link and inner elements
   ===================================================== */

.ag-dashboard .ag-panel--medals .ag-panel__meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.ag-dashboard .ag-panel--medals .ag-live-label,
.ag-dashboard .ag-panel--medals .ag-live-label:link,
.ag-dashboard .ag-panel--medals .ag-live-label:visited {
    position: static !important;
    display: inline-flex !important;

    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;

    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;

    margin: 0 0 0 auto !important;
    padding: 0 !important;

    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 999px !important;
    background: #e31922 !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-align: center !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

/* Reset apabila LIVE dibungkus span/strong */
.ag-dashboard .ag-panel--medals .ag-live-label *,
.ag-dashboard .ag-panel--medals .ag-live-label span,
.ag-dashboard .ag-panel--medals .ag-live-label strong {
    position: static !important;
    display: block !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    transform: none !important;
    vertical-align: baseline !important;
}

/* Hilangkan pseudo-element */
.ag-dashboard .ag-panel--medals .ag-live-label::before,
.ag-dashboard .ag-panel--medals .ag-live-label::after,
.ag-dashboard .ag-panel--medals .ag-live-label *::before,
.ag-dashboard .ag-panel--medals .ag-live-label *::after {
    display: none !important;
    content: none !important;
}

/* LIVE button — vertical center final */

.ag-dashboard .ag-panel--medals .ag-panel__meta {
    align-items: center !important;
}

.ag-dashboard .ag-panel--medals .ag-live-label,
.ag-dashboard .ag-panel--medals .ag-live-label:link,
.ag-dashboard .ag-panel--medals .ag-live-label:visited {
    transform: translateY(-4px) !important;
}

/* LIVE button — vertical position correction */
.ag-dashboard .ag-panel--medals .ag-live-label,
.ag-dashboard .ag-panel--medals .ag-live-label:link,
.ag-dashboard .ag-panel--medals .ag-live-label:visited {
    transform: translateY(3px) !important;
}

/* LIVE button — lower position final */

.ag-dashboard .ag-panel--medals .ag-panel__meta {
    align-items: flex-start !important;
}

.ag-dashboard .ag-panel--medals .ag-live-label,
.ag-dashboard .ag-panel--medals .ag-live-label:link,
.ag-dashboard .ag-panel--medals .ag-live-label:visited {
    margin-top: 8px !important;
    transform: none !important;
}

/* =====================================================
   Klasemen footer — exact vertical centering
   ===================================================== */

body.home
.ag-dashboard
.ag-panel--medals
.ag-panel__meta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;

    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    align-items: center !important;
    column-gap: 12px !important;

    border-top: 1px solid var(--ag-line) !important;
    box-sizing: border-box !important;
}

/* Tulisan Update Terakhir */
body.home
.ag-dashboard
.ag-panel--medals
.ag-panel__meta > span:first-child {
    align-self: center !important;
    justify-self: start !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;
}

/* Tombol LIVE benar-benar di tengah footer */
body.home
.ag-dashboard
.ag-panel--medals
.ag-panel__meta > .ag-live-label {
    position: static !important;
    display: flex !important;

    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;

    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;

    margin: 0 !important;
    padding: 0 !important;

    align-self: center !important;
    justify-self: end !important;
    align-items: center !important;
    justify-content: center !important;

    transform: none !important;
    line-height: 1 !important;
}

/* =====================================================
   ATLET HIGHLIGHTS — MOCKUP STYLE FINAL
   Foto kiri + informasi kanan
   ===================================================== */

body.home
.ag-dashboard
.ag-panel--highlight {
    padding-right: 26px !important;
    padding-bottom: 16px !important;
    padding-left: 26px !important;
}

/* Slider mengikuti alur normal */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-slider {
    position: static !important;
    display: block !important;
    width: 100% !important;
}

/* Area slide */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-slide {
    width: 100% !important;
}

/* Card utama */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-slide
.ag-highlight-card__image {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    height: 220px !important;
    margin: 0 !important;

    overflow: hidden !important;
    border-radius: 10px !important;
    background: #071a38 !important;

    box-shadow:
        0 8px 22px rgba(7, 26, 56, 0.12) !important;

    aspect-ratio: auto !important;
}

/* Foto hanya mengisi sisi kiri */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__photo {
    position: absolute !important;
    z-index: 1 !important;

    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 52% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;

    border-radius: 0 !important;
}

/* Panel navy sebelah kanan */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__image::after {
    position: absolute !important;
    z-index: 2 !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 52% !important;

    background:
        linear-gradient(
            135deg,
            #0a2348 0%,
            #071a38 58%,
            #06152f 100%
        ) !important;

    content: "" !important;
}

/* Gradient tipis pada sambungan foto */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__image::before {
    position: absolute !important;
    z-index: 3 !important;

    top: 0 !important;
    bottom: 0 !important;
    left: 44% !important;

    width: 13% !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(7, 26, 56, 0.92)
        ) !important;

    content: "" !important;
}

/* Badge Atlet Unggulan */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__category {
    position: absolute !important;
    z-index: 8 !important;

    top: 14px !important;
    left: 14px !important;

    margin: 0 !important;
    padding: 7px 13px !important;

    border-radius: 999px !important;
    background: var(--ag-red) !important;
    color: #ffffff !important;

    font-family: var(--ag-font-body) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

/* Informasi atlet di panel kanan */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__overlay {
    position: absolute !important;
    z-index: 7 !important;

    top: 50% !important;
    right: 20px !important;
    bottom: auto !important;
    left: 60% !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translateY(-50%) !important;

    color: #ffffff !important;
    text-align: left !important;
}

/* Nama atlet */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__overlay strong {
    display: -webkit-box !important;
    overflow: hidden !important;

    margin: 0 !important;

    color: #ffffff !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

/* Deskripsi */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__overlay small {
    display: -webkit-box !important;
    overflow: hidden !important;

    margin-top: 9px !important;

    color: rgba(255, 255, 255, 0.78) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

/* Tombol play di perbatasan foto dan panel */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-play {
    position: absolute !important;
    z-index: 10 !important;

    top: 50% !important;
    right: auto !important;
    left: 52% !important;

    display: grid !important;
    width: 62px !important;
    height: 62px !important;

    padding: 0 !important;
    place-items: center !important;

    transform: translate(-50%, -50%) !important;

    border: 2px solid #ffffff !important;
    border-radius: 50% !important;
    background: rgba(7, 26, 56, 0.28) !important;
    color: #ffffff !important;

    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
}

/* Ikon play */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-play::before {
    display: block !important;
    width: 0 !important;
    height: 0 !important;

    margin-left: 4px !important;

    border-top: 8px solid transparent !important;
    border-bottom: 8px solid transparent !important;
    border-left: 13px solid #ffffff !important;

    content: "" !important;
}

/* Sembunyikan karakter ikon lama bila ada */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-play {
    font-size: 0 !important;
}

/* Durasi */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__duration {
    position: absolute !important;
    z-index: 9 !important;

    right: 12px !important;
    bottom: 12px !important;

    padding: 5px 8px !important;

    border-radius: 4px !important;
    background: #06152f !important;
    color: #ffffff !important;

    font-family: var(--ag-font-body) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

/* Dots tepat di bawah card */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] {
    position: static !important;

    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 10px 0 0 !important;
    padding: 0 !important;

    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    border: 0 !important;
    transform: none !important;
}

/* Ukuran dots */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] button {
    width: 9px !important;
    min-width: 9px !important;
    height: 9px !important;
    min-height: 9px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 50% !important;
    background: #c8ced8 !important;
}

body.home
.ag-dashboard
.ag-panel--highlight
.ag-dots[data-highlight-dots] button.is-active {
    background: var(--ag-red) !important;
}

/* Desktop besar */
@media (min-width: 1500px) {
    body.home
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-slide
    .ag-highlight-card__image {
        height: 230px !important;
    }

    body.home
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-card__overlay strong {
        font-size: 21px !important;
    }
}

/* Mobile: kembali menjadi gambar penuh dengan overlay bawah */
@media (max-width: 640px) {
    body.home
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-slide
    .ag-highlight-card__image {
        height: 220px !important;
    }

    body.home
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-card__photo {
        width: 100% !important;
    }

    body.home
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-card__image::after {
        width: 100% !important;
        background:
            linear-gradient(
                180deg,
                transparent 35%,
                rgba(6, 21, 47, 0.92) 100%
            ) !important;
    }

    body.home
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-card__image::before {
        display: none !important;
    }

    body.home
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-card__overlay {
        top: auto !important;
        right: 16px !important;
        bottom: 18px !important;
        left: 16px !important;
        transform: none !important;
    }

    body.home
    .ag-dashboard
    .ag-panel--highlight
    .ag-play {
        left: 50% !important;
    }
}

/* =====================================================
   Atlet Highlights — restore photo left panel
   ===================================================== */

body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__image {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background: #071a38 !important;
}

/* Foto harus tampil dan berada di atas background */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__photo {
    position: absolute !important;
    z-index: 2 !important;

    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 54% !important;
    max-width: none !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;

    transform: none !important;
}

/* Panel navy hanya di kanan */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__image::after {
    position: absolute !important;
    z-index: 3 !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;

    display: block !important;
    width: 52% !important;
    height: 100% !important;

    background: #0a2348 !important;
    content: "" !important;
    pointer-events: none !important;
}

/* Sambungan gradient tidak menutupi foto */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__image::before {
    position: absolute !important;
    z-index: 4 !important;

    top: 0 !important;
    bottom: 0 !important;
    left: 45% !important;

    width: 10% !important;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(10, 35, 72, 0.92) 100%
        ) !important;

    content: "" !important;
    pointer-events: none !important;
}

/* Semua konten tetap di atas */
body.home .ag-dashboard .ag-panel--highlight .ag-highlight-card__category,
body.home .ag-dashboard .ag-panel--highlight .ag-highlight-card__overlay,
body.home .ag-dashboard .ag-panel--highlight .ag-play,
body.home .ag-dashboard .ag-panel--highlight .ag-highlight-card__duration {
    z-index: 8 !important;
}

/* =====================================================
   Results row — ranking typography follows module 1
   ===================================================== */

/* Heading Modul 1 dan Modul 3 dibuat identik */
.ag-results-section .ag-result-calendar .ag-module-heading,
.ag-results-section .ag-ranking-card .ag-module-heading {
    min-height: 58px !important;
    padding: 0 28px !important;
    align-items: center !important;
}

/* Judul modul */
.ag-results-section .ag-result-calendar .ag-module-heading h2,
.ag-results-section .ag-ranking-card .ag-module-heading h2 {
    margin: 0 !important;
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

/* Link kanan */
.ag-results-section .ag-result-calendar .ag-module-heading a,
.ag-results-section .ag-ranking-card .ag-module-heading a {
    color: #33425b !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Body ranking */
.ag-results-section .ag-ranking-card__body {
    padding: 18px 28px 20px !important;
}

/* Tabel Modul 3 */
.ag-results-section .ag-mini-ranking {
    width: 100% !important;
    border-collapse: collapse !important;
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

/* Header tabel */
.ag-results-section .ag-mini-ranking th {
    padding: 10px 8px !important;
    color: #5d6a80 !important;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

/* Isi tabel */
.ag-results-section .ag-mini-ranking td {
    padding: 11px 8px !important;
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    vertical-align: middle !important;
}

/* Nama negara sedikit lebih tegas */
.ag-results-section .ag-mini-ranking td:nth-child(2) {
    font-weight: 600 !important;
}

/* Total dibuat bold */
.ag-results-section .ag-mini-ranking th:last-child,
.ag-results-section .ag-mini-ranking td:last-child {
    font-weight: 800 !important;
}

/* Baris Indonesia tetap merah, ukuran tetap sama */
.ag-results-section .ag-mini-ranking tbody tr:nth-child(4) td {
    color: var(--ag-red) !important;
    font-weight: 700 !important;
}

/* Garis tabel seragam */
.ag-results-section .ag-mini-ranking th,
.ag-results-section .ag-mini-ranking td {
    border-bottom: 1px solid var(--ag-line) !important;
}

/* Tinggi modul tetap proporsional */
.ag-results-section .ag-ranking-card {
    min-height: 0 !important;
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-results-section .ag-result-calendar .ag-module-heading h2,
    .ag-results-section .ag-ranking-card .ag-module-heading h2 {
        font-size: 20px !important;
    }

    .ag-results-section .ag-mini-ranking td {
        font-size: 13px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-results-section .ag-result-calendar .ag-module-heading,
    .ag-results-section .ag-ranking-card .ag-module-heading {
        min-height: 54px !important;
        padding: 0 16px !important;
    }

    .ag-results-section .ag-result-calendar .ag-module-heading h2,
    .ag-results-section .ag-ranking-card .ag-module-heading h2 {
        font-size: 19px !important;
    }

    .ag-results-section .ag-ranking-card__body {
        padding: 14px 16px 18px !important;
    }

    .ag-results-section .ag-mini-ranking th {
        font-size: 10px !important;
    }

    .ag-results-section .ag-mini-ranking td {
        padding: 9px 5px !important;
        font-size: 12px !important;
    }
}

/* =====================================================
   Results row — final typography alignment
   Jadwal & Hasil + Perolehan Medali + Klasemen
   ===================================================== */

/* Tinggi dan posisi heading ketiga modul dibuat sama */
.ag-results-section .ag-result-calendar .ag-module-heading,
.ag-results-section .ag-indonesia-medals .ag-module-heading,
.ag-results-section .ag-ranking-card .ag-module-heading {
    display: flex !important;
    min-height: 58px !important;
    padding: 0 28px !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

/* Judul ketiga modul */
.ag-results-section .ag-result-calendar .ag-module-heading h2,
.ag-results-section .ag-indonesia-medals .ag-module-heading h2,
.ag-results-section .ag-ranking-card .ag-module-heading h2 {
    margin: 0 !important;
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

/* Link kanan */
.ag-results-section .ag-result-calendar .ag-module-heading a,
.ag-results-section .ag-indonesia-medals .ag-module-heading a,
.ag-results-section .ag-ranking-card .ag-module-heading a {
    margin-left: 18px !important;
    color: #33425b !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* =====================================================
   JADWAL & HASIL
   ===================================================== */

.ag-results-section .ag-result-calendar__body {
    padding: 16px 20px 18px !important;
}

.ag-results-section .ag-date-tabs {
    gap: 8px !important;
}

.ag-results-section .ag-date-tabs button {
    min-height: 60px !important;
    border-radius: 6px !important;
}

.ag-results-section .ag-date-tabs strong {
    font-family: var(--ag-font-heading) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.ag-results-section .ag-date-tabs span {
    margin-top: 4px !important;
    font-family: var(--ag-font-body) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.ag-results-section .ag-results-label {
    margin: 16px 0 10px !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.ag-results-section .ag-result-cards > div {
    min-height: 110px !important;
    padding: 16px 14px !important;
    border-radius: 6px !important;
}

.ag-results-section .ag-result-cards span {
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

.ag-results-section .ag-result-cards strong {
    margin-top: 5px !important;
    font-family: var(--ag-font-body) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.ag-results-section .ag-result-cards small {
    margin-top: 4px !important;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

.ag-results-section .ag-result-cards em {
    margin-top: 10px !important;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* =====================================================
   PEROLEHAN MEDALI INDONESIA
   ===================================================== */

.ag-results-section .ag-indonesia-medals__body {
    padding: 18px 24px 20px !important;
}

.ag-results-section .ag-medal-summary {
    min-height: 114px !important;
}

.ag-results-section .ag-medal-summary > div {
    padding: 0 22px !important;
}

.ag-results-section .ag-medal-summary span {
    display: grid !important;
    width: 52px !important;
    height: 52px !important;
    place-items: center !important;
    margin: 0 auto !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.ag-results-section .ag-medal-summary strong {
    display: block !important;
    margin-top: 9px !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.ag-results-section .ag-medal-summary small {
    display: block !important;
    margin-top: 5px !important;
    font-family: var(--ag-font-body) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

/* Total medali */
.ag-results-section .ag-total-medals {
    display: flex !important;
    margin-top: 16px !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 8px !important;
}

.ag-results-section .ag-total-medals span,
.ag-results-section .ag-total-medals small {
    font-family: var(--ag-font-body) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.ag-results-section .ag-total-medals strong {
    font-family: var(--ag-font-heading) !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-results-section .ag-result-calendar .ag-module-heading h2,
    .ag-results-section .ag-indonesia-medals .ag-module-heading h2,
    .ag-results-section .ag-ranking-card .ag-module-heading h2 {
        font-size: 20px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-results-section .ag-result-calendar .ag-module-heading,
    .ag-results-section .ag-indonesia-medals .ag-module-heading,
    .ag-results-section .ag-ranking-card .ag-module-heading {
        min-height: 54px !important;
        padding: 0 16px !important;
    }

    .ag-results-section .ag-result-calendar .ag-module-heading h2,
    .ag-results-section .ag-indonesia-medals .ag-module-heading h2,
    .ag-results-section .ag-ranking-card .ag-module-heading h2 {
        font-size: 19px !important;
    }

    .ag-results-section .ag-indonesia-medals__body {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }
}

/* Klasemen umum — flag and country label */

.ag-results-section .ag-country-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ag-results-section .ag-country-flag {
    display: inline-block;
    flex: 0 0 auto;
    font-size: 15px;
    line-height: 1;
}

.ag-results-section .ag-country-name {
    font-family: var(--ag-font-body);
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

/* =====================================================
   Klasemen umum — country flags visual final
   ===================================================== */

.ag-results-section .ag-mini-ranking td:nth-child(2) {
    text-align: left !important;
}

.ag-results-section .ag-country-label {
    display: inline-flex !important;
    min-width: 0;
    align-items: center !important;
    gap: 9px !important;
}

.ag-results-section .ag-country-flag {
    display: inline-flex !important;
    width: 25px !important;
    height: 18px !important;
    flex: 0 0 25px !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden !important;
    border: 1px solid #d8dee8 !important;
    border-radius: 3px !important;
    background: #ffffff !important;

    font-family:
        "Apple Color Emoji",
        "Segoe UI Emoji",
        "Noto Color Emoji",
        sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;

    box-shadow: 0 1px 3px rgba(7, 26, 56, 0.08);
}

.ag-results-section .ag-country-name {
    color: inherit !important;
    font-family: var(--ag-font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    white-space: nowrap;
}

/* Indonesia tetap merah */
.ag-results-section
.ag-mini-ranking
tbody
tr:nth-child(4)
.ag-country-name {
    color: var(--ag-red) !important;
    font-weight: 700 !important;
}

/* Klasemen umum — local SVG flags */

.ag-results-section .ag-country-flag {
    display: block !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 16px !important;
    object-fit: cover !important;
    border: 1px solid #d7dde6 !important;
    border-radius: 2px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(7, 26, 56, 0.08);
}

/* =====================================================
   Perolehan Medali Indonesia — premium medal icons
   ===================================================== */

.ag-results-section .ag-indonesia-medals__body {
    padding-top: 18px !important;
}

.ag-results-section .ag-medal-summary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    min-height: 150px !important;
    align-items: start !important;
}

.ag-results-section .ag-medal-summary > div {
    display: flex !important;
    min-width: 0;
    padding: 0 18px !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.ag-results-section .ag-medal-summary > div + div {
    border-left: 1px solid var(--ag-line) !important;
}

.ag-results-section .ag-medal-icon {
    display: block !important;
    width: 62px !important;
    height: 72px !important;
    margin: 0 auto 7px !important;
    object-fit: contain !important;
}

.ag-results-section .ag-medal-summary strong {
    margin: 0 !important;
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.ag-results-section .ag-medal-summary small {
    margin-top: 6px !important;
    color: #5d6a80 !important;
    font-family: var(--ag-font-body) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

/* Total 35 dibuat seperti mockup */
.ag-results-section .ag-total-medals {
    margin-top: 12px !important;
}

.ag-results-section .ag-total-medals strong {
    font-size: 34px !important;
}

@media (max-width: 640px) {
    .ag-results-section .ag-medal-icon {
        width: 52px !important;
        height: 61px !important;
    }

    .ag-results-section .ag-medal-summary > div {
        padding-right: 9px !important;
        padding-left: 9px !important;
    }
}

/* =====================================================
   Results row — remove heading separator lines
   ===================================================== */

.ag-results-section .ag-result-calendar .ag-module-heading,
.ag-results-section .ag-indonesia-medals .ag-module-heading,
.ag-results-section .ag-ranking-card .ag-module-heading {
    border-bottom: 0 !important;
}

/* =====================================================
   Berita & Media + Ruang Penggemar — vertical height
   ===================================================== */

/* Tinggi heading utama kedua modul */
.ag-media-compact__heading,
.ag-fan-compact__heading {
    min-height: 62px !important;
    padding: 0 28px !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

/* Area isi dibuat lebih lapang */
.ag-media-compact__body,
.ag-fan-compact__body {
    min-height: 190px !important;
    align-items: stretch !important;
}

/* Setiap kolom Berita & Media */
.ag-media-compact__item {
    min-height: 190px !important;
    padding: 20px 16px 22px !important;
    box-sizing: border-box !important;
}

/* Setiap kolom Ruang Penggemar */
.ag-fan-compact__item {
    min-height: 190px !important;
    padding: 18px 14px 20px !important;
    box-sizing: border-box !important;
}

/* Judul kecil di dalam kolom diberi jarak */
.ag-media-compact__item h3,
.ag-media-compact__item > strong,
.ag-fan-compact__item h3,
.ag-fan-compact__item > strong {
    margin-bottom: 12px !important;
}

/* Posisi konten fan zone lebih seimbang */
.ag-fan-compact__item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

/* Tombol tetap rata bawah */
.ag-fan-compact__item a,
.ag-fan-compact__item em {
    margin-top: auto !important;
}

/* Seluruh baris mendapat garis bawah yang rapi */
.ag-media-fan-row {
    min-height: 252px !important;
    align-items: stretch !important;
    border-bottom: 1px solid var(--ag-line) !important;
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-media-compact__body,
    .ag-fan-compact__body,
    .ag-media-compact__item,
    .ag-fan-compact__item {
        min-height: 175px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-media-compact__heading,
    .ag-fan-compact__heading {
        min-height: 56px !important;
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    .ag-media-compact__item,
    .ag-fan-compact__item {
        min-height: 160px !important;
        padding: 16px !important;
    }
}

/* =====================================================
   GALERI FOTO & VIDEO — MOCKUP LAYOUT FINAL
   ===================================================== */

/* Kedua card memenuhi area modul */
.ag-media-compact__item:has(.ag-mini-gallery),
.ag-media-compact__item:has(.ag-mini-video) {
    display: flex !important;
    min-height: 190px !important;
    flex-direction: column !important;
}

/* Heading kecil Galeri Foto / Video */
.ag-media-compact__item:has(.ag-mini-gallery)
.ag-media-compact__title,
.ag-media-compact__item:has(.ag-mini-video)
.ag-media-compact__title {
    flex: 0 0 auto;
    margin-bottom: 12px !important;
}

/* =====================================================
   GALERI FOTO
   1 foto besar kiri + 4 foto kecil kanan
   ===================================================== */

.ag-mini-gallery {
    display: grid !important;
    width: 100% !important;
    height: 132px !important;
    min-height: 132px !important;
    flex: 1 1 auto;

    grid-template-columns: 34% repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;

    overflow: hidden !important;
    border-radius: 9px !important;
    background: transparent !important;
}

/* Reset semua kotak */
.ag-mini-gallery > span {
    position: relative !important;
    display: grid !important;
    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    place-items: center !important;

    overflow: hidden !important;
    border-radius: 5px !important;

    color: rgba(255, 255, 255, 0.82) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

/* Foto besar kiri */
.ag-mini-gallery > span:nth-child(1) {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;

    background:
        linear-gradient(
            145deg,
            rgba(225, 24, 31, 0.18),
            rgba(7, 26, 56, 0.15)
        ),
        linear-gradient(
            135deg,
            #9f1525 0%,
            #e11822 54%,
            #132a4e 100%
        ) !important;
}

/* Empat foto kecil kanan */
.ag-mini-gallery > span:nth-child(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    background:
        linear-gradient(135deg, #111f3a, #a11328) !important;
}

.ag-mini-gallery > span:nth-child(3) {
    grid-column: 3 !important;
    grid-row: 1 !important;
    background:
        linear-gradient(135deg, #ba1d2a, #263c60) !important;
}

.ag-mini-gallery > span:nth-child(4) {
    grid-column: 2 !important;
    grid-row: 2 !important;
    background:
        linear-gradient(135deg, #162949, #a90f23) !important;
}

.ag-mini-gallery > span:nth-child(5) {
    grid-column: 3 !important;
    grid-row: 2 !important;
    background:
        linear-gradient(135deg, #c21e2c, #192d50) !important;
}

/* Hover premium */
.ag-mini-gallery > span {
    transition:
        transform 0.25s ease,
        filter 0.25s ease;
}

.ag-mini-gallery:hover > span {
    filter: brightness(0.94);
}

.ag-mini-gallery > span:hover {
    z-index: 2;
    filter: brightness(1.05);
    transform: scale(1.025);
}

/* =====================================================
   GALERI VIDEO
   Portrait seperti mockup
   ===================================================== */

.ag-mini-video {
    position: relative !important;
    display: grid !important;

    width: 58% !important;
    height: 132px !important;
    min-height: 132px !important;
    flex: 1 1 auto;

    margin: 0 auto !important;
    place-items: center !important;

    overflow: hidden !important;
    border-radius: 9px !important;

    background:
        radial-gradient(
            circle at 52% 38%,
            rgba(225, 24, 31, 0.52),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #101f3c 0%,
            #7c1425 55%,
            #1b2947 100%
        ) !important;

    box-shadow:
        0 8px 20px rgba(7, 26, 56, 0.12) !important;
}

/* Overlay gelap ringan */
.ag-mini-video::before {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(7, 26, 56, 0.05),
            rgba(7, 26, 56, 0.34)
        );

    content: "";
}

/* Tombol play */
.ag-mini-video__play {
    position: relative !important;
    z-index: 2 !important;

    display: grid !important;
    width: 52px !important;
    height: 52px !important;

    place-items: center !important;

    border: 2px solid #ffffff !important;
    border-radius: 50% !important;
    background: rgba(7, 26, 56, 0.26) !important;
    color: #ffffff !important;

    font-size: 18px !important;
    line-height: 1 !important;

    box-shadow:
        0 5px 16px rgba(0, 0, 0, 0.18) !important;
}

/* Caption video */
.ag-mini-video small {
    position: absolute !important;
    z-index: 2 !important;

    right: 9px !important;
    bottom: 8px !important;

    color: rgba(255, 255, 255, 0.88) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 8px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

/* Desktop besar */
@media (min-width: 1500px) {
    .ag-mini-gallery,
    .ag-mini-video {
        height: 145px !important;
        min-height: 145px !important;
    }

    .ag-mini-video {
        width: 62% !important;
    }
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-mini-gallery {
        height: 125px !important;
        min-height: 125px !important;
    }

    .ag-mini-video {
        width: 70% !important;
        height: 125px !important;
        min-height: 125px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-mini-gallery {
        height: 210px !important;
        min-height: 210px !important;
    }

    .ag-mini-video {
        width: 72% !important;
        height: 220px !important;
        min-height: 220px !important;
    }
}

/* =====================================================
   BERITA & MEDIA + RUANG PENGGEMAR
   Typography follows Berita Terbaru
   ===================================================== */

/* Heading utama modul */
.ag-media-compact > .ag-module-heading h2,
.ag-fan-compact > .ag-module-heading h2 {
    margin: 0 !important;
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

/* Tinggi heading utama mengikuti modul pertama */
.ag-media-compact > .ag-module-heading,
.ag-fan-compact > .ag-module-heading {
    display: flex !important;
    min-height: 60px !important;
    padding: 0 28px !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

/* Link Lihat Semua */
.ag-media-compact > .ag-module-heading a,
.ag-fan-compact > .ag-module-heading a {
    color: #33425b !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* Heading kecil setiap kolom */
.ag-media-compact__title strong {
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

/* Link Semua di kolom */
.ag-media-compact__title a {
    color: #33425b !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* Judul artikel dan rilis pers */
.ag-media-news-card__copy strong {
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

/* Tanggal dan deskripsi */
.ag-media-news-card__copy small {
    display: block !important;
    margin-top: 6px !important;
    color: #68758b !important;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* Ruang Penggemar — nama kanal */
.ag-fan-compact__item > strong {
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

/* Deskripsi akun */
.ag-fan-compact__item > small {
    margin-top: 7px !important;
    color: #68758b !important;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* Tombol Ruang Penggemar */
.ag-fan-compact__item > em {
    display: inline-flex !important;
    min-height: 38px !important;
    padding: 0 17px !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 5px !important;
    background: var(--ag-red) !important;
    color: #ffffff !important;

    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

/* Ikon fan zone dibuat proporsional */
.ag-fan-compact__icon {
    width: 50px !important;
    height: 50px !important;
    margin-bottom: 11px !important;
    font-family: var(--ag-font-body) !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-media-compact > .ag-module-heading h2,
    .ag-fan-compact > .ag-module-heading h2 {
        font-size: 20px !important;
    }

    .ag-media-compact__title strong,
    .ag-fan-compact__item > strong {
        font-size: 14px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-media-compact > .ag-module-heading,
    .ag-fan-compact > .ag-module-heading {
        min-height: 54px !important;
        padding: 0 16px !important;
    }

    .ag-media-compact > .ag-module-heading h2,
    .ag-fan-compact > .ag-module-heading h2 {
        font-size: 19px !important;
    }

    .ag-media-compact__title strong,
    .ag-fan-compact__item > strong {
        font-size: 13px !important;
    }

    .ag-media-news-card__copy strong {
        font-size: 13px !important;
    }
}

/* Hilangkan garis bawah heading Berita & Media dan Ruang Penggemar */
.ag-media-compact > .ag-module-heading,
.ag-fan-compact > .ag-module-heading {
    border-bottom: 0 !important;
}

/* =====================================================
   TENTANG ASIAN GAMES 2026
   Typography follows module 1
   ===================================================== */

/* Heading utama */
.ag-about-games > .ag-module-heading {
    display: flex !important;
    min-height: 60px !important;
    padding: 0 28px !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

/* Judul utama modul */
.ag-about-games > .ag-module-heading h2 {
    margin: 0 !important;
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

/* Link Lihat Semua */
.ag-about-games > .ag-module-heading a {
    color: #33425b !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* Label merah tiap card */
.ag-about-games [class*="label"],
.ag-about-games .ag-about-card__label,
.ag-about-games .ag-info-label {
    color: var(--ag-red) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

/* Judul isi card */
.ag-about-games .ag-about-card strong,
.ag-about-games .ag-about-card__title,
.ag-about-games article strong {
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

/* Deskripsi */
.ag-about-games .ag-about-card small,
.ag-about-games .ag-about-card__description,
.ag-about-games article small,
.ag-about-games article p {
    color: #68758b !important;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

/* Jarak antar teks */
.ag-about-games .ag-about-card strong,
.ag-about-games .ag-about-card__title,
.ag-about-games article strong {
    display: block !important;
    margin-top: 6px !important;
}

.ag-about-games .ag-about-card small,
.ag-about-games .ag-about-card__description,
.ag-about-games article small,
.ag-about-games article p {
    display: block !important;
    margin-top: 5px !important;
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-about-games > .ag-module-heading h2 {
        font-size: 20px !important;
    }

    .ag-about-games .ag-about-card strong,
    .ag-about-games .ag-about-card__title,
    .ag-about-games article strong {
        font-size: 14px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-about-games > .ag-module-heading {
        min-height: 54px !important;
        padding: 0 16px !important;
    }

    .ag-about-games > .ag-module-heading h2 {
        font-size: 19px !important;
    }

    .ag-about-games .ag-about-card strong,
    .ag-about-games .ag-about-card__title,
    .ag-about-games article strong {
        font-size: 13px !important;
    }

    .ag-about-games .ag-about-card small,
    .ag-about-games .ag-about-card__description,
    .ag-about-games article small,
    .ag-about-games article p {
        font-size: 10px !important;
    }
}

/* =====================================================
   BODY TEXT FINAL
   Samakan font isi/deskripsi dengan modul 1
   ===================================================== */

/* standar body copy modul 1 */
.ag-body-copy-final,
.ag-news-card__excerpt,
.ag-news-card__summary,
.ag-about-games article small,
.ag-about-games article p,
.ag-about-games .ag-about-card small,
.ag-about-games .ag-about-card p,
.ag-about-games .ag-about-card__description,
.ag-about-games .ag-about-card__meta,
.ag-about-games .ag-about-card__text {
    font-family: var(--ag-font-body) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    color: #5f6f86 !important;
    text-transform: none !important;
}

/* khusus teks kecil info di bagian Tentang Asian Games */
.ag-about-games article small,
.ag-about-games .ag-about-card small,
.ag-about-games .ag-about-card__description,
.ag-about-games .ag-about-card__meta,
.ag-about-games .ag-about-card__text,
.ag-about-games article p {
    display: block !important;
    margin-top: 6px !important;
}

/* jika ada paragraf di card berita terbaru */
.ag-news-card__excerpt p,
.ag-news-card__summary p {
    margin: 0 !important;
    font-family: var(--ag-font-body) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    color: #5f6f86 !important;
}

/* tablet */
@media (max-width: 1024px) {
    .ag-body-copy-final,
    .ag-news-card__excerpt,
    .ag-news-card__summary,
    .ag-about-games article small,
    .ag-about-games article p,
    .ag-about-games .ag-about-card small,
    .ag-about-games .ag-about-card p,
    .ag-about-games .ag-about-card__description,
    .ag-about-games .ag-about-card__meta,
    .ag-about-games .ag-about-card__text,
    .ag-news-card__excerpt p,
    .ag-news-card__summary p {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
}

/* mobile */
@media (max-width: 640px) {
    .ag-body-copy-final,
    .ag-news-card__excerpt,
    .ag-news-card__summary,
    .ag-about-games article small,
    .ag-about-games article p,
    .ag-about-games .ag-about-card small,
    .ag-about-games .ag-about-card p,
    .ag-about-games .ag-about-card__description,
    .ag-about-games .ag-about-card__meta,
    .ag-about-games .ag-about-card__text,
    .ag-news-card__excerpt p,
    .ag-news-card__summary p {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
}

/* =====================================================
   TENTANG ASIAN GAMES 2026 — ACTIVE MARKUP FINAL
   Typography follows module 1
   ===================================================== */

/* Heading utama */
.ag-about-compact > .ag-container > .ag-module-heading,
.ag-about-compact .ag-about-compact__heading {
    display: flex !important;
    min-height: 60px !important;
    padding: 0 28px !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

.ag-about-compact .ag-about-compact__heading h2 {
    margin: 0 !important;
    color: var(--ag-navy) !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

.ag-about-compact .ag-about-compact__heading a {
    color: #33425b !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* Label merah: Informasi Umum, Lokasi Venue, Maskot & Logo */
.ag-about-compact .ag-about-compact__copy > small {
    display: block !important;
    margin: 0 0 6px !important;

    color: var(--ag-red) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

/* Judul setiap card */
.ag-about-compact .ag-about-compact__copy > strong {
    display: block !important;
    margin: 0 !important;

    color: var(--ag-navy) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
}

/* Deskripsi — sama seperti teks isi modul 1 */
.ag-about-compact .ag-about-compact__copy > p {
    display: block !important;
    margin: 6px 0 0 !important;

    color: #5f6f86 !important;
    font-family: var(--ag-font-body) !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Pastikan card tidak mewarisi ukuran teks lama */
.ag-about-compact .ag-about-compact__item {
    font-family: var(--ag-font-body) !important;
    text-decoration: none !important;
}

/* Tablet */
@media (max-width: 1120px) {
    .ag-about-compact .ag-about-compact__heading h2 {
        font-size: 20px !important;
    }

    .ag-about-compact .ag-about-compact__copy > strong {
        font-size: 14px !important;
    }

    .ag-about-compact .ag-about-compact__copy > p {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-about-compact > .ag-container > .ag-module-heading,
    .ag-about-compact .ag-about-compact__heading {
        min-height: 54px !important;
        padding: 0 16px !important;
    }

    .ag-about-compact .ag-about-compact__heading h2 {
        font-size: 19px !important;
    }

    .ag-about-compact .ag-about-compact__copy > small {
        font-size: 10px !important;
    }

    .ag-about-compact .ag-about-compact__copy > strong {
        font-size: 13px !important;
    }

    .ag-about-compact .ag-about-compact__copy > p {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
}

/* Hilangkan garis bawah heading Tentang Asian Games 2026 */
.ag-about-compact .ag-about-compact__heading {
    border-bottom: 0 !important;
}

/* Hilangkan seluruh garis horizontal di bawah heading Tentang Asian Games */
.ag-about-compact .ag-about-compact__heading,
.ag-about-compact .ag-about-compact__grid {
    border-top: 0 !important;
    border-bottom: 0 !important;
}

/* Antisipasi garis berasal dari tiga card */
.ag-about-compact .ag-about-compact__item {
    border-top: 0 !important;
}

/* =====================================================
   PRIMARY MENU DROPDOWN — DESKTOP RECOVERY
   ===================================================== */

.ag-primary-nav,
.ag-primary-nav .ag-menu,
.ag-primary-nav .ag-menu > li {
    overflow: visible !important;
}

/* Menu utama kembali satu baris */
.ag-primary-nav .ag-menu {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
    list-style: none !important;
}

.ag-primary-nav .ag-menu > li {
    position: relative !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
}

/* Link menu utama */
.ag-primary-nav .ag-menu > li > a {
    position: relative !important;
    display: flex !important;
    min-height: 82px !important;
    padding: 0 19px !important;

    align-items: center !important;
    justify-content: center !important;

    color: var(--ag-navy) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

/* Panah kecil parent */
.ag-primary-nav .menu-item-has-children > a {
    gap: 7px !important;
}

.ag-primary-nav .menu-item-has-children > a::after {
    display: block !important;
    width: 6px !important;
    height: 6px !important;
    margin-top: -4px !important;

    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;

    content: "" !important;
    transform: rotate(45deg) !important;
}

/* =====================================================
   DROPDOWN
   ===================================================== */

.ag-primary-nav .sub-menu {
    position: absolute !important;
    z-index: 9999 !important;

    top: 100% !important;
    left: 50% !important;

    display: block !important;
    visibility: hidden !important;

    width: 285px !important;
    min-width: 285px !important;
    margin: 0 !important;
    padding: 9px 0 !important;

    opacity: 0 !important;
    transform: translate(-50%, 12px) !important;

    border: 1px solid #dce2eb !important;
    border-top: 3px solid var(--ag-red) !important;
    border-radius: 0 0 10px 10px !important;

    background: #ffffff !important;
    box-shadow: 0 18px 42px rgba(7, 26, 56, 0.18) !important;

    list-style: none !important;
    pointer-events: none !important;

    transition:
        opacity 0.18s ease,
        transform 0.18s ease,
        visibility 0.18s ease !important;
}

/* Dropdown muncul saat hover atau keyboard focus */
.ag-primary-nav .menu-item-has-children:hover > .sub-menu,
.ag-primary-nav .menu-item-has-children:focus-within > .sub-menu {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translate(-50%, 0) !important;
    pointer-events: auto !important;
}

/* Dropdown menu terakhir diarahkan ke kanan */
.ag-primary-nav .ag-menu > li:last-child > .sub-menu {
    right: 0 !important;
    left: auto !important;
    transform: translateY(12px) !important;
}

.ag-primary-nav .ag-menu > li:last-child:hover > .sub-menu,
.ag-primary-nav .ag-menu > li:last-child:focus-within > .sub-menu {
    transform: translateY(0) !important;
}

/* Item submenu */
.ag-primary-nav .sub-menu > li {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hilangkan bullet browser */
.ag-primary-nav .sub-menu,
.ag-primary-nav .sub-menu li {
    list-style: none !important;
}

.ag-primary-nav .sub-menu li::marker {
    content: "" !important;
}

/* Link submenu */
.ag-primary-nav .sub-menu a {
    position: relative !important;
    display: flex !important;

    width: 100% !important;
    min-height: 43px !important;
    padding: 10px 18px 10px 30px !important;

    align-items: center !important;

    color: var(--ag-navy) !important;
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: normal !important;

    box-sizing: border-box !important;
}

/* Bullet merah submenu */
.ag-primary-nav .sub-menu a::before {
    position: absolute !important;

    top: 50% !important;
    left: 16px !important;

    display: block !important;
    width: 5px !important;
    height: 5px !important;

    border-radius: 50% !important;
    background: var(--ag-red) !important;

    content: "" !important;
    transform: translateY(-50%) !important;
}

/* Jangan tampilkan panah parent pada item submenu */
.ag-primary-nav .sub-menu a::after {
    display: none !important;
    content: none !important;
}

/* Hover submenu */
.ag-primary-nav .sub-menu a:hover,
.ag-primary-nav .sub-menu a:focus {
    background: #f5f7fa !important;
    color: var(--ag-red) !important;
}

/* Active menu */
.ag-primary-nav .ag-menu > .current-menu-item > a,
.ag-primary-nav .ag-menu > .current-menu-ancestor > a {
    color: var(--ag-red) !important;
}

/* Garis aktif menu utama */
.ag-primary-nav .ag-menu > .current-menu-item > a::before,
.ag-primary-nav .ag-menu > .current-menu-ancestor > a::before {
    position: absolute !important;

    right: 19px !important;
    bottom: 0 !important;
    left: 19px !important;

    height: 3px !important;

    background: var(--ag-red) !important;
    content: "" !important;
}

/* Tombol mobile submenu disembunyikan di desktop */
.ag-submenu-toggle {
    display: none !important;
}

/* =====================================================
   MOBILE — sementara submenu ditutup agar header aman
   Accordion akan dipasang setelah desktop dikunci
   ===================================================== */

@media (max-width: 1120px) {
    .ag-primary-nav .ag-menu {
        display: block !important;
    }

    .ag-primary-nav .ag-menu > li {
        display: block !important;
    }

    .ag-primary-nav .ag-menu > li > a {
        min-height: 48px !important;
        padding: 0 54px 0 18px !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    .ag-primary-nav .sub-menu,
    .ag-primary-nav .ag-menu > li:last-child > .sub-menu {
        position: static !important;
        display: none !important;
        visibility: visible !important;

        width: 100% !important;
        min-width: 0 !important;

        opacity: 1 !important;
        transform: none !important;

        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;

        pointer-events: auto !important;
    }
}

/* =====================================================
   HEADER BRAND — CUSTOM LOGO FINAL
   ===================================================== */

.ag-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
    text-decoration: none !important;
}

.ag-brand__logo {
    display: flex !important;
    width: 72px !important;
    height: 72px !important;
    flex: 0 0 72px !important;
    align-items: center !important;
    justify-content: center !important;
}

.ag-brand__logo .custom-logo-link {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
}

.ag-brand__logo .custom-logo {
    display: block !important;
    width: auto !important;
    max-width: 72px !important;
    height: auto !important;
    max-height: 72px !important;
    object-fit: contain !important;
}

/* Hilangkan fallback RI bila custom logo aktif */
.ag-brand:has(.ag-brand__logo) .ag-brand__mark {
    display: none !important;
}

/* Tulisan brand */
.ag-brand__text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.ag-brand__text small {
    font-family: var(--ag-font-body) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
}

.ag-brand__text strong {
    margin-top: 3px !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 0.95 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

.ag-brand__text em {
    margin-top: 7px !important;
    color: #d59d25 !important;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

@media (max-width: 640px) {
    .ag-brand {
        gap: 10px !important;
    }

    .ag-brand__logo {
        width: 54px !important;
        height: 54px !important;
        flex-basis: 54px !important;
    }

    .ag-brand__logo .custom-logo {
        max-width: 54px !important;
        max-height: 54px !important;
    }

    .ag-brand__text small {
        font-size: 9px !important;
        letter-spacing: 2px !important;
    }

    .ag-brand__text strong {
        font-size: 23px !important;
    }

    .ag-brand__text em {
        font-size: 8px !important;
        letter-spacing: 1.4px !important;
    }
}

/* =====================================================
   HEADER RECOVERY — RESTORE MOCKUP PROPORTION
   ===================================================== */

.ag-navbar {
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
    background: #ffffff !important;
}

.ag-navbar .ag-container,
.ag-navbar__inner {
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;

    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

/* Area brand tidak boleh mendorong menu */
.ag-brand {
    display: inline-flex !important;
    width: 310px !important;
    min-width: 310px !important;
    max-width: 310px !important;

    height: 82px !important;
    min-height: 82px !important;

    flex: 0 0 310px !important;
    align-items: center !important;
    gap: 12px !important;

    overflow: hidden !important;
}

/* Fallback RI */
.ag-brand__mark {
    display: grid !important;

    width: 62px !important;
    min-width: 62px !important;
    height: 62px !important;

    flex: 0 0 62px !important;
    place-items: center !important;

    border-radius: 50% !important;
}

/* Bila nanti custom logo dipasang, ukurannya tetap terkunci */
.ag-brand__logo {
    display: flex !important;

    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;

    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;

    flex: 0 0 68px !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden !important;
}

.ag-brand__logo .custom-logo-link {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
}

.ag-brand__logo img.custom-logo {
    display: block !important;

    width: 68px !important;
    max-width: 68px !important;
    height: 76px !important;
    max-height: 76px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;
}

/* Teks brand mengikuti mockup */
.ag-brand__text {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.ag-brand__text small {
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 2.6px !important;
}

.ag-brand__text strong {
    margin-top: 3px !important;
    font-size: 27px !important;
    line-height: 0.95 !important;
    white-space: nowrap !important;
}

.ag-brand__text em {
    margin-top: 7px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 1.8px !important;
}

/* Menu kembali sejajar tengah */
.ag-primary-nav {
    height: 112px !important;
    min-height: 112px !important;

    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
}

.ag-primary-nav .ag-menu {
    height: 112px !important;
    min-height: 112px !important;

    display: flex !important;
    align-items: stretch !important;
}

.ag-primary-nav .ag-menu > li,
.ag-primary-nav .ag-menu > li > a {
    height: 112px !important;
    min-height: 112px !important;
}

/* Search tetap di kanan */
.ag-search-button {
    flex: 0 0 auto !important;
    margin-left: 14px !important;
}

/* Desktop sempit */
@media (max-width: 1500px) {
    .ag-brand {
        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;
        flex-basis: 280px !important;
    }

    .ag-primary-nav .ag-menu > li > a {
        padding-right: 13px !important;
        padding-left: 13px !important;
        font-size: 11px !important;
    }
}

/* =====================================================
   HEADER BRAND — VALID MARKUP FINAL
   Logo image + HTML brand text
   ===================================================== */

.ag-navbar .ag-navbar__inner {
    display: flex !important;
    align-items: center !important;
}

/* Logo dan teks menjadi satu blok kiri */
.ag-navbar .ag-brand {
    display: inline-flex !important;
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: 82px !important;

    flex: 0 0 280px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;

    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* Lambang saja */
.ag-navbar .ag-brand__logo {
    display: flex !important;
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;

    flex: 0 0 68px !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* Tidak ada custom-logo-link lagi */
.ag-navbar .ag-brand__logo > img.custom-logo {
    display: block !important;
    width: auto !important;
    max-width: 68px !important;
    height: auto !important;
    max-height: 76px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;
}

/* Teks tepat di samping logo */
.ag-navbar .ag-brand__text {
    position: static !important;
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;

    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

.ag-navbar .ag-brand__text small {
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 2.6px !important;
}

.ag-navbar .ag-brand__text strong {
    margin: 3px 0 0 !important;
    font-size: 27px !important;
    line-height: 0.95 !important;
    white-space: nowrap !important;
}

.ag-navbar .ag-brand__text em {
    margin: 7px 0 0 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 1.8px !important;
    white-space: nowrap !important;
}

/* Menu memakai sisa ruang setelah brand */
.ag-navbar .ag-primary-nav {
    position: static !important;
    display: flex !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
}

/* Search di ujung kanan */
.ag-navbar .ag-search-button {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;

    flex: 0 0 auto !important;
    margin: 0 0 0 14px !important;
    transform: none !important;
}

@media (max-width: 1500px) {
    .ag-navbar .ag-brand {
        width: 260px !important;
        min-width: 260px !important;
        max-width: 260px !important;
        flex-basis: 260px !important;
    }
}

/* =====================================================
   PRIMARY NAV — PREMIUM NAVY PILL FINAL
   Logo tetap di kiri, menu premium di kanan
   ===================================================== */

@media (min-width: 1121px) {

    /* Navbar luar tetap putih */
    .ag-navbar {
        background: #ffffff !important;
    }

    .ag-navbar .ag-navbar__inner {
        display: flex !important;
        align-items: center !important;
        gap: 24px !important;
    }

    /* Logo tetap berdiri sendiri */
    .ag-navbar .ag-brand {
        position: relative !important;
        z-index: 3 !important;
        flex: 0 0 280px !important;
    }

    /* Area navigasi menjadi pill navy */
    .ag-navbar .ag-primary-nav {
        position: relative !important;

        display: flex !important;
        width: auto !important;
        min-width: 0 !important;
        height: 64px !important;
        min-height: 64px !important;

        flex: 1 1 auto !important;
        align-items: center !important;

        padding: 0 8px !important;

        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        border-radius: 18px !important;
        background:
            linear-gradient(
                135deg,
                #06162f 0%,
                #071a38 58%,
                #081d3d 100%
            ) !important;

        box-shadow:
            0 14px 30px rgba(7, 26, 56, 0.14),
            inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;

        overflow: visible !important;
    }

    /* List menu */
    .ag-primary-nav .ag-menu {
        display: flex !important;
        width: 100% !important;
        height: 64px !important;
        min-height: 64px !important;

        margin: 0 !important;
        padding: 0 !important;

        align-items: stretch !important;
        justify-content: center !important;

        list-style: none !important;
    }

    /* Setiap item */
    .ag-primary-nav .ag-menu > li {
        position: relative !important;

        display: flex !important;
        height: 64px !important;
        min-height: 64px !important;

        margin: 0 !important;
        padding: 0 !important;

        align-items: stretch !important;
    }

    /* Pemisah vertikal */
    .ag-primary-nav .ag-menu > li + li::before {
        position: absolute !important;
        z-index: 1 !important;

        top: 17px !important;
        bottom: 17px !important;
        left: 0 !important;

        width: 1px !important;

        background: rgba(255, 255, 255, 0.14) !important;
        content: "" !important;
    }

    /* Link utama */
    .ag-primary-nav .ag-menu > li > a {
        position: relative !important;
        z-index: 2 !important;

        display: flex !important;
        height: 64px !important;
        min-height: 64px !important;

        padding: 0 20px !important;

        align-items: center !important;
        justify-content: center !important;
        gap: 9px !important;

        color: #ffffff !important;
        font-family: var(--ag-font-body) !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;

        border-radius: 12px !important;

        transition:
            color 0.2s ease,
            background 0.2s ease,
            transform 0.2s ease !important;
    }

    /* Hover */
    .ag-primary-nav .ag-menu > li > a:hover,
    .ag-primary-nav .ag-menu > li > a:focus {
        color: #ffffff !important;
        background: rgba(255, 255, 255, 0.08) !important;
    }

    /* Active menu */
    .ag-primary-nav .ag-menu > .current-menu-item > a,
    .ag-primary-nav .ag-menu > .current-menu-ancestor > a {
        color: #ffffff !important;
        background:
            linear-gradient(
                135deg,
                #e31822 0%,
                #c8121d 100%
            ) !important;

        box-shadow:
            0 7px 16px rgba(227, 24, 34, 0.24) !important;
    }

    /* Hilangkan garis aktif lama */
    .ag-primary-nav .ag-menu > .current-menu-item > a::before,
    .ag-primary-nav .ag-menu > .current-menu-ancestor > a::before {
        display: none !important;
        content: none !important;
    }

    /* Panah submenu */
    .ag-primary-nav
    .menu-item-has-children
    > a::after {
        display: block !important;

        width: 8px !important;
        height: 8px !important;

        margin: -4px 0 0 1px !important;

        border-right: 2px solid currentColor !important;
        border-bottom: 2px solid currentColor !important;

        content: "" !important;
        transform: rotate(45deg) !important;

        opacity: 0.7 !important;
        transition:
            transform 0.2s ease,
            opacity 0.2s ease !important;
    }

    .ag-primary-nav
    .menu-item-has-children:hover
    > a::after,
    .ag-primary-nav
    .menu-item-has-children:focus-within
    > a::after {
        margin-top: 3px !important;
        opacity: 1 !important;
        transform: rotate(225deg) !important;
    }

    /* Dropdown turun dari pill */
    .ag-primary-nav .sub-menu {
        top: calc(100% + 10px) !important;

        border: 1px solid rgba(7, 26, 56, 0.1) !important;
        border-top: 3px solid var(--ag-red) !important;
        border-radius: 12px !important;

        background: #ffffff !important;

        box-shadow:
            0 20px 45px rgba(7, 26, 56, 0.18) !important;
    }

    /* Isi dropdown */
    .ag-primary-nav .sub-menu a {
        min-height: 44px !important;
        padding: 10px 20px 10px 32px !important;

        color: var(--ag-navy) !important;
        font-family: var(--ag-font-body) !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        text-transform: none !important;

        border-radius: 0 !important;
    }

    .ag-primary-nav .sub-menu a:hover,
    .ag-primary-nav .sub-menu a:focus {
        padding-left: 36px !important;
        background: #f4f6f9 !important;
        color: var(--ag-red) !important;
    }

    /* Search menyatu dengan pill */
    .ag-navbar .ag-search-button {
        position: relative !important;

        display: grid !important;
        width: 52px !important;
        min-width: 52px !important;
        height: 52px !important;

        flex: 0 0 52px !important;
        place-items: center !important;

        margin: 0 0 0 -72px !important;

        border: 0 !important;
        border-radius: 12px !important;
        background: transparent !important;
        color: #ffffff !important;

        z-index: 5 !important;

        transition:
            background 0.2s ease,
            transform 0.2s ease !important;
    }

    .ag-navbar .ag-search-button:hover,
    .ag-navbar .ag-search-button:focus {
        background: rgba(255, 255, 255, 0.09) !important;
    }

    .ag-navbar .ag-search-button span,
    .ag-navbar .ag-search-button span::after {
        border-color: #ffffff !important;
    }

    /* Tambahkan ruang kanan untuk search */
    .ag-navbar .ag-primary-nav {
        padding-right: 66px !important;
    }
}

/* Desktop menengah */
@media (min-width: 1121px) and (max-width: 1500px) {
    .ag-navbar .ag-brand {
        flex-basis: 250px !important;
        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;
    }

    .ag-primary-nav .ag-menu > li > a {
        padding-right: 13px !important;
        padding-left: 13px !important;
        font-size: 11px !important;
    }
}

/* =====================================================
   HEADER PREMIUM V2
   Menu dekat logo + chevron submenu + search terpisah
   ===================================================== */

@media (min-width: 1121px) {

    /* Susunan utama header */
    .ag-navbar .ag-navbar__inner {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 14px !important;
    }

    /* Brand diperkecil agar menu mendekat */
    .ag-navbar .ag-brand {
        width: 300px !important;
        min-width: 300px !important;
        max-width: 300px !important;
        flex: 0 0 300px !important;

        margin: 0 !important;
    }

    /* Navbar premium berada dekat logo */
    .ag-navbar .ag-primary-nav {
        position: relative !important;

        width: auto !important;
        min-width: 0 !important;
        height: 64px !important;
        min-height: 64px !important;

        flex: 1 1 auto !important;
        margin: 0 !important;
        padding: 0 8px !important;

        border-radius: 18px !important;
        background: #071a38 !important;

        box-shadow:
            0 12px 28px rgba(7, 26, 56, 0.15) !important;

        overflow: visible !important;
    }

    .ag-primary-nav .ag-menu {
        display: flex !important;
        width: 100% !important;
        height: 64px !important;

        margin: 0 !important;
        padding: 0 !important;

        align-items: stretch !important;
        justify-content: flex-start !important;
    }

    .ag-primary-nav .ag-menu > li {
        position: relative !important;
        display: flex !important;
        height: 64px !important;
        align-items: stretch !important;
    }

    /* Link utama */
    .ag-primary-nav .ag-menu > li > a {
        position: relative !important;

        display: flex !important;
        height: 64px !important;
        min-height: 64px !important;

        padding: 0 18px !important;

        align-items: center !important;
        justify-content: center !important;
        gap: 9px !important;

        color: #ffffff !important;
        font-family: var(--ag-font-body) !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;

        border-radius: 13px !important;
    }

    /* Pembatas vertikal */
    .ag-primary-nav .ag-menu > li + li::before {
        position: absolute !important;

        top: 17px !important;
        bottom: 17px !important;
        left: 0 !important;

        width: 1px !important;

        background: rgba(255, 255, 255, 0.14) !important;
        content: "" !important;
    }

    /* Active */
    .ag-primary-nav .ag-menu > .current-menu-item > a,
    .ag-primary-nav .ag-menu > .current-menu-ancestor > a {
        color: #ffffff !important;
        background: var(--ag-red) !important;

        box-shadow:
            0 8px 20px rgba(227, 24, 34, 0.26) !important;
    }

    /* Hapus seluruh indikator lama berupa garis/wajik */
    .ag-primary-nav .ag-menu > li > a::before,
    .ag-primary-nav .ag-menu > li::after,
    .ag-primary-nav .ag-menu > li::marker {
        display: none !important;
        content: none !important;
    }

    /*
     * Chevron submenu yang benar:
     * berada tepat di kanan tulisan, bukan di bawah menu
     */
    .ag-primary-nav
    .ag-menu
    > .menu-item-has-children
    > a::after {
        position: static !important;

        display: block !important;
        width: 7px !important;
        height: 7px !important;

        margin: -4px 0 0 1px !important;

        border: 0 !important;
        border-right: 2px solid rgba(255, 255, 255, 0.72) !important;
        border-bottom: 2px solid rgba(255, 255, 255, 0.72) !important;

        background: transparent !important;
        content: "" !important;

        transform: rotate(45deg) !important;
        transform-origin: center !important;

        transition:
            transform 0.2s ease,
            margin 0.2s ease !important;
    }

    .ag-primary-nav
    .ag-menu
    > .menu-item-has-children:hover
    > a::after,
    .ag-primary-nav
    .ag-menu
    > .menu-item-has-children:focus-within
    > a::after {
        margin-top: 3px !important;
        transform: rotate(225deg) !important;
    }

    /* Dropdown seperti panel premium */
    .ag-primary-nav .sub-menu {
        top: calc(100% + 11px) !important;

        width: 310px !important;
        min-width: 310px !important;
        padding: 12px 0 !important;

        border: 1px solid #e1e5eb !important;
        border-top: 0 !important;
        border-radius: 16px !important;

        background: #fffdf9 !important;

        box-shadow:
            0 22px 50px rgba(7, 26, 56, 0.2) !important;
    }

    /* Segitiga penunjuk dropdown */
    .ag-primary-nav .sub-menu::before {
        position: absolute !important;

        top: -8px !important;
        left: 50% !important;

        width: 16px !important;
        height: 16px !important;

        border-top: 1px solid #e1e5eb !important;
        border-left: 1px solid #e1e5eb !important;

        background: #fffdf9 !important;
        content: "" !important;

        transform: translateX(-50%) rotate(45deg) !important;
    }

    /* Dropdown terakhir agar tidak keluar layar */
    .ag-primary-nav
    .ag-menu
    > li:last-child
    > .sub-menu::before {
        right: 42px !important;
        left: auto !important;
        transform: rotate(45deg) !important;
    }

    /* Item submenu */
    .ag-primary-nav .sub-menu a {
        min-height: 48px !important;
        padding: 10px 22px 10px 38px !important;

        color: var(--ag-navy) !important;
        font-family: var(--ag-font-body) !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        text-transform: none !important;
    }

    .ag-primary-nav .sub-menu a::before {
        left: 20px !important;

        width: 6px !important;
        height: 6px !important;

        border-radius: 50% !important;
        background: #bc8a44 !important;
    }

    .ag-primary-nav .sub-menu a:hover,
    .ag-primary-nav .sub-menu a:focus {
        padding-left: 42px !important;
        background: #f8f4ed !important;
        color: var(--ag-red) !important;
    }

    /*
     * SEARCH DIPISAH DARI PILL
     */
    .ag-navbar .ag-search-button {
        position: relative !important;

        display: grid !important;
        width: 58px !important;
        min-width: 58px !important;
        height: 58px !important;
        min-height: 58px !important;

        flex: 0 0 58px !important;
        place-items: center !important;

        margin: 0 !important;

        border: 1px solid #dce2ea !important;
        border-radius: 16px !important;

        background: #ffffff !important;
        color: var(--ag-navy) !important;

        box-shadow:
            0 8px 22px rgba(7, 26, 56, 0.09) !important;

        transform: none !important;
    }

    .ag-navbar .ag-search-button:hover,
    .ag-navbar .ag-search-button:focus {
        border-color: var(--ag-red) !important;
        background: #fff7f7 !important;
    }

    .ag-navbar .ag-search-button span {
        border-color: var(--ag-navy) !important;
    }

    .ag-navbar .ag-search-button span::after {
        border-color: var(--ag-navy) !important;
        background: var(--ag-navy) !important;
    }
}

/* Desktop menengah */
@media (min-width: 1121px) and (max-width: 1550px) {
    .ag-navbar .ag-brand {
        width: 270px !important;
        min-width: 270px !important;
        max-width: 270px !important;
        flex-basis: 270px !important;
    }

    .ag-primary-nav .ag-menu > li > a {
        padding-right: 13px !important;
        padding-left: 13px !important;
        font-size: 11px !important;
    }

    .ag-navbar .ag-navbar__inner {
        gap: 10px !important;
    }
}

/* =====================================================
   HEADER PREMIUM V3 — compact menu + separate search
   ===================================================== */

@media (min-width: 1121px) {

    /* Menu tidak lagi memenuhi seluruh sisa header */
    .ag-navbar .ag-primary-nav {
        width: max-content !important;
        min-width: 0 !important;
        max-width: calc(100% - 370px) !important;

        flex: 0 1 auto !important;

        margin: 0 !important;
        padding: 0 6px !important;

        overflow: visible !important;
    }

    .ag-primary-nav .ag-menu {
        width: auto !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
    }

    /* Beranda tidak memakai kotak merah */
    .ag-primary-nav .ag-menu > .current-menu-item > a,
    .ag-primary-nav .ag-menu > .current-menu-ancestor > a {
        background: transparent !important;
        color: #ffffff !important;
        box-shadow: none !important;
    }

    /* Indikator aktif cukup garis merah tipis */
    .ag-primary-nav .ag-menu > .current-menu-item > a::before,
    .ag-primary-nav .ag-menu > .current-menu-ancestor > a::before {
        position: absolute !important;

        right: 18px !important;
        bottom: 8px !important;
        left: 18px !important;

        display: block !important;
        height: 3px !important;

        border-radius: 999px !important;
        background: var(--ag-red) !important;

        content: "" !important;
    }

    /* Parent submenu tetap punya chevron */
    .ag-primary-nav
    .ag-menu
    > .menu-item-has-children
    > a::after {
        position: static !important;
        display: block !important;

        width: 7px !important;
        height: 7px !important;

        margin: -4px 0 0 2px !important;

        border: 0 !important;
        border-right: 2px solid rgba(255, 255, 255, 0.72) !important;
        border-bottom: 2px solid rgba(255, 255, 255, 0.72) !important;

        background: transparent !important;
        content: "" !important;

        transform: rotate(45deg) !important;
    }

    /*
     * Tentang Asian Games dibuat lebih ringkas
     * supaya pill navy tidak terlalu panjang
     */
    .ag-primary-nav
    .ag-menu
    > li:last-child
    > a {
        padding-right: 14px !important;
        padding-left: 14px !important;

        font-size: 11px !important;
        letter-spacing: -0.1px !important;
    }

    /* Search benar-benar menjadi kotak terpisah */
    .ag-navbar .ag-search-button {
        position: static !important;

        display: grid !important;
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;

        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;

        flex: 0 0 58px !important;
        place-items: center !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 16px !important;

        background: #071a38 !important;
        color: var(--ag-red) !important;

        box-shadow:
            0 10px 24px rgba(7, 26, 56, 0.15) !important;

        transform: none !important;
    }

    .ag-navbar .ag-search-button:hover,
    .ag-navbar .ag-search-button:focus {
        border-color: var(--ag-red) !important;
        background: #0a2248 !important;
    }

    /* Lingkaran ikon search merah */
    .ag-navbar .ag-search-button > span {
        width: 17px !important;
        height: 17px !important;

        border: 2px solid var(--ag-red) !important;
        border-radius: 50% !important;
        background: transparent !important;
    }

    /* Gagang ikon search merah */
    .ag-navbar .ag-search-button > span::after {
        width: 8px !important;
        height: 2px !important;

        border: 0 !important;
        background: var(--ag-red) !important;
    }
}

/* Desktop sedang */
@media (min-width: 1121px) and (max-width: 1550px) {

    .ag-navbar .ag-brand {
        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;
        flex-basis: 250px !important;
    }

    .ag-primary-nav .ag-menu > li > a {
        padding-right: 11px !important;
        padding-left: 11px !important;
        font-size: 10.5px !important;
    }

    .ag-primary-nav
    .ag-menu
    > li:last-child
    > a {
        padding-right: 10px !important;
        padding-left: 10px !important;
        font-size: 10px !important;
    }
}

/* =====================================================
   HEADER PREMIUM FINAL
   Komposisi mengikuti Story of Anggy
   ===================================================== */

@media (min-width: 1121px) {

    /* Susunan header */
    .ag-navbar .ag-navbar__inner {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 16px !important;
    }

    /* Brand dekat dengan navbar */
    .ag-navbar .ag-brand {
        width: 330px !important;
        min-width: 330px !important;
        max-width: 330px !important;
        flex: 0 0 330px !important;
        margin: 0 !important;
    }

    /* Pill menu utama */
    .ag-navbar .ag-primary-nav {
        position: relative !important;
        display: flex !important;

        width: auto !important;
        min-width: 0 !important;
        height: 72px !important;
        min-height: 72px !important;

        flex: 0 1 auto !important;
        align-items: center !important;

        margin: 0 !important;
        padding: 0 8px !important;

        border: 0 !important;
        border-radius: 20px !important;
        background: #071a38 !important;

        box-shadow:
            0 15px 34px rgba(7, 26, 56, 0.14) !important;

        overflow: visible !important;
    }

    .ag-primary-nav .ag-menu {
        display: flex !important;
        width: auto !important;
        height: 72px !important;

        margin: 0 !important;
        padding: 0 !important;

        align-items: stretch !important;
        justify-content: flex-start !important;

        list-style: none !important;
    }

    .ag-primary-nav .ag-menu > li {
        position: relative !important;
        display: flex !important;
        height: 72px !important;
        min-height: 72px !important;
        align-items: stretch !important;
    }

    /* Pemisah vertikal seperti Story of Anggy */
    .ag-primary-nav .ag-menu > li + li::before {
        position: absolute !important;
        top: 18px !important;
        bottom: 18px !important;
        left: 0 !important;

        display: block !important;
        width: 1px !important;

        background: rgba(255, 255, 255, 0.16) !important;
        content: "" !important;
    }

    /* Tipografi menu */
    .ag-primary-nav .ag-menu > li > a {
        position: relative !important;
        display: flex !important;

        height: 72px !important;
        min-height: 72px !important;
        padding: 0 20px !important;

        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;

        color: #ffffff !important;
        font-family: var(--ag-font-body) !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        letter-spacing: -0.1px !important;
        text-align: center !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: nowrap !important;

        border-radius: 14px !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .ag-primary-nav .ag-menu > li > a:hover,
    .ag-primary-nav .ag-menu > li > a:focus {
        color: #ffffff !important;
        background: rgba(255, 255, 255, 0.07) !important;
    }

    /* Hapus semua indikator lama */
    .ag-primary-nav .ag-menu > li > a::before,
    .ag-primary-nav .ag-menu > li::after {
        display: none !important;
        content: none !important;
    }

    /* Active hanya Beranda: garis tipis */
    .ag-primary-nav
    .ag-menu
    > .current-menu-item
    > a::before {
        position: absolute !important;
        right: 20px !important;
        bottom: 10px !important;
        left: 20px !important;

        display: block !important;
        height: 3px !important;

        border-radius: 999px !important;
        background: var(--ag-red) !important;
        content: "" !important;
    }

    /* Jangan beri garis ke ancestor */
    .ag-primary-nav
    .ag-menu
    > .current-menu-ancestor
    > a::before {
        display: none !important;
        content: none !important;
    }

    /* Chevron submenu */
    .ag-primary-nav
    .ag-menu
    > .menu-item-has-children
    > a::after {
        position: static !important;
        display: block !important;

        width: 8px !important;
        height: 8px !important;
        margin: -4px 0 0 1px !important;

        border: 0 !important;
        border-right: 2px solid #8e9bb0 !important;
        border-bottom: 2px solid #8e9bb0 !important;

        background: transparent !important;
        content: "" !important;

        transform: rotate(45deg) !important;
    }

    .ag-primary-nav
    .ag-menu
    > .menu-item-has-children:hover
    > a::after,
    .ag-primary-nav
    .ag-menu
    > .menu-item-has-children:focus-within
    > a::after {
        margin-top: 3px !important;
        border-color: #ffffff !important;
        transform: rotate(225deg) !important;
    }

    /* Tentang dibuat sedikit lebih ringkas */
    .ag-primary-nav .ag-menu > li:last-child > a {
        padding-right: 16px !important;
        padding-left: 16px !important;
        font-size: 13px !important;
    }

    /* Dropdown premium */
    .ag-primary-nav .sub-menu {
        top: calc(100% + 12px) !important;

        width: 310px !important;
        min-width: 310px !important;
        padding: 12px 0 !important;

        border: 1px solid #e2e5ea !important;
        border-radius: 16px !important;
        background: #fffdf9 !important;

        box-shadow:
            0 22px 50px rgba(7, 26, 56, 0.19) !important;
    }

    .ag-primary-nav .sub-menu::before {
        position: absolute !important;
        top: -8px !important;
        left: 50% !important;

        display: block !important;
        width: 16px !important;
        height: 16px !important;

        border-top: 1px solid #e2e5ea !important;
        border-left: 1px solid #e2e5ea !important;
        background: #fffdf9 !important;

        content: "" !important;
        transform: translateX(-50%) rotate(45deg) !important;
    }

    .ag-primary-nav .sub-menu a {
        min-height: 50px !important;
        padding: 10px 22px 10px 40px !important;

        color: var(--ag-navy) !important;
        font-family: var(--ag-font-body) !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        text-transform: none !important;
    }

    .ag-primary-nav .sub-menu a::before {
        left: 21px !important;
        width: 6px !important;
        height: 6px !important;
        border-radius: 50% !important;
        background: #bc8a44 !important;
    }

    .ag-primary-nav .sub-menu a:hover,
    .ag-primary-nav .sub-menu a:focus {
        background: #f7f3ec !important;
        color: var(--ag-red) !important;
    }

    /* =================================================
       SEARCH: hapus total ikon lama yang lepas
       ================================================= */

    .ag-navbar .ag-search-button::before,
    .ag-navbar .ag-search-button::after,
    .ag-navbar .ag-search-button > span,
    .ag-navbar .ag-search-button > span::before,
    .ag-navbar .ag-search-button > span::after {
        display: none !important;
        content: none !important;
    }

    /* Kotak search terpisah */
    .ag-navbar .ag-search-button {
        position: relative !important;
        inset: auto !important;

        display: block !important;
        width: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;

        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;

        flex: 0 0 72px !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        border: 0 !important;
        border-radius: 20px !important;
        background: #071a38 !important;

        box-shadow:
            0 14px 30px rgba(7, 26, 56, 0.14) !important;

        transform: none !important;
    }

    /* Gambar ulang kaca pembesar dengan background-image */
    .ag-navbar .ag-search-button {
        background-color: #071a38 !important;
        background-image:
            linear-gradient(var(--ag-red), var(--ag-red)),
            radial-gradient(
                circle at center,
                transparent 0 7px,
                var(--ag-red) 7px 9px,
                transparent 9px
            ) !important;

        background-repeat: no-repeat !important;
        background-size:
            10px 2px,
            30px 30px !important;

        background-position:
            calc(50% + 9px) calc(50% + 9px),
            center center !important;
    }

    .ag-navbar .ag-search-button:hover,
    .ag-navbar .ag-search-button:focus-visible {
        background-color: #0b254d !important;
        outline: none !important;
        box-shadow:
            0 14px 30px rgba(7, 26, 56, 0.17),
            0 0 0 3px rgba(227, 24, 34, 0.12) !important;
    }
}

/* Desktop lebih sempit */
@media (min-width: 1121px) and (max-width: 1550px) {
    .ag-navbar .ag-brand {
        width: 300px !important;
        min-width: 300px !important;
        max-width: 300px !important;
        flex-basis: 300px !important;
    }

    .ag-primary-nav .ag-menu > li > a {
        padding-right: 14px !important;
        padding-left: 14px !important;
        font-size: 12px !important;
    }

    .ag-primary-nav .ag-menu > li:last-child > a {
        padding-right: 12px !important;
        padding-left: 12px !important;
        font-size: 11px !important;
    }
}

/* =====================================================
   HEADER MENU — FONT & SEARCH POSITION FINAL
   ===================================================== */

@media (min-width: 1121px) {

    /* Navbar memakai seluruh ruang yang tersedia */
    .ag-navbar .ag-navbar__inner {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 16px !important;
    }

    /* Menu tetap dekat logo */
    .ag-navbar .ag-primary-nav {
        flex: 0 1 auto !important;
        margin: 0 !important;
    }

    /* Font menu dibuat lebih tinggi dan tegas */
    .ag-primary-nav .ag-menu > li > a {
        padding-right: 19px !important;
        padding-left: 19px !important;

        font-family: var(--ag-font-body) !important;
        font-size: 15px !important;
        font-weight: 750 !important;
        line-height: 1.15 !important;
        letter-spacing: -0.15px !important;
        text-transform: none !important;
    }

    /* Menu panjang dibuat sedikit lebih ringkas */
    .ag-primary-nav .ag-menu > li:last-child > a {
        padding-right: 17px !important;
        padding-left: 17px !important;
        font-size: 14px !important;
    }

    /* Chevron ikut proporsional */
    .ag-primary-nav
    .ag-menu
    > .menu-item-has-children
    > a::after {
        width: 8px !important;
        height: 8px !important;
        margin-left: 3px !important;
    }

    /* =================================================
       SEARCH — DI UJUNG KANAN TANPA KOTAK NAVY
       ================================================= */

    .ag-navbar .ag-search-button {
        position: relative !important;
        inset: auto !important;

        display: block !important;
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;

        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;

        flex: 0 0 52px !important;

        /* Dorong search ke ujung kanan container */
        margin: 0 0 0 auto !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;
        background-color: transparent !important;
        box-shadow: none !important;

        overflow: visible !important;
        transform: none !important;

        /* Ikon search merah */
        background-image:
            linear-gradient(var(--ag-red), var(--ag-red)),
            radial-gradient(
                circle at center,
                transparent 0 8px,
                var(--ag-red) 8px 10px,
                transparent 10px
            ) !important;

        background-repeat: no-repeat !important;

        background-size:
            11px 2px,
            34px 34px !important;

        background-position:
            calc(50% + 10px) calc(50% + 10px),
            center center !important;
    }

    /* Matikan seluruh ikon/pseudo-element lama */
    .ag-navbar .ag-search-button::before,
    .ag-navbar .ag-search-button::after,
    .ag-navbar .ag-search-button > span,
    .ag-navbar .ag-search-button > span::before,
    .ag-navbar .ag-search-button > span::after {
        display: none !important;
        content: none !important;
    }

    .ag-navbar .ag-search-button:hover,
    .ag-navbar .ag-search-button:focus-visible {
        border: 0 !important;
        background-color: transparent !important;
        box-shadow: none !important;
        outline: none !important;
        opacity: 0.78 !important;
    }
}

/* Desktop menengah */
@media (min-width: 1121px) and (max-width: 1550px) {

    .ag-primary-nav .ag-menu > li > a {
        padding-right: 15px !important;
        padding-left: 15px !important;
        font-size: 13px !important;
    }

    .ag-primary-nav .ag-menu > li:last-child > a {
        padding-right: 13px !important;
        padding-left: 13px !important;
        font-size: 12px !important;
    }

    .ag-navbar .ag-search-button {
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        flex-basis: 46px !important;
    }
}

/* =====================================================
   MENU ACTIVE + SEARCH ICON — CLEAN FINAL
   ===================================================== */

@media (min-width: 1121px) {

    /* -----------------------------------------
       Hapus seluruh garis merah aktif permanen
       ----------------------------------------- */

    .ag-primary-nav .ag-menu > li > a::before,
    .ag-primary-nav .ag-menu > li > a::after {
        box-shadow: none !important;
    }

    .ag-primary-nav
    .ag-menu
    > .current-menu-item
    > a::before,

    .ag-primary-nav
    .ag-menu
    > .current-menu-ancestor
    > a::before,

    .ag-primary-nav
    .ag-menu
    > .current_page_item
    > a::before,

    .ag-primary-nav
    .ag-menu
    > .current_page_ancestor
    > a::before {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        background: transparent !important;
        content: none !important;
    }

    /* Current menu tidak punya background/garis merah */
    .ag-primary-nav
    .ag-menu
    > .current-menu-item
    > a,

    .ag-primary-nav
    .ag-menu
    > .current-menu-ancestor
    > a,

    .ag-primary-nav
    .ag-menu
    > .current_page_item
    > a,

    .ag-primary-nav
    .ag-menu
    > .current_page_ancestor
    > a {
        background: transparent !important;
        box-shadow: none !important;
        color: #ffffff !important;
    }

    /* -----------------------------------------
       Merah hanya saat hover/focus/klik
       ----------------------------------------- */

    .ag-primary-nav .ag-menu > li > a:hover,
    .ag-primary-nav .ag-menu > li > a:focus-visible,
    .ag-primary-nav .ag-menu > li > a:active {
        color: #ffffff !important;
        background: rgba(255, 255, 255, 0.055) !important;
    }

    .ag-primary-nav .ag-menu > li > a:hover::before,
    .ag-primary-nav .ag-menu > li > a:focus-visible::before,
    .ag-primary-nav .ag-menu > li > a:active::before {
        position: absolute !important;

        right: 20px !important;
        bottom: 10px !important;
        left: 20px !important;

        display: block !important;
        width: auto !important;
        height: 3px !important;

        border: 0 !important;
        border-radius: 999px !important;
        background: var(--ag-red) !important;

        content: "" !important;
        transform: none !important;
    }

    /* Chevron submenu tetap tampil */
    .ag-primary-nav
    .ag-menu
    > .menu-item-has-children
    > a::after {
        display: block !important;
        width: 8px !important;
        height: 8px !important;

        border: 0 !important;
        border-right: 2px solid #8492a8 !important;
        border-bottom: 2px solid #8492a8 !important;

        background: transparent !important;
        content: "" !important;
        transform: rotate(45deg) !important;
    }

    /* -----------------------------------------
       Search: hitam + aksen merah
       ----------------------------------------- */

    .ag-navbar .ag-search-button {
        position: relative !important;

        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;

        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;

        margin-left: auto !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;

        overflow: visible !important;
    }

    /* Matikan ikon lama */
    .ag-navbar .ag-search-button > span,
    .ag-navbar .ag-search-button > span::before,
    .ag-navbar .ag-search-button > span::after {
        display: none !important;
        content: none !important;
    }

    /* Lingkaran search hitam */
    .ag-navbar .ag-search-button::before {
        position: absolute !important;

        top: 50% !important;
        left: 50% !important;

        display: block !important;
        width: 18px !important;
        height: 18px !important;

        border: 2px solid #111111 !important;
        border-radius: 50% !important;
        background: transparent !important;

        content: "" !important;
        transform: translate(-62%, -62%) !important;
    }

    /* Gagang merah */
    .ag-navbar .ag-search-button::after {
        position: absolute !important;

        top: calc(50% + 8px) !important;
        left: calc(50% + 5px) !important;

        display: block !important;
        width: 10px !important;
        height: 2px !important;

        border: 0 !important;
        border-radius: 999px !important;
        background: var(--ag-red) !important;

        content: "" !important;
        transform: rotate(45deg) !important;
        transform-origin: left center !important;
    }

    .ag-navbar .ag-search-button:hover::before,
    .ag-navbar .ag-search-button:focus-visible::before {
        border-color: var(--ag-red) !important;
    }

    .ag-navbar .ag-search-button:hover::after,
    .ag-navbar .ag-search-button:focus-visible::after {
        background: #111111 !important;
    }
}

/* =====================================================
   TOP MENU — REMOVE ALL ACTIVE RED INDICATORS
   ===================================================== */

@media (min-width: 1121px) {

    .ag-primary-nav .ag-menu > li > a,
    .ag-primary-nav .ag-menu > li > a:link,
    .ag-primary-nav .ag-menu > li > a:visited,
    .ag-primary-nav .ag-menu > li > a:hover,
    .ag-primary-nav .ag-menu > li > a:focus,
    .ag-primary-nav .ag-menu > li > a:active {
        border-bottom: 0 !important;
        box-shadow: none !important;
        text-decoration: none !important;
    }

    /* Hapus indikator aktif/current/hover lama */
    .ag-primary-nav .ag-menu > li > a::before,
    .ag-primary-nav .ag-menu > li > a:hover::before,
    .ag-primary-nav .ag-menu > li > a:focus::before,
    .ag-primary-nav .ag-menu > li > a:active::before,
    .ag-primary-nav .ag-menu > .current-menu-item > a::before,
    .ag-primary-nav .ag-menu > .current-menu-ancestor > a::before,
    .ag-primary-nav .ag-menu > .current_page_item > a::before,
    .ag-primary-nav .ag-menu > .current_page_ancestor > a::before {
        position: static !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        content: none !important;
        transform: none !important;
    }

    /* Beranda dan current menu tetap polos */
    .ag-primary-nav .ag-menu > .current-menu-item > a,
    .ag-primary-nav .ag-menu > .current-menu-ancestor > a,
    .ag-primary-nav .ag-menu > .current_page_item > a,
    .ag-primary-nav .ag-menu > .current_page_ancestor > a {
        border: 0 !important;
        background: transparent !important;
        color: #ffffff !important;
        box-shadow: none !important;
    }
}

/* =====================================================
   AG HEADER FINAL LOCK
   Active clean + stable submenu + functional search
   ===================================================== */

@media (min-width: 1121px) {

    /* -----------------------------------------
       Hapus total indikator merah permanen
       ----------------------------------------- */

    body .ag-primary-nav .ag-menu > li > a,
    body .ag-primary-nav .ag-menu > li > a:link,
    body .ag-primary-nav .ag-menu > li > a:visited,
    body .ag-primary-nav .ag-menu > li > a:hover,
    body .ag-primary-nav .ag-menu > li > a:focus,
    body .ag-primary-nav .ag-menu > li > a:active,

    body .ag-primary-nav
    .ag-menu
    > .current-menu-item
    > a,

    body .ag-primary-nav
    .ag-menu
    > .current-menu-ancestor
    > a,

    body .ag-primary-nav
    .ag-menu
    > .current_page_item
    > a,

    body .ag-primary-nav
    .ag-menu
    > .current_page_ancestor
    > a {
        border-bottom: 0 !important;
        background: transparent !important;
        color: #ffffff !important;
        box-shadow: none !important;
        text-decoration: none !important;
    }

    body .ag-primary-nav .ag-menu > li > a::before,

    body .ag-primary-nav
    .ag-menu
    > .current-menu-item
    > a::before,

    body .ag-primary-nav
    .ag-menu
    > .current-menu-ancestor
    > a::before,

    body .ag-primary-nav
    .ag-menu
    > .current_page_item
    > a::before,

    body .ag-primary-nav
    .ag-menu
    > .current_page_ancestor
    > a::before {
        position: static !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        content: none !important;
        transform: none !important;
    }

    /*
     * Hover dibuat lembut tanpa garis merah.
     * Parent aktif hanya terasa dari background ringan.
     */
    body .ag-primary-nav .ag-menu > li > a:hover,
    body .ag-primary-nav .ag-menu > li > a:focus-visible,
    body .ag-primary-nav
    .ag-menu
    > li.is-menu-open
    > a {
        background: rgba(255, 255, 255, 0.07) !important;
        color: #ffffff !important;
    }

    /* -----------------------------------------
       Submenu tidak punya celah hover
       ----------------------------------------- */

    body .ag-primary-nav .sub-menu {
        top: calc(100% - 1px) !important;
        margin-top: 0 !important;
        padding-top: 20px !important;

        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        transform: translate(-50%, 8px) !important;
        transition:
            opacity 0.18s ease,
            transform 0.18s ease,
            visibility 0.18s ease !important;
    }

    /*
     * Area transparan bagian atas submenu menjadi jembatan
     * antara menu induk dan panel.
     */
    body .ag-primary-nav .sub-menu::after {
        position: absolute !important;
        top: -14px !important;
        right: 0 !important;
        left: 0 !important;

        display: block !important;
        height: 22px !important;

        background: transparent !important;
        content: "" !important;
    }

    body .ag-primary-nav
    .menu-item-has-children:hover
    > .sub-menu,

    body .ag-primary-nav
    .menu-item-has-children:focus-within
    > .sub-menu,

    body .ag-primary-nav
    .menu-item-has-children.is-menu-open
    > .sub-menu {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translate(-50%, 0) !important;
    }

    /* Menu terakhir tetap rata kanan */
    body .ag-primary-nav
    .ag-menu
    > li:last-child
    > .sub-menu {
        right: 0 !important;
        left: auto !important;
        transform: translateY(8px) !important;
    }

    body .ag-primary-nav
    .ag-menu
    > li:last-child:hover
    > .sub-menu,

    body .ag-primary-nav
    .ag-menu
    > li:last-child:focus-within
    > .sub-menu,

    body .ag-primary-nav
    .ag-menu
    > li:last-child.is-menu-open
    > .sub-menu {
        transform: translateY(0) !important;
    }

    /* -----------------------------------------
       Search tanpa background navy
       ----------------------------------------- */

    body .ag-navbar .ag-search-button {
        position: relative !important;
        inset: auto !important;

        display: block !important;
        width: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;

        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;

        flex: 0 0 54px !important;

        margin: 0 0 0 auto !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        background-image: none !important;
        box-shadow: none !important;

        opacity: 1 !important;
        overflow: visible !important;
        transform: none !important;
    }

    /* Matikan semua gambar search lama */
    body .ag-navbar .ag-search-button > span,
    body .ag-navbar .ag-search-button > span::before,
    body .ag-navbar .ag-search-button > span::after {
        display: none !important;
        content: none !important;
    }

    /* Lingkaran search hitam */
    body .ag-navbar .ag-search-button::before {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;

        display: block !important;
        width: 20px !important;
        height: 20px !important;

        border: 2px solid #101828 !important;
        border-radius: 50% !important;
        background: transparent !important;

        content: "" !important;
        box-sizing: border-box !important;
        transform: translate(-62%, -62%) !important;
    }

    /* Gagang merah */
    body .ag-navbar .ag-search-button::after {
        position: absolute !important;
        top: calc(50% + 8px) !important;
        left: calc(50% + 5px) !important;

        display: block !important;
        width: 11px !important;
        height: 2px !important;

        border: 0 !important;
        border-radius: 999px !important;
        background: var(--ag-red) !important;

        content: "" !important;
        transform: rotate(45deg) !important;
        transform-origin: left center !important;
    }

    body .ag-navbar .ag-search-button:hover::before,
    body .ag-navbar .ag-search-button:focus-visible::before {
        border-color: var(--ag-red) !important;
    }

    body .ag-navbar .ag-search-button:hover::after,
    body .ag-navbar .ag-search-button:focus-visible::after {
        background: #101828 !important;
    }
}

/* =====================================================
   SEARCH MODAL
   ===================================================== */

.ag-search-modal {
    position: fixed;
    z-index: 999999;

    inset: 0;

    display: flex;
    visibility: hidden;

    padding: 24px;

    align-items: flex-start;
    justify-content: center;

    opacity: 0;
    pointer-events: none;

    transition:
        opacity 0.22s ease,
        visibility 0.22s ease;
}

.ag-search-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.ag-search-modal__backdrop {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;
    padding: 0;

    border: 0;
    background: rgba(3, 14, 31, 0.78);
    backdrop-filter: blur(8px);
    cursor: default;
}

.ag-search-modal__panel {
    position: relative;
    z-index: 2;

    width: min(720px, calc(100% - 32px));
    margin-top: clamp(70px, 12vh, 145px);
    padding: 38px;

    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    background: #ffffff;

    box-shadow:
        0 35px 90px rgba(0, 0, 0, 0.3);

    transform: translateY(-16px);
    transition: transform 0.24s ease;
}

.ag-search-modal.is-open .ag-search-modal__panel {
    transform: translateY(0);
}

.ag-search-modal__close {
    position: absolute;
    top: 16px;
    right: 18px;

    display: grid;
    width: 40px;
    height: 40px;

    padding: 0;
    place-items: center;

    border: 1px solid #dce2ea;
    border-radius: 50%;
    background: #ffffff;
    color: var(--ag-navy);

    font-size: 27px;
    font-weight: 400;
    line-height: 1;

    cursor: pointer;
}

.ag-search-modal__eyebrow {
    display: block;
    margin-bottom: 8px;

    color: var(--ag-red);
    font-family: var(--ag-font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.ag-search-modal h2 {
    max-width: 560px;
    margin: 0;

    color: var(--ag-navy);
    font-family: var(--ag-font-heading);
    font-size: clamp(25px, 3vw, 38px);
    font-weight: 700;
    line-height: 1.08;
    text-transform: uppercase;
}

.ag-search-modal__form {
    display: grid;
    margin-top: 28px;

    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.ag-search-modal__form input {
    width: 100%;
    min-width: 0;
    height: 56px;
    padding: 0 18px;

    border: 1px solid #cfd7e3;
    border-radius: 10px;
    outline: none;

    color: var(--ag-navy);
    font-family: var(--ag-font-body);
    font-size: 15px;
}

.ag-search-modal__form input:focus {
    border-color: var(--ag-red);
    box-shadow: 0 0 0 3px rgba(227, 24, 34, 0.1);
}

.ag-search-modal__form button {
    min-width: 112px;
    height: 56px;
    padding: 0 22px;

    border: 0;
    border-radius: 10px;
    background: var(--ag-red);
    color: #ffffff;

    font-family: var(--ag-font-body);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;

    cursor: pointer;
}

html.ag-search-is-open {
    overflow: hidden;
}

@media (max-width: 640px) {
    .ag-search-modal {
        padding: 14px;
    }

    .ag-search-modal__panel {
        width: 100%;
        padding: 28px 20px 22px;
        border-radius: 16px;
    }

    .ag-search-modal__form {
        grid-template-columns: 1fr;
    }

    .ag-search-modal__form button {
        width: 100%;
    }
}

/* =====================================================
   HEADER SOURCE FIX FINAL
   Berdasarkan hasil DOM probe
   ===================================================== */

@media (min-width: 1121px) {

    /*
     * Hasil probe menunjukkan garis dibuat oleh
     * kedua pseudo-element link menu utama.
     */
    body .ag-primary-nav
    > .ag-menu
    > li
    > a::before,

    body .ag-primary-nav
    > .ag-menu
    > li
    > a::after {
        position: static !important;
        inset: auto !important;

        display: none !important;
        visibility: hidden !important;

        width: 0 !important;
        height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        background: none !important;
        box-shadow: none !important;

        content: none !important;
        opacity: 0 !important;
        transform: none !important;
    }

    /*
     * Chevron hanya untuk parent submenu.
     * Ini sengaja dibuat lagi setelah semua ::after
     * link utama dimatikan.
     */
    body .ag-primary-nav
    > .ag-menu
    > li.menu-item-has-children
    > a::after {
        position: static !important;

        display: block !important;
        visibility: visible !important;

        width: 8px !important;
        height: 8px !important;

        margin: -4px 0 0 3px !important;
        padding: 0 !important;

        border: 0 !important;
        border-right: 2px solid #8b98ac !important;
        border-bottom: 2px solid #8b98ac !important;

        background: transparent !important;

        content: "" !important;
        opacity: 1 !important;
        transform: rotate(45deg) !important;
    }

    body .ag-primary-nav
    > .ag-menu
    > li.menu-item-has-children:hover
    > a::after,

    body .ag-primary-nav
    > .ag-menu
    > li.menu-item-has-children.is-menu-open
    > a::after {
        margin-top: 3px !important;
        border-color: #ffffff !important;
        transform: rotate(225deg) !important;
    }

    /* Tidak ada background aktif pada Beranda */
    body .ag-primary-nav
    > .ag-menu
    > li.current-menu-item
    > a,

    body .ag-primary-nav
    > .ag-menu
    > li.current_page_item
    > a {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #ffffff !important;
    }

    /* Tombol search murni transparan */
    body .ag-navbar .ag-search-button {
        position: relative !important;
        inset: auto !important;

        display: grid !important;
        width: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;

        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;

        flex: 0 0 54px !important;
        place-items: center !important;

        margin: 0 0 0 auto !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;

        box-shadow: none !important;
        opacity: 1 !important;
        overflow: visible !important;
        transform: none !important;
    }

    /* Matikan seluruh search pseudo-element lama */
    body .ag-navbar .ag-search-button::before,
    body .ag-navbar .ag-search-button::after,
    body .ag-navbar .ag-search-button > span,
    body .ag-navbar .ag-search-button > span::before,
    body .ag-navbar .ag-search-button > span::after {
        display: none !important;
        content: none !important;
    }

    /* Ikon SVG search */
    body .ag-search-button__icon {
        display: block !important;
        width: 28px !important;
        height: 28px !important;
        overflow: visible !important;
    }

    body .ag-search-button__icon circle {
        fill: none !important;
        stroke: #111827 !important;
        stroke-width: 2 !important;
    }

    body .ag-search-button__icon path {
        fill: none !important;
        stroke: var(--ag-red) !important;
        stroke-width: 2.5 !important;
        stroke-linecap: round !important;
    }

    body .ag-navbar .ag-search-button:hover,
    body .ag-navbar .ag-search-button:focus-visible {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        outline: none !important;
        opacity: 0.78 !important;
    }

    /* Dropdown menempel ke parent tanpa celah */
    body .ag-primary-nav .sub-menu {
        top: calc(100% - 1px) !important;
        margin-top: 0 !important;
    }

    /* Jembatan hover transparan */
    body .ag-primary-nav
    .menu-item-has-children
    > .sub-menu::after {
        position: absolute !important;
        top: -20px !important;
        right: 0 !important;
        left: 0 !important;

        display: block !important;
        height: 28px !important;

        background: transparent !important;
        content: "" !important;
    }

    body .ag-primary-nav
    .menu-item-has-children.is-menu-open
    > .sub-menu {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

/* =====================================================
   SEARCH BUTTON — TRANSPARENT IN EVERY STATE
   ===================================================== */

@media (min-width: 1121px) {

    body .ag-navbar button.ag-search-button,
    body .ag-navbar button.ag-search-button:hover,
    body .ag-navbar button.ag-search-button:focus,
    body .ag-navbar button.ag-search-button:focus-visible,
    body .ag-navbar button.ag-search-button:active,
    body .ag-navbar button.ag-search-button[aria-expanded="true"] {
        appearance: none !important;
        -webkit-appearance: none !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;

        box-shadow: none !important;
        outline: none !important;
        filter: none !important;
    }

    body .ag-navbar button.ag-search-button::before,
    body .ag-navbar button.ag-search-button::after {
        display: none !important;
        background: none !important;
        content: none !important;
    }

    body .ag-navbar button.ag-search-button
    .ag-search-button__icon {
        display: block !important;
        width: 28px !important;
        height: 28px !important;
    }

    body .ag-navbar button.ag-search-button
    .ag-search-button__icon circle {
        fill: none !important;
        stroke: #111827 !important;
        stroke-width: 2 !important;
    }

    body .ag-navbar button.ag-search-button
    .ag-search-button__icon path {
        fill: none !important;
        stroke: var(--ag-red) !important;
        stroke-width: 2.5 !important;
        stroke-linecap: round !important;
    }
}

/* Search icon final — seluruhnya hitam */
body .ag-navbar button.ag-search-button
.ag-search-button__icon path {
    stroke: #111827 !important;
}

body .ag-navbar button.ag-search-button:hover
.ag-search-button__icon circle,
body .ag-navbar button.ag-search-button:hover
.ag-search-button__icon path,
body .ag-navbar button.ag-search-button:focus
.ag-search-button__icon circle,
body .ag-navbar button.ag-search-button:focus
.ag-search-button__icon path {
    stroke: #111827 !important;
}

/* =====================================================
   STICKY NAVBAR FINAL
   ===================================================== */

.ag-navbar-sticky-spacer {
    display: block;
    width: 100%;
    height: 0;
    pointer-events: none;
}

/* Navbar normal */
.ag-navbar {
    transition:
        box-shadow 0.22s ease,
        background-color 0.22s ease;
}

/* Navbar setelah melewati posisi awal */
.ag-navbar.is-sticky {
    position: fixed !important;
    z-index: 99990 !important;

    top: var(--ag-sticky-admin-offset, 0px) !important;
    right: 0 !important;
    left: 0 !important;

    width: 100% !important;
    margin: 0 !important;

    background: rgba(255, 255, 255, 0.98) !important;

    box-shadow:
        0 10px 30px rgba(7, 26, 56, 0.13),
        0 1px 0 rgba(7, 26, 56, 0.08) !important;

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    animation: agStickyNavbarEnter 0.22s ease both;
}

/* Container tetap selebar desain awal */
.ag-navbar.is-sticky .ag-navbar__inner {
    width: 100% !important;
}

/* Dropdown harus tetap berada di atas seluruh halaman */
.ag-navbar.is-sticky .ag-primary-nav,
.ag-navbar.is-sticky .ag-primary-nav .ag-menu,
.ag-navbar.is-sticky .ag-primary-nav .menu-item {
    overflow: visible !important;
}

.ag-navbar.is-sticky .ag-primary-nav .sub-menu {
    z-index: 100010 !important;
}

/* Sedikit lebih kompak saat sticky di desktop */
@media (min-width: 1121px) {
    .ag-navbar.is-sticky {
        min-height: 94px !important;
        height: 94px !important;
    }

    .ag-navbar.is-sticky .ag-navbar__inner {
        min-height: 94px !important;
        height: 94px !important;
    }

    .ag-navbar.is-sticky .ag-brand {
        height: 78px !important;
    }

    .ag-navbar.is-sticky .ag-brand__logo {
        max-height: 68px !important;
    }

    .ag-navbar.is-sticky .ag-brand__logo img.custom-logo {
        max-height: 68px !important;
    }

    .ag-navbar.is-sticky .ag-primary-nav,
    .ag-navbar.is-sticky .ag-primary-nav .ag-menu,
    .ag-navbar.is-sticky .ag-primary-nav .ag-menu > li,
    .ag-navbar.is-sticky .ag-primary-nav .ag-menu > li > a {
        min-height: 66px !important;
        height: 66px !important;
    }

    .ag-navbar.is-sticky .ag-search-button {
        min-height: 66px !important;
        height: 66px !important;
    }
}

/* Mobile mengikuti tinggi navbar aktual */
@media (max-width: 1120px) {
    .ag-navbar.is-sticky {
        height: auto !important;
        min-height: 68px !important;
    }

    .ag-navbar.is-sticky .ag-navbar__inner {
        height: auto !important;
        min-height: 68px !important;
    }
}

@keyframes agStickyNavbarEnter {
    from {
        opacity: 0.96;
        transform: translateY(-12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Pengguna yang mematikan animasi */
@media (prefers-reduced-motion: reduce) {
    .ag-navbar,
    .ag-navbar.is-sticky {
        animation: none !important;
        transition: none !important;
    }
}

/* =====================================================
   FOOTER BRAND LOGO FINAL
   Mengikuti custom logo header
   ===================================================== */

.ag-footer-logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
    text-decoration: none !important;
}

/* Area lambang Garuda */
.ag-footer-logo__image {
    display: flex !important;

    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;

    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;

    flex: 0 0 76px !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: visible !important;
}

/* Gambar logo */
.ag-footer-custom-logo {
    display: block !important;

    width: auto !important;
    max-width: 76px !important;

    height: auto !important;
    max-height: 84px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;
}

/* Teks brand footer */
.ag-footer-logo__copy {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

.ag-footer-logo__copy small {
    margin: 0 !important;

    color: #ffffff !important;
    font-family: var(--ag-font-body) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
}

.ag-footer-logo__copy strong {
    margin: 4px 0 0 !important;

    color: #ffffff !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 29px !important;
    font-weight: 700 !important;
    line-height: 0.95 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.ag-footer-logo__copy em {
    margin: 8px 0 0 !important;

    color: #f0b52f !important;
    font-family: var(--ag-font-body) !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

/* Hilangkan fallback RI jika gambar logo aktif */
.ag-footer-logo:has(.ag-footer-logo__image)
.ag-footer-logo__mark {
    display: none !important;
}

@media (max-width: 640px) {
    .ag-footer-logo {
        gap: 11px !important;
    }

    .ag-footer-logo__image {
        width: 62px !important;
        min-width: 62px !important;
        max-width: 62px !important;

        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;

        flex-basis: 62px !important;
    }

    .ag-footer-custom-logo {
        max-width: 62px !important;
        max-height: 70px !important;
    }

    .ag-footer-logo__copy small {
        font-size: 9px !important;
        letter-spacing: 2px !important;
    }

    .ag-footer-logo__copy strong {
        font-size: 24px !important;
    }

    .ag-footer-logo__copy em {
        font-size: 8px !important;
        letter-spacing: 1.3px !important;
    }
}

/* =====================================================
   ATLET HIGHLIGHTS — FULL IMAGE OVERLAY FINAL
   ===================================================== */

body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__image {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    width: 100% !important;
    background: #071a38 !important;
}

/* Foto memenuhi seluruh card */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__photo {
    position: absolute !important;
    z-index: 1 !important;

    inset: 0 !important;

    display: block !important;
    visibility: visible !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;

    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 1 !important;
    transform: none !important;
}

/* Hapus panel navy solid setengah kanan */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__image::after {
    position: absolute !important;
    z-index: 2 !important;

    inset: 0 !important;

    display: block !important;

    width: 100% !important;
    height: 100% !important;

    background:
        linear-gradient(
            90deg,
            rgba(4, 17, 39, 0.04) 0%,
            rgba(4, 17, 39, 0.08) 35%,
            rgba(4, 17, 39, 0.60) 68%,
            rgba(4, 17, 39, 0.92) 100%
        ) !important;

    content: "" !important;
    pointer-events: none !important;
}

/* Hapus gradient sambungan versi split */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__image::before {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    content: none !important;
}

/* Label kiri atas */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__category {
    position: absolute !important;
    z-index: 6 !important;

    top: 18px !important;
    left: 18px !important;
}

/* Teks tetap di sisi kanan */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__overlay {
    position: absolute !important;
    z-index: 6 !important;

    top: 50% !important;
    right: 22px !important;
    bottom: auto !important;
    left: 60% !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
    transform: translateY(-50%) !important;
}

/* Judul atlet */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__overlay strong {
    display: block !important;

    margin: 0 !important;

    color: #ffffff !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35) !important;
}

/* Deskripsi */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__overlay small {
    display: block !important;

    margin-top: 8px !important;

    color: rgba(255, 255, 255, 0.9) !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
}

/* Tombol play tetap di tengah card */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-play {
    position: absolute !important;
    z-index: 7 !important;

    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;

    transform: translate(-50%, -50%) !important;
}

/* Durasi kanan bawah */
body.home
.ag-dashboard
.ag-panel--highlight
.ag-highlight-card__duration {
    position: absolute !important;
    z-index: 7 !important;

    right: 14px !important;
    bottom: 14px !important;
}

/* Desktop besar */
@media (min-width: 1500px) {
    body.home
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-card__overlay {
        left: 58% !important;
        right: 26px !important;
    }
}

/* Tablet dan mobile */
@media (max-width: 900px) {
    body.home
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-card__image::after {
        background:
            linear-gradient(
                180deg,
                rgba(4, 17, 39, 0.02) 20%,
                rgba(4, 17, 39, 0.78) 100%
            ) !important;
    }

    body.home
    .ag-dashboard
    .ag-panel--highlight
    .ag-highlight-card__overlay {
        top: auto !important;
        right: 18px !important;
        bottom: 20px !important;
        left: 18px !important;

        text-align: center !important;
        transform: none !important;
    }
}

/* =====================================================
   FOOTER COLUMNS + SOCIAL ICONS FINAL
   ===================================================== */

/*
 * Hubungi Kami, Ketentuan, dan Ikuti Kami
 * memakai ritme vertikal yang sama.
 */
.ag-footer__column {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

/* Judul ketiga kolom dikunci pada tinggi yang sama */
.ag-footer__column > h3 {
    display: flex !important;
    min-height: 30px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;

    align-items: flex-start !important;

    color: #ffffff !important;
    font-family: var(--ag-font-heading) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}

/* Paragraf dan daftar dimulai dari garis yang sama */
.ag-footer__column > p,
.ag-footer__column > ul,
.ag-footer__column > .ag-footer-social {
    margin-top: 0 !important;
}

/* Hubungi Kami */
.ag-footer__column > p {
    margin-bottom: 14px !important;
    color: rgba(255, 255, 255, 0.72) !important;
    line-height: 1.6 !important;
}

/* Ketentuan */
.ag-footer__column > ul {
    margin-bottom: 0 !important;
    padding: 0 !important;
}

/* Hilangkan hashtag sepenuhnya sebagai pengaman */
.ag-footer-hashtag {
    display: none !important;
}

/* Lima ikon dalam satu baris */
.ag-footer-social {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
}

/* Lingkaran setiap ikon */
.ag-footer-social > a {
    display: grid !important;

    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;

    flex: 0 0 50px !important;
    place-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 50% !important;

    background: rgba(255, 255, 255, 0.025) !important;
    color: #ffffff !important;

    text-decoration: none !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease !important;
}

/* Ikon diperbesar */
.ag-footer-social > a svg {
    display: block !important;

    width: 23px !important;
    height: 23px !important;

    overflow: visible !important;
}

/* Ikon berbasis fill */
.ag-footer-social > a svg path {
    fill: currentColor !important;
    stroke: none !important;
}

/* Instagram memakai outline */
.ag-footer-social > a[aria-label="Instagram"] svg rect,
.ag-footer-social > a[aria-label="Instagram"] svg circle:not(.is-filled) {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
}

/* Titik kamera Instagram */
.ag-footer-social > a[aria-label="Instagram"] svg .is-filled {
    fill: currentColor !important;
    stroke: none !important;
}

/* Segitiga YouTube menjadi warna footer navy */
.ag-footer-social > a[aria-label="YouTube"] svg .is-cutout {
    fill: #071a38 !important;
}

/* Hover premium */
.ag-footer-social > a:hover,
.ag-footer-social > a:focus-visible {
    border-color: var(--ag-red) !important;
    background: var(--ag-red) !important;
    color: #ffffff !important;

    outline: none !important;
    transform: translateY(-2px) !important;
}

/* Saat hover YouTube, lubang play tetap kontras */
.ag-footer-social > a[aria-label="YouTube"]:hover svg .is-cutout,
.ag-footer-social > a[aria-label="YouTube"]:focus-visible svg .is-cutout {
    fill: #ffffff !important;
}

/* Desktop sedang agar lima ikon tetap muat */
@media (max-width: 1500px) {
    .ag-footer-social {
        gap: 9px !important;
    }

    .ag-footer-social > a {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        flex-basis: 44px !important;
    }

    .ag-footer-social > a svg {
        width: 20px !important;
        height: 20px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .ag-footer__column > h3 {
        min-height: 0 !important;
        margin-bottom: 14px !important;
    }

    .ag-footer-social {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    .ag-footer-social > a {
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        flex-basis: 46px !important;
    }
}

/* =====================================================
   FOOTER DESKTOP GRID — FINAL ALIGNMENT
   ===================================================== */

@media (min-width: 1121px) {

    /*
     * Pembagian kolom:
     * Brand | Hubungi | Ketentuan | Sosial | Dukungan
     *
     * Kolom sosial dibuat lebih lebar agar lima ikon
     * tetap berada sebelum garis pembatas dukungan.
     */
    body .ag-footer .ag-footer__grid {
        display: grid !important;

        grid-template-columns:
            minmax(330px, 1.45fr)
            minmax(230px, 1fr)
            minmax(190px, 0.85fr)
            minmax(290px, 1.30fr)
            minmax(240px, 1.05fr) !important;

        column-gap: 36px !important;
        row-gap: 0 !important;

        align-items: start !important;

        padding-top: 54px !important;
        padding-bottom: 48px !important;

        box-sizing: border-box !important;
    }

    /* Semua anak grid mulai dari koordinat atas yang sama */
    body .ag-footer .ag-footer__grid
    > .ag-footer__brand,

    body .ag-footer .ag-footer__grid
    > .ag-footer__column,

    body .ag-footer .ag-footer__grid
    > .ag-footer__support {
        position: relative !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        min-width: 0 !important;

        margin-top: 0 !important;
        padding-top: 0 !important;

        align-self: start !important;
        transform: none !important;
    }

    /*
     * Hubungi Kami, Ketentuan dan Ikuti Kami
     * memakai titik awal identik.
     */
    body .ag-footer .ag-footer__grid
    > .ag-footer__column {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
    }

    body .ag-footer .ag-footer__grid
    > .ag-footer__column
    > h3 {
        display: block !important;

        width: 100% !important;
        min-height: 28px !important;

        margin: 0 0 20px !important;
        padding: 0 !important;

        font-size: 18px !important;
        line-height: 28px !important;

        transform: none !important;
    }

    /*
     * Elemen pertama setelah heading dimulai
     * dari garis horizontal virtual yang sama.
     */
    body .ag-footer .ag-footer__column > h3 + p,
    body .ag-footer .ag-footer__column > h3 + ul,
    body .ag-footer .ag-footer__column > h3 + .ag-footer-social {
        margin-top: 0 !important;
    }

    /* Hilangkan offset khusus yang mungkin berasal dari CSS lama */
    body .ag-footer .ag-footer__grid
    > .ag-footer__column:nth-child(2),

    body .ag-footer .ag-footer__grid
    > .ag-footer__column:nth-child(3),

    body .ag-footer .ag-footer__grid
    > .ag-footer__column:nth-child(4) {
        top: 0 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        transform: none !important;
    }

    /* =================================================
       LIMA IKON SOSIAL TETAP DI DALAM KOLOM
       ================================================= */

    body .ag-footer .ag-footer-social {
        display: grid !important;

        width: 100% !important;
        max-width: 276px !important;

        grid-template-columns: repeat(5, 44px) !important;
        column-gap: 10px !important;
        row-gap: 10px !important;

        align-items: center !important;
        justify-content: start !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
        box-sizing: border-box !important;
    }

    body .ag-footer .ag-footer-social > a {
        display: grid !important;

        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;

        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;

        margin: 0 !important;
        padding: 0 !important;

        place-items: center !important;

        box-sizing: border-box !important;
    }

    body .ag-footer .ag-footer-social > a svg {
        width: 21px !important;
        height: 21px !important;
    }

    /* Kolom dukungan dan garis pembatas tetap aman */
    body .ag-footer .ag-footer__support {
        min-height: 136px !important;

        padding-top: 30px !important;
        padding-left: 36px !important;

        border-left: 1px solid rgba(255, 255, 255, 0.16) !important;

        box-sizing: border-box !important;
    }
}

/* =====================================================
   DESKTOP MENENGAH
   ===================================================== */

@media (min-width: 1121px) and (max-width: 1600px) {

    body .ag-footer .ag-footer__grid {
        grid-template-columns:
            minmax(290px, 1.35fr)
            minmax(210px, 0.95fr)
            minmax(175px, 0.78fr)
            minmax(250px, 1.18fr)
            minmax(210px, 0.95fr) !important;

        column-gap: 24px !important;
    }

    body .ag-footer .ag-footer-social {
        max-width: 248px !important;

        grid-template-columns: repeat(5, 40px) !important;
        column-gap: 8px !important;
    }

    body .ag-footer .ag-footer-social > a {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;

        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
    }

    body .ag-footer .ag-footer-social > a svg {
        width: 19px !important;
        height: 19px !important;
    }

    body .ag-footer .ag-footer__support {
        padding-left: 24px !important;
    }
}

/* =====================================================
   TABLET: sosial boleh turun baris
   ===================================================== */

@media (min-width: 641px) and (max-width: 1120px) {
    body .ag-footer .ag-footer-social {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
}

/* =====================================================
   FOOTER HEIGHT & BRAND SPACING — FINAL
   ===================================================== */

@media (min-width: 1121px) {

    /* Hapus tinggi minimum/padding lama pada pembungkus footer */
    body .ag-footer .ag-footer__main {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /*
     * Footer dibuat lebih pendek.
     * Jarak atas dan bawah dikurangi.
     */
    body .ag-footer .ag-footer__grid {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        padding-top: 34px !important;
        padding-bottom: 34px !important;

        /*
         * Brand diberi ruang sedikit lebih lebar,
         * sehingga Hubungi Kami bergeser ke kanan.
         */
        grid-template-columns:
            minmax(370px, 1.48fr)
            minmax(240px, 0.98fr)
            minmax(190px, 0.80fr)
            minmax(290px, 1.18fr)
            minmax(235px, 0.95fr) !important;

        column-gap: 42px !important;
        align-items: start !important;
    }

    /* Tambahan ruang setelah kolom brand */
    body .ag-footer .ag-footer__brand {
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 24px 0 0 !important;

        align-self: start !important;
    }

    /* Logo dan deskripsi jangan membuat tinggi tambahan */
    body .ag-footer .ag-footer-logo {
        margin: 0 !important;
    }

    body .ag-footer .ag-footer__brand > p {
        margin: 22px 0 0 !important;
        padding: 0 !important;

        max-width: 350px !important;
        line-height: 1.55 !important;
    }

    /*
     * Ketiga kolom tetap sejajar,
     * tetapi tidak memiliki ruang vertikal berlebihan.
     */
    body .ag-footer .ag-footer__column {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body .ag-footer .ag-footer__column > h3 {
        min-height: 26px !important;
        margin: 0 0 15px !important;

        line-height: 26px !important;
    }

    body .ag-footer .ag-footer__column > p {
        margin: 0 0 12px !important;
    }

    body .ag-footer .ag-footer__column > ul {
        margin: 0 !important;
    }

    /* Kolom dukungan ikut dipendekkan */
    body .ag-footer .ag-footer__support {
        min-height: 118px !important;

        margin: 0 !important;
        padding-top: 24px !important;
        padding-bottom: 0 !important;
    }
}

/* Desktop menengah */
@media (min-width: 1121px) and (max-width: 1600px) {

    body .ag-footer .ag-footer__grid {
        padding-top: 30px !important;
        padding-bottom: 30px !important;

        grid-template-columns:
            minmax(330px, 1.40fr)
            minmax(220px, 0.94fr)
            minmax(175px, 0.76fr)
            minmax(250px, 1.12fr)
            minmax(210px, 0.92fr) !important;

        column-gap: 32px !important;
    }

    body .ag-footer .ag-footer__brand {
        padding-right: 18px !important;
    }
}

/* =====================================================
   RESPONSIVE HEADER RESET FINAL
   Mobile + tablet only
   Desktop >= 1121px tidak berubah
   ===================================================== */

@media (max-width: 1120px) {

    /* Cegah halaman melebar ke kanan */
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* -----------------------------------------
       NAVBAR RESPONSIVE
       ----------------------------------------- */

    body .ag-navbar {
        position: relative !important;

        width: 100% !important;
        height: 88px !important;
        min-height: 88px !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #ffffff !important;
        overflow: visible !important;
    }

    body .ag-navbar .ag-container,
    body .ag-navbar .ag-navbar__inner {
        position: relative !important;

        display: grid !important;
        width: 100% !important;
        max-width: none !important;

        height: 88px !important;
        min-height: 88px !important;
        max-height: none !important;

        grid-template-columns: minmax(0, 1fr) 44px 44px !important;
        column-gap: 8px !important;

        align-items: center !important;

        margin: 0 !important;
        padding: 0 18px !important;

        box-sizing: border-box !important;
        overflow: visible !important;
    }

    /* -----------------------------------------
       BRAND
       ----------------------------------------- */

    body .ag-navbar .ag-brand {
        position: static !important;

        display: inline-flex !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;

        height: 72px !important;
        min-height: 0 !important;

        grid-column: 1 !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 9px !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;
        transform: none !important;
    }

    body .ag-navbar .ag-brand__logo {
        display: flex !important;

        width: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;

        height: 62px !important;
        min-height: 62px !important;
        max-height: 62px !important;

        flex: 0 0 54px !important;
        align-items: center !important;
        justify-content: center !important;

        overflow: visible !important;
    }

    body .ag-navbar .ag-brand__logo img.custom-logo {
        display: block !important;

        width: auto !important;
        max-width: 54px !important;

        height: auto !important;
        max-height: 62px !important;

        object-fit: contain !important;
    }

    body .ag-navbar .ag-brand__text {
        position: static !important;

        display: flex !important;
        min-width: 0 !important;

        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;
    }

    body .ag-navbar .ag-brand__text small {
        font-size: 8px !important;
        line-height: 1 !important;
        letter-spacing: 1.8px !important;
    }

    body .ag-navbar .ag-brand__text strong {
        margin-top: 3px !important;

        font-size: 21px !important;
        line-height: 0.95 !important;
        white-space: nowrap !important;
    }

    body .ag-navbar .ag-brand__text em {
        margin-top: 6px !important;

        font-size: 7px !important;
        line-height: 1 !important;
        letter-spacing: 1.2px !important;
        white-space: nowrap !important;
    }

    /* -----------------------------------------
       HAMBURGER
       ----------------------------------------- */

    body .ag-navbar .ag-menu-toggle {
        position: relative !important;

        display: flex !important;
        visibility: visible !important;

        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;

        grid-column: 2 !important;

        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 8px !important;
        background: transparent !important;

        opacity: 1 !important;
        transform: none !important;
        cursor: pointer !important;
    }

    body .ag-navbar .ag-menu-toggle > span:not(.screen-reader-text) {
        display: block !important;

        width: 20px !important;
        height: 2px !important;

        margin: 0 !important;

        border: 0 !important;
        border-radius: 99px !important;
        background: var(--ag-navy) !important;

        transform: none !important;
    }

    /* -----------------------------------------
       SEARCH MOBILE
       ----------------------------------------- */

    body .ag-navbar .ag-search-button {
        position: relative !important;
        inset: auto !important;

        display: grid !important;
        visibility: visible !important;

        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;

        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;

        grid-column: 3 !important;
        place-items: center !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;

        opacity: 1 !important;
        transform: none !important;
    }

    body .ag-navbar .ag-search-button__icon {
        display: block !important;
        width: 23px !important;
        height: 23px !important;
    }

    /* -----------------------------------------
       DRAWER MENU — TERTUTUP SECARA DEFAULT
       ----------------------------------------- */

    body .ag-navbar .ag-primary-nav {
        position: absolute !important;
        z-index: 99999 !important;

        top: 100% !important;
        right: 0 !important;
        left: 0 !important;

        display: none !important;
        visibility: hidden !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100vh - 88px) !important;

        margin: 0 !important;
        padding: 10px 16px 18px !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: #071a38 !important;
        box-shadow: 0 18px 35px rgba(7, 26, 56, 0.22) !important;

        opacity: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;

        pointer-events: none !important;
        transform: translateY(-8px) !important;
    }

    body .ag-navbar .ag-primary-nav.is-open {
        display: block !important;
        visibility: visible !important;

        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    body .ag-primary-nav .ag-menu {
        display: block !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;
    }

    body .ag-primary-nav .ag-menu > li {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        border-bottom: 1px solid rgba(255, 255, 255, 0.11) !important;
    }

    /* Hilangkan seluruh garis/indikator desktop */
    body .ag-primary-nav .ag-menu > li::before,
    body .ag-primary-nav .ag-menu > li::after,
    body .ag-primary-nav .ag-menu > li > a::before {
        display: none !important;
        content: none !important;
    }

    body .ag-primary-nav .ag-menu > li > a {
        position: relative !important;

        display: flex !important;

        width: 100% !important;
        height: auto !important;
        min-height: 52px !important;

        padding: 0 44px 0 4px !important;

        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;

        color: #ffffff !important;
        font-family: var(--ag-font-body) !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        text-align: left !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: normal !important;

        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /* Chevron parent */
    body .ag-primary-nav
    .ag-menu
    > li.menu-item-has-children
    > a::after {
        position: absolute !important;

        top: 50% !important;
        right: 9px !important;

        display: block !important;
        visibility: visible !important;

        width: 8px !important;
        height: 8px !important;

        margin: -6px 0 0 !important;

        border: 0 !important;
        border-right: 2px solid #94a1b5 !important;
        border-bottom: 2px solid #94a1b5 !important;

        background: transparent !important;
        content: "" !important;

        opacity: 1 !important;
        transform: rotate(45deg) !important;
    }

    body .ag-primary-nav
    .ag-menu
    > li.is-submenu-open
    > a::after {
        margin-top: -2px !important;
        transform: rotate(225deg) !important;
    }

    /* -----------------------------------------
       SUBMENU MOBILE
       ----------------------------------------- */

    body .ag-primary-nav .sub-menu {
        position: static !important;

        display: none !important;
        visibility: visible !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        height: auto !important;

        margin: 0 !important;
        padding: 0 0 8px 14px !important;

        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;

        opacity: 1 !important;
        overflow: visible !important;

        pointer-events: auto !important;
        transform: none !important;
    }

    body .ag-primary-nav
    .menu-item-has-children.is-submenu-open
    > .sub-menu,

    body .ag-primary-nav
    .menu-item-has-children.is-menu-open
    > .sub-menu {
        display: block !important;
    }

    body .ag-primary-nav .sub-menu::before,
    body .ag-primary-nav .sub-menu::after {
        display: none !important;
        content: none !important;
    }

    body .ag-primary-nav .sub-menu li {
        display: block !important;
        width: 100% !important;
    }

    body .ag-primary-nav .sub-menu a {
        display: flex !important;

        width: 100% !important;
        min-height: 42px !important;

        padding: 8px 12px 8px 20px !important;

        align-items: center !important;

        color: rgba(255, 255, 255, 0.82) !important;
        font-family: var(--ag-font-body) !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        text-align: left !important;
        text-transform: none !important;

        border-radius: 7px !important;
        background: transparent !important;
    }

    body .ag-primary-nav .sub-menu a::before {
        left: 6px !important;
        width: 5px !important;
        height: 5px !important;
        background: var(--ag-red) !important;
    }

    /* -----------------------------------------
       STICKY MOBILE
       ----------------------------------------- */

    body .ag-navbar.is-sticky {
        top: var(--ag-sticky-admin-offset, 0px) !important;

        height: 76px !important;
        min-height: 76px !important;
        max-height: none !important;
    }

    body .ag-navbar.is-sticky .ag-navbar__inner {
        height: 76px !important;
        min-height: 76px !important;
        max-height: none !important;
    }

    /* -----------------------------------------
       HERO & CONTENT RESET
       ----------------------------------------- */

    body .ag-hero,
    body .ag-hero--final,
    body .ag-dashboard {
        width: 100% !important;
        max-width: 100% !important;

        margin-right: 0 !important;
        margin-left: 0 !important;

        overflow-x: hidden !important;
    }

    /*
     * Ruang navy kosong berasal dari menu yang bocor.
     * Setelah drawer disembunyikan, section kembali auto.
     */
    body .ag-hero--final {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
}

/* =====================================================
   MOBILE KECIL
   ===================================================== */

@media (max-width: 640px) {

    body .ag-navbar,
    body .ag-navbar .ag-navbar__inner {
        height: 84px !important;
        min-height: 84px !important;
    }

    body .ag-navbar .ag-navbar__inner {
        grid-template-columns: minmax(0, 1fr) 40px 40px !important;
        column-gap: 5px !important;
        padding-right: 10px !important;
        padding-left: 12px !important;
    }

    body .ag-navbar .ag-brand {
        height: 70px !important;
        gap: 7px !important;
    }

    body .ag-navbar .ag-brand__logo {
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;

        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;

        flex-basis: 48px !important;
    }

    body .ag-navbar .ag-brand__logo img.custom-logo {
        max-width: 48px !important;
        max-height: 56px !important;
    }

    body .ag-navbar .ag-brand__text small {
        font-size: 7px !important;
        letter-spacing: 1.5px !important;
    }

    body .ag-navbar .ag-brand__text strong {
        font-size: 18px !important;
    }

    body .ag-navbar .ag-brand__text em {
        font-size: 6.5px !important;
        letter-spacing: 1px !important;
    }

    body .ag-navbar .ag-menu-toggle,
    body .ag-navbar .ag-search-button {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
    }

    body .ag-navbar .ag-primary-nav {
        max-height: calc(100vh - 84px) !important;
    }
}

/* =====================================================
   MOBILE FOOTER + HERO HEIGHT FINAL
   ===================================================== */

@media (max-width: 640px) {

    /* =================================================
       HERO — HAPUS RUANG NAVY KOSONG
       ================================================= */

    body.home .ag-hero,
    body.home .ag-hero--final,
    body.home .ag-hero--final .ag-container,
    body.home .ag-hero--final__inner,
    body.home .ag-hero__inner {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    body.home .ag-hero--final {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    body.home .ag-hero--final__inner,
    body.home .ag-hero__inner {
        padding-top: 52px !important;
        padding-bottom: 28px !important;
    }

    /*
     * Dashboard/modul pertama harus langsung menyusul hero,
     * tidak boleh membawa background navy tinggi.
     */
    body.home .ag-dashboard {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin-top: 0 !important;
        padding-top: 0 !important;

        background: #ffffff !important;
    }

    body.home .ag-dashboard::before,
    body.home .ag-dashboard::after {
        display: none !important;
        content: none !important;
    }

    /* =================================================
       FOOTER MOBILE — SATU KOLOM
       ================================================= */

    body .ag-footer .ag-footer__main {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        padding: 0 !important;
    }

    body .ag-footer .ag-footer__grid {
        display: grid !important;

        width: 100% !important;
        max-width: none !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto !important;

        column-gap: 0 !important;
        row-gap: 0 !important;

        margin: 0 !important;
        padding: 34px 22px 30px !important;

        align-items: start !important;

        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    /*
     * Semua bagian footer menjadi blok penuh.
     */
    body .ag-footer .ag-footer__grid
    > .ag-footer__brand,

    body .ag-footer .ag-footer__grid
    > .ag-footer__column,

    body .ag-footer .ag-footer__grid
    > .ag-footer__support {
        position: static !important;

        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        transform: none !important;
        box-sizing: border-box !important;
    }

    /* =================================================
       BRAND FOOTER
       ================================================= */

    body .ag-footer .ag-footer__brand {
        padding-bottom: 26px !important;
    }

    body .ag-footer .ag-footer-logo {
        display: flex !important;

        width: 100% !important;

        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
    }

    body .ag-footer .ag-footer-logo__image {
        width: 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;

        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;

        flex: 0 0 64px !important;
    }

    body .ag-footer .ag-footer-custom-logo {
        max-width: 64px !important;
        max-height: 72px !important;
    }

    body .ag-footer .ag-footer-logo__copy small {
        font-size: 9px !important;
        letter-spacing: 2px !important;
    }

    body .ag-footer .ag-footer-logo__copy strong {
        font-size: 26px !important;
        line-height: 0.95 !important;
    }

    body .ag-footer .ag-footer-logo__copy em {
        margin-top: 7px !important;

        font-size: 8px !important;
        letter-spacing: 1.3px !important;
    }

    body .ag-footer .ag-footer__brand > p {
        width: 100% !important;
        max-width: 330px !important;

        margin: 20px 0 0 !important;

        font-size: 14px !important;
        line-height: 1.65 !important;
    }

    /* =================================================
       HUBUNGI, KETENTUAN, IKUTI KAMI
       ================================================= */

    body .ag-footer .ag-footer__column {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;

        padding: 23px 0 !important;

        border-top: 1px solid rgba(255,255,255,0.14) !important;
    }

    body .ag-footer .ag-footer__column > h3 {
        display: block !important;

        width: 100% !important;
        min-height: 0 !important;

        margin: 0 0 15px !important;
        padding: 0 !important;

        font-size: 18px !important;
        line-height: 1.15 !important;
    }

    body .ag-footer .ag-footer__column > p {
        margin: 0 0 10px !important;

        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    body .ag-footer .ag-footer__column > ul {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body .ag-footer .ag-footer__column > ul li {
        margin: 0 0 8px !important;
    }

    /* =================================================
       MEDIA SOSIAL — 5 IKON TETAP SATU BARIS
       ================================================= */

    body .ag-footer .ag-footer-social {
        display: grid !important;

        width: 100% !important;
        max-width: 290px !important;

        grid-template-columns: repeat(5, 46px) !important;
        gap: 10px !important;

        margin: 0 !important;
        padding: 0 !important;

        align-items: center !important;
        justify-content: start !important;

        overflow: visible !important;
    }

    body .ag-footer .ag-footer-social > a {
        display: grid !important;

        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;

        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;

        margin: 0 !important;
        padding: 0 !important;

        place-items: center !important;

        border-radius: 50% !important;
        box-sizing: border-box !important;
    }

    body .ag-footer .ag-footer-social > a svg {
        width: 21px !important;
        height: 21px !important;
    }

    /* =================================================
       DIDUKUNG OLEH
       ================================================= */

    body .ag-footer .ag-footer__support {
        display: flex !important;

        min-height: 0 !important;

        padding: 23px 0 0 !important;

        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;

        border-top: 1px solid rgba(255,255,255,0.14) !important;
        text-align: left !important;
    }

    body .ag-footer .ag-footer__support span {
        margin: 0 0 8px !important;
    }

    body .ag-footer .ag-footer__support strong {
        max-width: 290px !important;

        font-size: 16px !important;
        line-height: 1.35 !important;
        text-align: left !important;
    }

    /* =================================================
       FOOTER BOTTOM
       ================================================= */

    body .ag-footer .ag-footer__bottom {
        height: auto !important;
        min-height: 0 !important;

        padding: 18px 20px !important;
    }

    body .ag-footer .ag-footer__bottom-inner {
        display: flex !important;

        height: auto !important;
        min-height: 0 !important;

        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;

        padding: 0 !important;

        text-align: center !important;
    }

    body .ag-footer .ag-footer__bottom-inner span {
        width: 100% !important;

        font-size: 11px !important;
        line-height: 1.45 !important;
        text-align: center !important;
    }
}

/* Mobile sangat kecil */
@media (max-width: 370px) {
    body .ag-footer .ag-footer__grid {
        padding-right: 17px !important;
        padding-left: 17px !important;
    }

    body .ag-footer .ag-footer-social {
        grid-template-columns: repeat(5, 42px) !important;
        gap: 7px !important;
    }

    body .ag-footer .ag-footer-social > a {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;

        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
    }
}

/* =====================================================
   MOBILE HEADER COMPACT FINAL
   ===================================================== */

@media (max-width: 640px) {

    /* Topbar mobile */
    body .ag-topbar {
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
    }

    body .ag-topbar .ag-container,
    body .ag-topbar__inner {
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;

        padding-right: 14px !important;
        padding-left: 14px !important;

        align-items: center !important;
    }

    /* Navbar putih dibuat lebih compact */
    body .ag-navbar {
        height: 76px !important;
        min-height: 76px !important;
        max-height: 76px !important;

        border-bottom: 1px solid #e5e9ef !important;
        background: #ffffff !important;
    }

    body .ag-navbar .ag-container,
    body .ag-navbar .ag-navbar__inner {
        display: grid !important;

        width: 100% !important;
        height: 76px !important;
        min-height: 76px !important;
        max-height: 76px !important;

        grid-template-columns:
            minmax(0, 1fr)
            38px
            38px !important;

        column-gap: 6px !important;

        margin: 0 !important;
        padding: 0 13px !important;

        align-items: center !important;
        box-sizing: border-box !important;
    }

    /* Brand lebih besar tetapi tetap muat */
    body .ag-navbar .ag-brand {
        display: flex !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;

        height: 64px !important;
        min-height: 64px !important;
        max-height: 64px !important;

        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;
    }

    body .ag-navbar .ag-brand__logo {
        display: flex !important;

        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;

        height: 60px !important;
        min-height: 60px !important;
        max-height: 60px !important;

        flex: 0 0 52px !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body .ag-navbar .ag-brand__logo img.custom-logo {
        display: block !important;

        width: auto !important;
        max-width: 52px !important;

        height: auto !important;
        max-height: 60px !important;

        object-fit: contain !important;
    }

    body .ag-navbar .ag-brand__text {
        display: flex !important;

        min-width: 0 !important;

        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body .ag-navbar .ag-brand__text small {
        font-size: 7.5px !important;
        line-height: 1 !important;
        letter-spacing: 1.7px !important;
    }

    body .ag-navbar .ag-brand__text strong {
        margin-top: 3px !important;

        font-size: 20px !important;
        line-height: 0.94 !important;
        white-space: nowrap !important;
    }

    body .ag-navbar .ag-brand__text em {
        margin-top: 6px !important;

        font-size: 6.5px !important;
        line-height: 1 !important;
        letter-spacing: 1.15px !important;
        white-space: nowrap !important;
    }

    /* Hamburger */
    body .ag-navbar .ag-menu-toggle {
        display: flex !important;

        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;

        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;

        align-items: center !important;
        justify-content: center !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body .ag-navbar .ag-menu-toggle
    > span:not(.screen-reader-text) {
        width: 21px !important;
        height: 2px !important;

        border-radius: 99px !important;
        background: var(--ag-navy) !important;
    }

    /* Search */
    body .ag-navbar .ag-search-button {
        display: grid !important;

        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;

        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;

        place-items: center !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body .ag-navbar .ag-search-button__icon {
        width: 23px !important;
        height: 23px !important;
    }

    /* Drawer dimulai tepat di bawah header */
    body .ag-navbar .ag-primary-nav {
        top: 76px !important;
        max-height: calc(100vh - 110px) !important;
    }

    /* Sticky tetap memakai tinggi yang sama */
    body .ag-navbar.is-sticky,
    body .ag-navbar.is-sticky .ag-navbar__inner {
        height: 76px !important;
        min-height: 76px !important;
        max-height: 76px !important;
    }

    body .ag-navbar.is-sticky .ag-primary-nav {
        top: 76px !important;
    }

    /* Hero langsung menyambung setelah navbar */
    body.home .ag-hero--final {
        margin-top: 0 !important;
    }
}

/* Mobile sangat kecil */
@media (max-width: 370px) {
    body .ag-navbar .ag-navbar__inner {
        grid-template-columns:
            minmax(0, 1fr)
            36px
            36px !important;

        column-gap: 3px !important;
        padding-right: 8px !important;
        padding-left: 10px !important;
    }

    body .ag-navbar .ag-brand {
        gap: 6px !important;
    }

    body .ag-navbar .ag-brand__logo {
        width: 47px !important;
        min-width: 47px !important;
        max-width: 47px !important;
        flex-basis: 47px !important;
    }

    body .ag-navbar .ag-brand__logo img.custom-logo {
        max-width: 47px !important;
    }

    body .ag-navbar .ag-brand__text strong {
        font-size: 18px !important;
    }
}

/* =====================================================
   HERO MOBILE RESPONSIVE FINAL
   Pakai gambar hero khusus mobile
   ===================================================== */
@media (max-width: 640px) {

    /* wrapper hero */
    body.home .ag-hero--final,
    body.home .ag-hero,
    body.home .ag-home-hero {
        position: relative !important;
        min-height: auto !important;
        padding: 0 !important;
        overflow: hidden !important;
        background-color: #041b49 !important;
        background-image: url('../images/hero-mobile-ag2026.jpg') !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;
        background-position: center top !important;
    }

    /* container isi hero */
    body.home .ag-hero--final .ag-container,
    body.home .ag-hero .ag-container,
    body.home .ag-home-hero .ag-container,
    body.home .ag-hero--final .ag-hero__inner,
    body.home .ag-hero .ag-hero__inner,
    body.home .ag-home-hero .ag-hero__inner {
        min-height: auto !important;
        padding-top: 22px !important;
        padding-bottom: 26px !important;
        display: block !important;
    }

    /* blok teks dinaikkan */
    body.home .ag-hero--final .ag-hero__content,
    body.home .ag-hero .ag-hero__content,
    body.home .ag-home-hero .ag-hero__content {
        position: relative !important;
        z-index: 3 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 0 0 0 !important;
        margin: 0 !important;
    }

    /* kalau masih ada visual/image desktop, sembunyikan di mobile */
    body.home .ag-hero--final .ag-hero__visual,
    body.home .ag-hero--final .ag-hero__media,
    body.home .ag-hero--final .ag-hero__image,
    body.home .ag-hero .ag-hero__visual,
    body.home .ag-hero .ag-hero__media,
    body.home .ag-hero .ag-hero__image,
    body.home .ag-home-hero .ag-hero__visual,
    body.home .ag-home-hero .ag-hero__media,
    body.home .ag-home-hero .ag-hero__image {
        display: none !important;
    }

    /* judul utama */
    body.home .ag-hero--final h1,
    body.home .ag-hero h1,
    body.home .ag-home-hero h1 {
        margin: 0 0 14px !important;
        font-size: 48px !important;
        line-height: 0.95 !important;
        letter-spacing: 0 !important;
        max-width: 300px !important;
    }

    /* subjudul atas */
    body.home .ag-hero--final .ag-hero__eyebrow,
    body.home .ag-hero .ag-hero__eyebrow,
    body.home .ag-home-hero .ag-hero__eyebrow {
        margin-bottom: 10px !important;
        font-size: 15px !important;
        line-height: 1.15 !important;
    }

    /* meta */
    body.home .ag-hero--final .ag-hero__meta,
    body.home .ag-hero .ag-hero__meta,
    body.home .ag-home-hero .ag-hero__meta {
        margin-bottom: 18px !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    /* countdown */
    body.home .ag-hero--final .ag-countdown,
    body.home .ag-hero .ag-countdown,
    body.home .ag-home-hero .ag-countdown,
    body.home .ag-hero--final .ag-hero-countdown,
    body.home .ag-hero .ag-hero-countdown,
    body.home .ag-home-hero .ag-hero-countdown {
        width: 100% !important;
        margin-top: 16px !important;
        margin-bottom: 16px !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 0 !important;
    }

    body.home .ag-hero--final .ag-countdown > *,
    body.home .ag-hero .ag-countdown > *,
    body.home .ag-home-hero .ag-countdown > *,
    body.home .ag-hero--final .ag-hero-countdown > *,
    body.home .ag-hero .ag-hero-countdown > *,
    body.home .ag-home-hero .ag-hero-countdown > * {
        min-width: 0 !important;
    }

    /* tombol */
    body.home .ag-hero--final .ag-hero__actions,
    body.home .ag-hero .ag-hero__actions,
    body.home .ag-home-hero .ag-hero__actions {
        display: flex !important;
        gap: 10px !important;
        flex-wrap: nowrap !important;
        margin-top: 10px !important;
    }

    body.home .ag-hero--final .ag-hero__actions a,
    body.home .ag-hero .ag-hero__actions a,
    body.home .ag-home-hero .ag-hero__actions a,
    body.home .ag-hero--final .ag-hero__actions button,
    body.home .ag-hero .ag-hero__actions button,
    body.home .ag-home-hero .ag-hero__actions button {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

/* Mobile kecil */
@media (max-width: 420px) {
    body.home .ag-hero--final h1,
    body.home .ag-hero h1,
    body.home .ag-home-hero h1 {
        font-size: 40px !important;
        max-width: 250px !important;
    }

    body.home .ag-hero--final .ag-hero__inner,
    body.home .ag-hero .ag-hero__inner,
    body.home .ag-home-hero .ag-hero__inner {
        padding-top: 18px !important;
        padding-bottom: 22px !important;
    }
}

/* =====================================================
   HERO MOBILE — COUNTDOWN & CTA POLISH FINAL
   ===================================================== */

@media (max-width: 640px) {

    /*
     * Countdown dibuat lebih transparan agar tubuh atlet
     * tetap terlihat di belakang panel.
     */
    body.home .ag-hero--final .ag-countdown,
    body.home .ag-hero--final .ag-hero-countdown {
        position: relative !important;
        z-index: 5 !important;

        overflow: hidden !important;

        border: 1px solid rgba(222, 168, 43, 0.88) !important;
        border-radius: 7px !important;

        background:
            linear-gradient(
                90deg,
                rgba(3, 20, 48, 0.78) 0%,
                rgba(3, 20, 48, 0.67) 48%,
                rgba(63, 13, 31, 0.66) 100%
            ) !important;

        box-shadow:
            0 10px 28px rgba(0, 0, 0, 0.16) !important;

        backdrop-filter: blur(5px) !important;
        -webkit-backdrop-filter: blur(5px) !important;
    }

    /* Setiap angka countdown */
    body.home .ag-hero--final .ag-countdown > *,
    body.home .ag-hero--final .ag-hero-countdown > * {
        min-height: 78px !important;

        padding: 12px 5px 9px !important;

        border-right:
            1px solid rgba(255, 255, 255, 0.14) !important;

        background: transparent !important;
        box-shadow: none !important;
    }

    body.home .ag-hero--final .ag-countdown > *:last-child,
    body.home .ag-hero--final .ag-hero-countdown > *:last-child {
        border-right: 0 !important;
    }

    /* Angka */
    body.home .ag-hero--final .ag-countdown strong,
    body.home .ag-hero--final .ag-hero-countdown strong {
        color: #ffffff !important;

        font-size: 31px !important;
        line-height: 1 !important;

        text-shadow:
            0 2px 8px rgba(0, 0, 0, 0.34) !important;
    }

    /* Label hari/jam/menit/detik */
    body.home .ag-hero--final .ag-countdown small,
    body.home .ag-hero--final .ag-hero-countdown small {
        margin-top: 7px !important;

        color: rgba(255, 255, 255, 0.76) !important;

        font-size: 9px !important;
        line-height: 1 !important;
    }

    /* Dua tombol dibuat lebih rapi dan sedikit lebih pendek */
    body.home .ag-hero--final .ag-hero__actions {
        position: relative !important;
        z-index: 6 !important;

        gap: 10px !important;
        margin-top: 12px !important;
    }

    body.home .ag-hero--final .ag-hero__actions a,
    body.home .ag-hero--final .ag-hero__actions button {
        min-height: 44px !important;
        height: 44px !important;

        padding: 0 12px !important;

        border-radius: 6px !important;

        font-size: 12px !important;
        line-height: 1 !important;
    }

    /* Tombol merah */
    body.home .ag-hero--final
    .ag-hero__actions
    a:first-child,
    body.home .ag-hero--final
    .ag-hero__actions
    button:first-child {
        border: 1px solid var(--ag-red) !important;
        background: rgba(227, 25, 34, 0.94) !important;

        box-shadow:
            0 8px 20px rgba(227, 25, 34, 0.20) !important;
    }

    /* Tombol outline */
    body.home .ag-hero--final
    .ag-hero__actions
    a:last-child,
    body.home .ag-hero--final
    .ag-hero__actions
    button:last-child {
        border:
            1px solid rgba(226, 172, 43, 0.90) !important;

        background:
            rgba(3, 20, 48, 0.55) !important;

        color: #f5cf6a !important;

        backdrop-filter: blur(5px) !important;
        -webkit-backdrop-filter: blur(5px) !important;
    }

    /* Hover/tap */
    body.home .ag-hero--final
    .ag-hero__actions a:active,
    body.home .ag-hero--final
    .ag-hero__actions button:active {
        transform: translateY(1px) !important;
    }
}

/* Mobile sangat kecil */
@media (max-width: 370px) {

    body.home .ag-hero--final .ag-countdown > *,
    body.home .ag-hero--final .ag-hero-countdown > * {
        min-height: 72px !important;
        padding: 10px 3px 8px !important;
    }

    body.home .ag-hero--final .ag-countdown strong,
    body.home .ag-hero--final .ag-hero-countdown strong {
        font-size: 28px !important;
    }

    body.home .ag-hero--final .ag-hero__actions {
        gap: 7px !important;
    }

    body.home .ag-hero--final .ag-hero__actions a,
    body.home .ag-hero--final .ag-hero__actions button {
        min-height: 42px !important;
        height: 42px !important;

        padding-right: 7px !important;
        padding-left: 7px !important;

        font-size: 11px !important;
    }
}

/* =====================================================
   MOBILE DRAWER MENU — CLEAN FINAL
   ===================================================== */

@media (max-width: 1120px) {

    /* Drawer */
    body .ag-navbar .ag-primary-nav {
        position: absolute !important;
        z-index: 99999 !important;

        top: 100% !important;
        right: 0 !important;
        left: 0 !important;

        width: 100% !important;
        max-width: none !important;

        padding: 18px 20px 24px !important;

        border: 0 !important;
        border-radius: 0 !important;
        background: #071a38 !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        box-sizing: border-box !important;
    }

    body .ag-primary-nav .ag-menu {
        display: block !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;
    }

    /* Semua parent menu */
    body .ag-primary-nav .ag-menu > li {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        border-bottom:
            1px solid rgba(255, 255, 255, 0.13) !important;

        transform: none !important;
    }

    body .ag-primary-nav .ag-menu > li > a {
        position: relative !important;

        display: flex !important;

        width: 100% !important;
        min-height: 58px !important;

        margin: 0 !important;
        padding: 0 42px 0 5px !important;

        align-items: center !important;
        justify-content: flex-start !important;

        color: #ffffff !important;

        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;

        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;

        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;

        transform: none !important;
    }

    /* Beranda aktif: teks merah saja, tanpa garis panjang */
    body .ag-primary-nav
    .ag-menu
    > li.current-menu-item
    > a,

    body .ag-primary-nav
    .ag-menu
    > li.current_page_item
    > a {
        color: var(--ag-red) !important;
        background: transparent !important;
    }

    /* Hapus indikator desktop */
    body .ag-primary-nav .ag-menu > li > a::before,
    body .ag-primary-nav
    .ag-menu
    > li.current-menu-item
    > a::before,

    body .ag-primary-nav
    .ag-menu
    > li.current_page_item
    > a::before {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        background: none !important;
        content: none !important;
    }

    /* Chevron parent */
    body .ag-primary-nav
    .ag-menu
    > li.menu-item-has-children
    > a::after {
        position: absolute !important;

        top: 50% !important;
        right: 12px !important;
        left: auto !important;

        display: block !important;

        width: 8px !important;
        height: 8px !important;

        margin: -6px 0 0 !important;

        border: 0 !important;
        border-right:
            2px solid rgba(255,255,255,0.65) !important;
        border-bottom:
            2px solid rgba(255,255,255,0.65) !important;

        background: transparent !important;
        content: "" !important;

        transform: rotate(45deg) !important;
    }

    body .ag-primary-nav
    .ag-menu
    > li.is-submenu-open
    > a::after {
        margin-top: -2px !important;
        transform: rotate(225deg) !important;
    }

    /* =================================================
       SUBMENU: sepenuhnya reset dari aturan desktop
       ================================================= */

    body .ag-primary-nav .sub-menu,
    body .ag-primary-nav
    .ag-menu
    > li:last-child
    > .sub-menu {
        position: static !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        display: none !important;
        visibility: visible !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        height: auto !important;

        margin: 0 !important;
        padding: 2px 0 14px 16px !important;

        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;

        opacity: 1 !important;

        overflow: visible !important;
        pointer-events: auto !important;

        transform: none !important;

        box-sizing: border-box !important;
    }

    body .ag-primary-nav
    .menu-item-has-children.is-submenu-open
    > .sub-menu,

    body .ag-primary-nav
    .menu-item-has-children.is-menu-open
    > .sub-menu {
        display: block !important;
    }

    body .ag-primary-nav .sub-menu::before,
    body .ag-primary-nav .sub-menu::after {
        display: none !important;
        content: none !important;
    }

    body .ag-primary-nav .sub-menu > li {
        position: static !important;

        display: block !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        transform: none !important;
    }

    body .ag-primary-nav .sub-menu > li > a {
        position: relative !important;

        display: flex !important;

        width: 100% !important;
        min-height: 44px !important;

        margin: 0 !important;
        padding: 9px 12px 9px 20px !important;

        align-items: center !important;
        justify-content: flex-start !important;

        color: rgba(255,255,255,0.78) !important;

        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;

        text-align: left !important;
        white-space: normal !important;

        border: 0 !important;
        border-radius: 7px !important;
        background: transparent !important;

        transform: none !important;
    }

    body .ag-primary-nav .sub-menu > li > a::before {
        position: absolute !important;

        top: 50% !important;
        left: 5px !important;

        display: block !important;

        width: 5px !important;
        height: 5px !important;

        border-radius: 50% !important;
        background: var(--ag-red) !important;

        content: "" !important;
        transform: translateY(-50%) !important;
    }

    body .ag-primary-nav .sub-menu > li > a::after {
        display: none !important;
        content: none !important;
    }

    body .ag-primary-nav .sub-menu > li > a:hover,
    body .ag-primary-nav .sub-menu > li > a:focus {
        color: #ffffff !important;
        background: rgba(255,255,255,0.06) !important;
    }
}

/* =====================================================
   MOBILE DRAWER — REMOVE CURRENT MENU RED LINE FINAL
   ===================================================== */

@media (max-width: 1120px) {

    /* Hapus seluruh garis indikator pada parent menu */
    body .ag-primary-nav
    .ag-menu
    > li
    > a::before,

    body .ag-primary-nav
    .ag-menu
    > li
    > a::after,

    body .ag-primary-nav
    .ag-menu
    > li.current-menu-item
    > a::before,

    body .ag-primary-nav
    .ag-menu
    > li.current-menu-item
    > a::after,

    body .ag-primary-nav
    .ag-menu
    > li.current_page_item
    > a::before,

    body .ag-primary-nav
    .ag-menu
    > li.current_page_item
    > a::after {
        position: static !important;
        display: none !important;
        visibility: hidden !important;

        width: 0 !important;
        height: 0 !important;

        inset: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        background: none !important;
        box-shadow: none !important;

        content: none !important;
        opacity: 0 !important;
        transform: none !important;
    }

    /* Beranda aktif cukup merah pada teks */
    body .ag-primary-nav
    .ag-menu
    > li.current-menu-item
    > a,

    body .ag-primary-nav
    .ag-menu
    > li.current_page_item
    > a {
        color: var(--ag-red) !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /*
     * Kembalikan chevron hanya pada parent yang
     * mempunyai submenu.
     */
    body .ag-primary-nav
    .ag-menu
    > li.menu-item-has-children
    > a::after {
        position: absolute !important;

        top: 50% !important;
        right: 12px !important;

        display: block !important;
        visibility: visible !important;

        width: 8px !important;
        height: 8px !important;

        margin: -6px 0 0 !important;

        border: 0 !important;
        border-right: 2px solid rgba(255, 255, 255, 0.68) !important;
        border-bottom: 2px solid rgba(255, 255, 255, 0.68) !important;

        background: transparent !important;

        content: "" !important;
        opacity: 1 !important;
        transform: rotate(45deg) !important;
    }

    body .ag-primary-nav
    .ag-menu
    > li.is-submenu-open
    > a::after,

    body .ag-primary-nav
    .ag-menu
    > li.is-menu-open
    > a::after {
        margin-top: -2px !important;
        transform: rotate(225deg) !important;
    }
}

/* =====================================================
   MOBILE SUBMENU TRANSFORM FIX
   Berdasarkan computed transform: translateX(-50%)
   ===================================================== */

@media (max-width: 1120px) {

    /* Reset submenu dalam seluruh kondisi mobile */
    body .ag-navbar .ag-primary-nav
    .menu-item-has-children
    > .sub-menu,

    body .ag-navbar .ag-primary-nav
    .menu-item-has-children:hover
    > .sub-menu,

    body .ag-navbar .ag-primary-nav
    .menu-item-has-children:focus-within
    > .sub-menu,

    body .ag-navbar .ag-primary-nav
    .menu-item-has-children.is-menu-open
    > .sub-menu,

    body .ag-navbar .ag-primary-nav
    .menu-item-has-children.is-submenu-open
    > .sub-menu,

    body .ag-navbar .ag-primary-nav
    .ag-menu
    > li:last-child
    > .sub-menu,

    body .ag-navbar .ag-primary-nav
    .ag-menu
    > li:last-child:hover
    > .sub-menu,

    body .ag-navbar .ag-primary-nav
    .ag-menu
    > li:last-child:focus-within
    > .sub-menu,

    body .ag-navbar .ag-primary-nav
    .ag-menu
    > li:last-child.is-menu-open
    > .sub-menu,

    body .ag-navbar .ag-primary-nav
    .ag-menu
    > li:last-child.is-submenu-open
    > .sub-menu {
        position: static !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        width: 100% !important;
        max-width: 100% !important;

        margin-right: 0 !important;
        margin-left: 0 !important;

        translate: none !important;
        transform: none !important;

        box-sizing: border-box !important;
    }

    /* Tertutup secara default */
    body .ag-navbar .ag-primary-nav
    .menu-item-has-children
    > .sub-menu {
        display: none !important;
    }

    /* Dibuka oleh class JavaScript yang benar-benar aktif */
    body .ag-navbar .ag-primary-nav
    .menu-item-has-children.is-menu-open
    > .sub-menu,

    body .ag-navbar .ag-primary-nav
    .menu-item-has-children.is-submenu-open
    > .sub-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;

        translate: none !important;
        transform: none !important;
    }

    /* Anak submenu tetap berada di dalam lebar drawer */
    body .ag-navbar .ag-primary-nav
    .sub-menu > li,

    body .ag-navbar .ag-primary-nav
    .sub-menu > li > a {
        position: relative !important;

        right: auto !important;
        left: auto !important;

        max-width: 100% !important;

        margin-right: 0 !important;
        margin-left: 0 !important;

        translate: none !important;
        transform: none !important;

        box-sizing: border-box !important;
    }
}

/* =====================================================
   FOOTER MITRA & SPONSOR RESMI — FINAL
   ===================================================== */

@media (min-width: 1121px) {

    /*
     * Brand | Hubungi | Ketentuan | Sosial | Sponsor
     * Kolom sponsor dibuat lebih lebar untuk grid 3 × 2.
     */
    body .ag-footer .ag-footer__grid {
        grid-template-columns:
            minmax(330px, 1.30fr)
            minmax(220px, 0.88fr)
            minmax(180px, 0.72fr)
            minmax(250px, 0.98fr)
            minmax(360px, 1.42fr) !important;

        column-gap: 34px !important;
        align-items: start !important;
    }

    /* Modul sponsor mulai dari garis atas yang sama */
    body .ag-footer .ag-footer__partners {
        position: relative !important;

        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;

        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;

        margin: 0 !important;
        padding: 0 0 0 30px !important;

        border-left:
            1px solid rgba(255, 255, 255, 0.15) !important;

        box-sizing: border-box !important;
    }

    /* Heading sejajar dengan heading footer lainnya */
    body .ag-footer .ag-footer__partners-heading {
        display: flex !important;

        width: 100% !important;
        min-height: 26px !important;

        margin: 0 0 15px !important;
        padding: 0 !important;

        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
    }

    body .ag-footer .ag-footer__partners-heading h3 {
        margin: 0 !important;
        padding: 0 !important;

        color: #ffffff !important;

        font-family: var(--ag-font-heading) !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 26px !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    body .ag-footer .ag-footer__partners-heading > a {
        color: rgba(255, 255, 255, 0.70) !important;

        font-family: var(--ag-font-body) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    body .ag-footer .ag-footer__partners-heading > a:hover,
    body .ag-footer .ag-footer__partners-heading > a:focus {
        color: #ffffff !important;
    }

    /* Grid 3 atas + 3 bawah */
    body .ag-footer .ag-footer__partners-grid {
        display: grid !important;

        width: 100% !important;

        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 9px !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body .ag-footer .ag-footer__partner-card {
        display: flex !important;

        min-width: 0 !important;
        min-height: 70px !important;

        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;

        padding: 8px 6px !important;

        border:
            1px solid rgba(255, 255, 255, 0.16) !important;
        border-radius: 8px !important;

        background: rgba(255, 255, 255, 0.045) !important;
        color: #ffffff !important;

        text-align: center !important;
        text-decoration: none !important;

        box-sizing: border-box !important;

        transition:
            border-color 0.2s ease,
            background-color 0.2s ease,
            transform 0.2s ease !important;
    }

    body .ag-footer .ag-footer__partner-card:hover,
    body .ag-footer .ag-footer__partner-card:focus-visible {
        border-color: rgba(255, 255, 255, 0.42) !important;
        background: rgba(255, 255, 255, 0.09) !important;

        outline: none !important;
        transform: translateY(-2px) !important;
    }

    body .ag-footer .ag-footer__partner-logo {
        display: grid !important;

        width: 34px !important;
        height: 27px !important;

        place-items: center !important;

        color: #ffffff !important;

        font-family: var(--ag-font-body) !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        letter-spacing: 0.4px !important;
    }

    body .ag-footer .ag-footer__partner-card small {
        display: block !important;

        max-width: 100% !important;

        color: rgba(255, 255, 255, 0.68) !important;

        font-family: var(--ag-font-body) !important;
        font-size: 8px !important;
        font-weight: 600 !important;
        line-height: 1.15 !important;
        text-align: center !important;

        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

/* Desktop sedang */
@media (min-width: 1121px) and (max-width: 1600px) {

    body .ag-footer .ag-footer__grid {
        grid-template-columns:
            minmax(290px, 1.20fr)
            minmax(200px, 0.84fr)
            minmax(165px, 0.68fr)
            minmax(225px, 0.92fr)
            minmax(310px, 1.30fr) !important;

        column-gap: 24px !important;
    }

    body .ag-footer .ag-footer__partners {
        padding-left: 22px !important;
    }

    body .ag-footer .ag-footer__partner-card {
        min-height: 64px !important;
        padding: 7px 4px !important;
    }
}

/* =====================================================
   FOOTER SPONSOR — TABLET & MOBILE
   ===================================================== */

@media (max-width: 1120px) {

    body .ag-footer .ag-footer__partners {
        position: static !important;

        display: flex !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        flex-direction: column !important;
        align-items: flex-start !important;

        margin: 0 !important;
        padding: 23px 0 0 !important;

        border: 0 !important;
        border-top: 0 !important;

        box-sizing: border-box !important;
    }

    body .ag-footer .ag-footer__partners-heading {
        display: flex !important;

        width: 100% !important;

        margin: 0 0 15px !important;

        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
    }

    body .ag-footer .ag-footer__partners-heading h3 {
        margin: 0 !important;

        color: #ffffff !important;

        font-family: var(--ag-font-heading) !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        text-transform: uppercase !important;
    }

    body .ag-footer .ag-footer__partners-heading > a {
        color: rgba(255, 255, 255, 0.72) !important;

        font-size: 11px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    body .ag-footer .ag-footer__partners-grid {
        display: grid !important;

        width: 100% !important;

        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 9px !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body .ag-footer .ag-footer__partner-card {
        display: flex !important;

        min-width: 0 !important;
        min-height: 72px !important;

        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;

        padding: 8px 5px !important;

        border:
            1px solid rgba(255, 255, 255, 0.18) !important;
        border-radius: 8px !important;

        background: rgba(255, 255, 255, 0.045) !important;
        color: #ffffff !important;

        text-align: center !important;
        text-decoration: none !important;

        box-sizing: border-box !important;
    }

    body .ag-footer .ag-footer__partner-logo {
        display: grid !important;

        width: 36px !important;
        height: 28px !important;

        place-items: center !important;

        font-size: 12px !important;
        font-weight: 800 !important;
    }

    body .ag-footer .ag-footer__partner-card small {
        max-width: 100% !important;

        color: rgba(255, 255, 255, 0.68) !important;

        font-size: 8px !important;
        line-height: 1.15 !important;

        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

/* Mobile sangat kecil */
@media (max-width: 370px) {

    body .ag-footer .ag-footer__partners-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* =====================================================
   FOOTER SPONSOR — LIHAT SEMUA ALIGN FINAL
   ===================================================== */

@media (min-width: 1121px) {

    body .ag-footer .ag-footer__partners {
        position: relative !important;
    }

    /*
     * Heading sponsor tetap sejajar dengan
     * Hubungi Kami, Ketentuan, dan Ikuti Kami.
     */
    body .ag-footer .ag-footer__partners-heading {
        position: static !important;

        display: block !important;

        width: 100% !important;
        min-height: 26px !important;

        margin: 0 0 15px !important;
        padding: 0 !important;
    }

    body .ag-footer .ag-footer__partners-heading h3 {
        margin: 0 !important;
        line-height: 26px !important;
    }

    /*
     * Lihat Semua diposisikan ke kanan atas kolom footer,
     * sejajar dengan Lihat Semua modul di atas.
     */
    body .ag-footer
    .ag-footer__partners-heading
    > a {
        position: absolute !important;

        top: 0 !important;
        right: 0 !important;
        left: auto !important;

        display: inline-flex !important;
        min-height: 26px !important;

        margin: 0 !important;
        padding: 0 !important;

        align-items: center !important;
        justify-content: flex-end !important;

        font-size: 12px !important;
        line-height: 26px !important;

        transform: none !important;
    }

    /*
     * Sediakan ruang kanan agar judul tidak bertabrakan
     * dengan tautan Lihat Semua.
     */
    body .ag-footer
    .ag-footer__partners-heading h3 {
        padding-right: 100px !important;
        white-space: nowrap !important;
    }
}

/* =====================================================
   HERO SETTINGS — DYNAMIC MOBILE IMAGE
   ===================================================== */

@media (max-width: 640px) {
    body.home .ag-hero--final {
        background-image:
            var(--ag-hero-mobile-image) !important;
    }
}

/* =====================================================
   HERO KICKER — TAMPILKAN TEKS KECIL ATAS
   ===================================================== */

body.home .ag-hero--final .ag-hero__kicker {
    display: block !important;

    margin: 0 0 10px !important;

    color: #ffffff !important;

    font-family: var(--ag-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 1.4px !important;

    text-transform: uppercase !important;
}

@media (max-width: 640px) {
    body.home .ag-hero--final .ag-hero__kicker {
        margin-bottom: 8px !important;
        font-size: 11px !important;
        letter-spacing: 1.2px !important;
    }
}


/* =====================================================
   ATLET HIGHLIGHTS — PORTRAIT IMAGE SAFE
   Landscape tetap cover.
   Portrait tampil utuh dengan blurred background.
   ===================================================== */

body.home
.ag-highlight-slide
.ag-highlight-card__image.is-portrait {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background-color: #071b3e;
}

/* Latar belakang dari foto yang sama */
body.home
.ag-highlight-slide
.ag-highlight-card__image.is-portrait::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: -24px;
    display: block;
    background-image: var(--ag-highlight-bg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    filter: blur(20px);
    opacity: .72;
    transform: scale(1.12);
}

/* Lapisan gelap agar background blur tidak terlalu ramai */
body.home
.ag-highlight-slide
.ag-highlight-card__image.is-portrait::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    display: block;
    background:
        linear-gradient(
            90deg,
            rgba(3, 17, 43, .24) 0%,
            rgba(3, 17, 43, .06) 50%,
            rgba(3, 17, 43, .24) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 17, 43, .02) 30%,
            rgba(3, 17, 43, .72) 100%
        );
}

/* Foto portrait utama tampil utuh */
body.home
.ag-highlight-slide
.ag-highlight-card__image.is-portrait
.ag-highlight-card__photo {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* Pastikan elemen informasi tetap di atas foto */
body.home
.ag-highlight-card__image.is-portrait
.ag-highlight-card__category,
body.home
.ag-highlight-card__image.is-portrait
.ag-highlight-card__overlay,
body.home
.ag-highlight-card__image.is-portrait
.ag-play,
body.home
.ag-highlight-card__image.is-portrait
.ag-video-duration {
    z-index: 5 !important;
}

/* Landscape tetap memakai perilaku lama */
body.home
.ag-highlight-slide
.ag-highlight-card__image.is-landscape
.ag-highlight-card__photo {
    object-fit: cover !important;
    object-position: center center !important;
}


/* =====================================================
   FINAL LOCK — ATHLETE HIGHLIGHT PORTRAIT SOURCE
   ===================================================== */

body.home
.ag-highlight-card__image.is-portrait
.ag-highlight-card__photo {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: center center !important;
}

body.home
.ag-highlight-card__image.is-landscape
.ag-highlight-card__photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* =====================================================
   ATLET TERKAIT — PORTRAIT IMAGE SUPPORT
   ===================================================== */

.ag-related-athlete-card__media.is-portrait {
    background:
        linear-gradient(
            145deg,
            #e9edf4 0%,
            #f7f8fa 100%
        );
}

.ag-related-athlete-card__media.is-portrait
.ag-related-athlete-card__image {
    object-fit: contain !important;
    object-position: center center !important;
}


/* =====================================================
   PAGE BERITA — POSTS ARCHIVE
   ===================================================== */

.ag-news-archive {
    background: #f3f5f8;
}

.ag-news-archive__header {
    padding: 52px 0 38px;
    border-bottom: 1px solid var(--ag-line);
    background: #ffffff;
}

.ag-news-archive__header .ag-container,
.ag-news-archive__content .ag-container {
    width: min(100% - 48px, 1440px);
}

.ag-news-archive__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--ag-red);
    font-family: var(--ag-font-body);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.3px;
    line-height: 1;
    text-transform: uppercase;
}

.ag-news-archive__title {
    margin: 0;
    color: var(--ag-navy);
    font-family: var(--ag-font-heading);
    font-size: clamp(44px, 5vw, 68px);
    font-weight: 800;
    line-height: 0.98;
    text-transform: uppercase;
}

.ag-news-archive__description {
    max-width: 1100px;
    margin: 18px 0 0;
    color: #536078;
    font-size: 16px;
    line-height: 1.65;
}

.ag-news-archive__content {
    padding: 48px 0 72px;
}

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

.ag-news-card {
    min-width: 0;
    margin: 0;
}

.ag-news-card__link {
    display: flex;
    height: 100%;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid #e0e4eb;
    border-radius: 10px;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    box-shadow:
        0 8px 24px rgba(5, 25, 58, 0.05);
    transition:
        transform 220ms ease,
        box-shadow 220ms ease;
}

.ag-news-card__media {
    position: relative;
    height: 260px;
    overflow: hidden;
    background: #e8ecf2;
    isolation: isolate;
}

.ag-news-card__media.is-portrait::before {
    position: absolute;
    z-index: -2;
    inset: -24px;

    background-image: var(--ag-news-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    content: "";
    filter: blur(18px) saturate(0.88);
    opacity: 0.58;
    transform: scale(1.08);
}

.ag-news-card__media.is-portrait::after {
    position: absolute;
    z-index: -1;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.18),
            rgba(5, 21, 47, 0.10)
        );

    content: "";
}

.ag-news-card__image {
    position: relative;
    z-index: 1;

    display: block;
    width: 100%;
    height: 100%;

    object-position: center center;

    box-sizing: border-box;
    transition: transform 280ms ease;
}

/* Gambar horizontal memenuhi seluruh area */
.ag-news-card__media.is-landscape
.ag-news-card__image {
    padding: 0;
    object-fit: cover;
}

/* Gambar vertikal tampil utuh dengan latar blur */
.ag-news-card__media.is-portrait
.ag-news-card__image {
    padding: 10px;
    object-fit: contain;
}

.ag-news-card__fallback {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #657087;
    font-weight: 700;
}

.ag-news-card__body {
    display: flex;
    padding: 24px;
    flex: 1;
    flex-direction: column;
}

.ag-news-card__meta {
    display: flex;
    margin-bottom: 13px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #657087;
    font-family: var(--ag-font-body);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.ag-news-card__meta span {
    color: var(--ag-red);
}

.ag-news-card__title {
    margin: 0;
    color: var(--ag-navy);
    font-family: var(--ag-font-heading);
    font-size: 27px;
    font-weight: 800;
    line-height: 1.03;
}

.ag-news-card__excerpt {
    margin: 15px 0 20px;
    color: #536078;
    font-size: 14px;
    line-height: 1.65;
}

.ag-news-card__more {
    margin-top: auto;
    color: var(--ag-navy);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.ag-news-card__link:hover,
.ag-news-card__link:focus-visible {
    transform: translateY(-3px);
    box-shadow:
        0 14px 34px rgba(5, 25, 58, 0.10);
}

.ag-news-card__link:hover
.ag-news-card__image {
    transform: scale(1.01);
}

.ag-news-card__link:focus-visible {
    outline: 3px solid var(--ag-red);
    outline-offset: 3px;
}

.ag-news-pagination {
    margin-top: 46px;
}

.ag-news-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-news-pagination a,
.ag-news-pagination span {
    display: inline-flex;
    min-width: 42px;
    min-height: 42px;
    padding: 8px 13px;
    align-items: center;
    justify-content: center;
    border: 1px solid #d9dee7;
    border-radius: 5px;
    background: #ffffff;
    color: var(--ag-navy);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.ag-news-pagination .current {
    border-color: var(--ag-red);
    background: var(--ag-red);
    color: #ffffff;
}

.ag-news-archive__empty {
    padding: 80px 24px;
    text-align: center;
}

.ag-news-archive__empty h2 {
    margin: 0 0 12px;
    font-size: 36px;
}

.ag-news-archive__empty p {
    margin: 0;
    color: #657087;
}

@media (max-width: 1120px) {
    .ag-news-archive__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ag-news-archive__header {
        padding: 36px 0 28px;
    }

    .ag-news-archive__header .ag-container,
    .ag-news-archive__content .ag-container {
        width: calc(100% - 32px);
    }

    .ag-news-archive__content {
        padding: 30px 0 48px;
    }

    .ag-news-archive__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ag-news-card__media {
        height: 215px;
    }

    .ag-news-card__body {
        padding: 21px;
    }

    .ag-news-card__title {
        font-size: 25px;
    }
}

