/* Fethiyespor Custom Styles */
[x-cloak],
[hidden] { 
    display: none !important; 
}

.password-field { position: relative; min-width: 0; }
.password-field__input { padding-right: 3.5rem !important; }
.password-field__toggle {
    position: absolute;
    z-index: 10;
    top: 50%;
    right: 0.5rem;
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border: 1px solid #cbd5e1;
    border-radius: var(--ui-radius-control);
    background: #f1f5f9;
    color: #212e7d !important;
    cursor: pointer;
}
.password-field__toggle:hover { background: #e2e8f0; }
.password-field__toggle:focus-visible { outline: 2px solid #212e7d; outline-offset: 2px; }
.admin-password-strength__track {
    width: 100%;
    height: 0.5rem;
    overflow: hidden;
    border-radius: 9999px;
    background-color: #e5e7eb;
}
.admin-password-strength__bar {
    width: 0;
    height: 100%;
    border-radius: inherit;
    transition: width 300ms ease, background-color 300ms ease;
}
.admin-password-strength__label { font-size: 0.75rem; font-weight: 700; }
.admin-password-strength__label.is-level-0,
.admin-password-strength__label.is-level-1 { color: #dc2626; }
.admin-password-strength__bar.is-level-0,
.admin-password-strength__bar.is-level-1 { color: #dc2626; background-color: #dc2626; }
.admin-password-strength__label.is-level-2 { color: #d97706; }
.admin-password-strength__bar.is-level-2 { background-color: #d97706; }
.admin-password-strength__label.is-level-3 { color: #2563eb; }
.admin-password-strength__bar.is-level-3 { background-color: #2563eb; }
.admin-password-strength__label.is-level-4,
.admin-password-strength__label.is-level-5 { color: #16a34a; }
.admin-password-strength__bar.is-level-4,
.admin-password-strength__bar.is-level-5 { background-color: #16a34a; }


:root {
    --ui-radius-control: 0.75rem;
    --ui-radius-control-compact: 0.5rem;
    --ui-radius-surface: 1rem;
    --ui-radius-surface-large: 1.5rem;
    --ui-radius-pill: 9999px;
}

/* Shared language controls use the same radius contract as public and admin controls. */
.language-switcher__trigger,
.language-switcher__menu {
    border-radius: var(--ui-radius-control);
}

.language-switcher__option {
    border-radius: var(--ui-radius-control-compact);
}

/* Shared public metadata/status badge contract. Full pills remain reserved for
 * count indicators, circular controls, and intentionally pill-shaped navigation. */
.site-badge {
    display: inline-flex;
    min-width: 0;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    box-sizing: border-box;
    border-radius: var(--ui-radius-control);
    padding: 0.375rem 0.75rem;
    font-size: 0.6875rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.site-badge--compact {
    border-radius: var(--ui-radius-control-compact);
    padding: 0.25rem 0.5rem;
    font-size: 0.625rem;
}

.site-badge--brand {
    background: rgba(217, 38, 28, 0.1);
    color: var(--site-color-brand-secondary);
}

.site-badge--neutral {
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    color: #4b5563;
}

.admin-color-picker { position: relative; min-width: 0; }
.admin-color-picker:focus-within { z-index: 40; }
.admin-card:has(.admin-color-picker),
.admin-card:has(.admin-color-picker) section { overflow: visible; }
.admin-color-picker__choices { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.admin-color-picker__swatch { position: relative; width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; border: 3px solid #fff; border-radius: 999px; background: var(--picker-color); box-shadow: 0 0 0 1px rgba(15,23,42,.16), 0 4px 10px rgba(15,23,42,.12); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.admin-color-picker__swatch:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(15,23,42,.22), 0 7px 14px rgba(15,23,42,.16); }
.admin-color-picker__swatch.is-selected { box-shadow: 0 0 0 3px #212E7D, 0 0 0 6px #fff, 0 0 0 7px #212E7D; }
.admin-color-picker__swatch span { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: .8rem; text-shadow: 0 1px 2px rgba(0,0,0,.5); }
.admin-color-picker__custom { display: inline-flex; min-height: 44px; align-items: center; gap: .5rem; border: 1px solid #e5e7eb; border-radius: .75rem; padding: .75rem 1rem; color: #212E7D; background: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease; }
.admin-color-picker__custom:hover { border-color: #cbd5e1; background: #f9fafb; box-shadow: 0 4px 10px rgba(15,23,42,.1); transform: translateY(-1px); }
.admin-color-picker__custom:focus-visible { outline: 3px solid rgba(33,46,125,.25); outline-offset: 2px; }
.admin-color-picker__custom-preview { width: 1.25rem; height: 1.25rem; border-radius: 999px; border: 1px solid #d1d5db; background: var(--picker-color); box-shadow: inset 0 0 0 1px rgba(15,23,42,.2); }
.admin-color-picker__custom.is-selected { border-color: #212E7D; box-shadow: 0 0 0 2px rgba(33,46,125,.12), 0 1px 2px rgba(15,23,42,.08); }
.admin-color-picker__popover { position: absolute; z-index: 50; top: calc(100% - .75rem); left: 0; width: min(22rem, calc(100vw - 2rem)); max-width: 100%; padding: 1rem; border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; box-shadow: 0 18px 45px rgba(15,23,42,.2); }
.admin-color-picker__popover-header, .admin-color-picker__actions, .admin-color-picker__hex-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.admin-color-picker__popover-header { margin-bottom: .75rem; color: #212E7D; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.admin-color-picker__instruction { display: flex; align-items: flex-start; gap: .5rem; margin: 0 0 .75rem; color: #64748b; font-size: .72rem; font-weight: 600; line-height: 1.45; }
.admin-color-picker__instruction i { flex: 0 0 auto; margin-top: .1rem; color: #212E7D; }
.admin-color-picker__close { width: 2rem; height: 2rem; border: 0; border-radius: .5rem; color: #64748b; background: #f8fafc; cursor: pointer; }
.admin-color-picker__surface { position: relative; width: 100%; height: 9rem; overflow: hidden; border: 1px solid #cbd5e1; border-radius: .5rem; background-color: #fff; background-repeat: no-repeat; background-size: 100% 100%; cursor: crosshair; touch-action: none; box-shadow: inset 0 0 0 1px rgba(15,23,42,.08); }
.admin-color-picker__surface:focus-visible { outline: 3px solid rgba(33,46,125,.3); outline-offset: 3px; }
.admin-color-picker__surface-thumb { position: absolute; width: 1.1rem; height: 1.1rem; transform: translate(-50%, -50%); border: 3px solid #fff; border-radius: 50%; background: transparent; box-shadow: 0 0 0 2px #111827, 0 2px 6px rgba(15,23,42,.35); pointer-events: none; }
.admin-color-picker__hue-label { display: block; margin-top: .75rem; color: #64748b; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-color-picker__hue { width: 100%; height: 1rem; margin: .45rem 0 .9rem; appearance: none; border-radius: 999px; background: linear-gradient(90deg,#ef4444 0%,#f59e0b 17%,#10b981 33%,#06b6d4 50%,#2563eb 67%,#8b5cf6 83%,#ef4444 100%); cursor: pointer; }
.admin-color-picker__hue::-webkit-slider-thumb { width: 1.25rem; height: 1.25rem; appearance: none; border: 3px solid #fff; border-radius: 50%; background: #212E7D; box-shadow: 0 0 0 1px #212E7D; }
.admin-color-picker__hue::-moz-range-thumb { width: 1rem; height: 1rem; border: 3px solid #fff; border-radius: 50%; background: #212E7D; box-shadow: 0 0 0 1px #212E7D; }
.admin-color-picker__hex-row { justify-content: flex-start; color: #64748b; font-size: .7rem; font-weight: 900; }
.admin-color-picker__hex-row .admin-form-control { min-width: 0; flex: 1; text-transform: uppercase; }
.admin-color-picker__error { margin: .4rem 0; color: #dc2626; font-size: .7rem; font-weight: 700; }
.admin-color-picker__actions { justify-content: flex-end; margin-top: .9rem; padding-top: .75rem; border-top: 1px solid #f1f5f9; flex-wrap: wrap; }
.admin-color-picker__actions > .admin-action { flex: 1 1 0; min-width: 0; min-height: 2.25rem; justify-content: center; padding: .5rem .75rem; font-size: .68rem; letter-spacing: .06em; }
@media (max-width: 640px) { .admin-color-picker__popover { position: fixed; top: auto; right: 1rem; bottom: 1rem; left: 1rem; width: auto; max-width: none; max-height: calc(100vh - 2rem); overflow-y: auto; } .admin-color-picker__surface { height: min(9rem, 36vw); min-height: 7rem; } }
@media (prefers-reduced-motion: reduce) { .admin-color-picker__swatch { transition: none; } }

html, body {
    overflow-x: hidden;
    max-width: 100vw;
}

/* Cross-browser page lock. The JS preserves and restores the scroll position for iOS Safari. */
html.overflow-hidden,
body.overflow-hidden {
    overflow: hidden !important;
    overscroll-behavior: none;
}

.site-mobile-panel {
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}

/* Admin density primitives. Scoped to the admin shell so public pages keep
 * their independent design system. Interactive controls retain accessible
 * hit areas while reducing excess visual padding and hierarchy. */
.admin-shell {
    --admin-space-page: 1.5rem;
    --admin-control-height: 2.75rem;
}

.admin-main { padding: var(--admin-space-page); }
.admin-page-title { font-size: 1.5rem; line-height: 1.15; }
.admin-page-subtitle { font-size: 0.875rem; line-height: 1.35; }
.admin-action { display: inline-flex; min-height: var(--admin-control-height); align-items: center; flex-direction: row !important; gap: 0.5rem; padding-block: 0.625rem; border-radius: var(--ui-radius-control); }
.admin-page-actions .admin-action { min-height: 2.5rem; padding: 0.5rem 0.875rem; }
.media-picker-upload-action { min-height: 2.25rem; padding-block: 0.5rem; }
.admin-action--compact { min-height: 2.5rem; padding: 0.5rem 1rem; }
.admin-action--mini { min-height: 2.25rem; gap: 0.375rem; padding: 0.4rem 0.75rem; font-size: 0.6875rem; }
.admin-icon-action { min-width: 2.5rem; min-height: 2.5rem; border-radius: var(--ui-radius-control); }
.admin-modal .admin-icon-action { display: inline-flex; width: 2.5rem; align-items: center; justify-content: center; border: 1px solid #e5e7eb; background: #fff; color: #64748b; box-shadow: 0 1px 2px rgba(15,23,42,.06); transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease; }
.admin-modal .admin-icon-action:hover, .admin-modal .admin-icon-action:focus-visible { border-color: #212e7d; background: #212e7d; color: #fff; box-shadow: 0 6px 14px rgba(33,46,125,.18); outline: none; transform: translateY(-1px); }
.admin-modal .admin-sensitive-value-toggle { width: 1.75rem; min-width: 1.75rem; height: 1.75rem; min-height: 1.75rem; border-color: #212e7d; border-radius: .55rem; background: #212e7d; color: #fff; box-shadow: 0 3px 8px rgba(33,46,125,.16); font-size: .7rem; }
.admin-modal .admin-sensitive-value-toggle:hover, .admin-modal .admin-sensitive-value-toggle:focus-visible { background: #18245f; box-shadow: 0 4px 10px rgba(33,46,125,.2); }
.admin-modal { overflow: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.admin-modal--topmost { z-index: 100 !important; }
.admin-modal__panel { display: flex; min-height: min(32rem, calc(100vh - 2rem)); max-height: calc(100vh - 2rem); flex-direction: column; }
.admin-modal__header,
.admin-modal__footer { flex-shrink: 0; }
.admin-modal__body { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.admin-modal__footer { margin-inline: 0; padding-inline: 1.5rem; padding-bottom: 1.5rem; background: rgba(255, 255, 255, .96); border-top: 1px solid #f3f4f6; }
.admin-modal__panel--lightbox {
    width: -moz-fit-content !important;
    width: fit-content !important;
    min-width: min(94vw, 380px) !important;
    max-width: 88vw !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 90vh !important;
}
.admin-modal__panel--lightbox .admin-modal__body {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.375rem !important;
    max-height: calc(90vh - 120px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
}
.admin-modal__panel--lightbox .admin-modal__body img {
    display: block !important;
    max-height: calc(90vh - 120px) !important;
    max-width: 85vw !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}
@media (max-width: 768px) {
    .admin-modal__panel--lightbox {
        width: 94vw !important;
        max-width: 94vw !important;
        max-height: 90vh !important;
    }
    .admin-modal__panel--lightbox .admin-modal__body img {
        max-height: calc(88vh - 130px) !important;
        max-width: 90vw !important;
    }
}
.admin-form-control {
    width: 100%;
    min-height: var(--admin-control-height);
    box-sizing: border-box;
    border: 1px solid #e5e7eb;
    border-radius: var(--ui-radius-control);
    background: #ffffff;
    padding: 0.75rem 1rem;
    color: #212e7d;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}
.admin-form-control:hover,
.admin-form-control:focus {
    border-color: #212e7d;
    background: #f8faff;
}
.admin-form-control:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(33, 46, 125, 0.12);
}
.admin-toolbar__form {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}
.admin-toolbar__controls {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}
.admin-toolbar__actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
}
.admin-toolbar__actions .admin-action {
    padding-inline: 0.75rem;
    white-space: nowrap;
}
.admin-toolbar-control {
    width: auto;
    max-width: 100%;
    min-width: 0;
    min-height: var(--admin-control-height);
    height: var(--admin-control-height);
    margin-top: 0;
    flex: 0 1 auto;
}
.admin-toolbar-control--search { width: min(100%, 11rem); min-width: min(9rem, 100%); }
.admin-toolbar-control--date { width: 9.5rem; }
.admin-toolbar-control--select { width: min(100%, 7.5rem); min-width: min(7rem, 100%); }
@media (min-width: 768px) {
    .admin-toolbar__form { flex-wrap: nowrap; }
    .admin-toolbar__controls { flex-wrap: nowrap; }
}
@media (max-width: 640px) {
    .admin-toolbar__actions { width: 100%; }
    .admin-toolbar__actions .admin-action { flex: 1 1 0; }
}
.admin-localized-control { border-radius: var(--ui-radius-control); }
.admin-localized-control__tab { border-radius: var(--ui-radius-control-compact); }
.admin-table__bulk-form .admin-form-control {
    width: auto;
}
.admin-menu {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: var(--ui-radius-control);
    padding: 0.35rem;
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.16);
}
.admin-menu__item {
    display: flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
    flex-direction: row !important;
    gap: 0.75rem;
    border: 0;
    border-radius: var(--ui-radius-control-compact);
    padding: 0.65rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 700;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 150ms ease, color 150ms ease;
}
.admin-menu__item--compact {
    min-height: 2.5rem;
    padding: 0.55rem 0.7rem;
    font-size: 0.75rem;
}
.admin-menu__item > i,
.admin-menu__item > svg {
    width: 1rem;
    flex: 0 0 1rem;
    text-align: center;
}
.admin-menu--actions .admin-menu__item:not([class*="hover:bg-"]):hover {
    background: #eef2ff;
}
.admin-menu--actions .admin-menu__item:focus-visible {
    outline: 2px solid rgba(33, 46, 125, 0.55);
    outline-offset: 2px;
}
.admin-menu__group {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
}
.admin-menu--floating {
    position: fixed;
    z-index: 80;
    display: flex;
    min-width: 11rem;
    max-width: min(18rem, calc(100vw - 1rem));
    max-height: min(22rem, calc(100vh - 1rem));
    flex-direction: column;
    gap: 0.25rem;
    overflow-y: auto;
    text-align: left;
}
.admin-menu--floating[hidden] {
    display: none !important;
}
.admin-select { position: relative; z-index: 20; }
.admin-select__trigger { display: flex; width: 100%; min-height: var(--admin-control-height); align-items: center; justify-content: space-between; gap: .75rem; border: 1px solid #e5e7eb; border-radius: .75rem; padding: .75rem 1rem; color: #212e7d; background: #fff; font-size: .875rem; font-weight: 800; text-align: left; box-shadow: 0 1px 2px rgba(15,23,42,.06); transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease; }
.admin-select__trigger:hover, .admin-select__trigger:focus-visible { border-color: #212e7d; background: #f8faff; box-shadow: 0 0 0 3px rgba(33,46,125,.12); outline: none; }
.admin-select__chevron { color: #212e7d; transition: transform .18s ease; }
.admin-select__chevron.is-open { transform: rotate(180deg); }
.admin-select__menu { position: absolute; top: calc(100% + .35rem); right: 0; left: 0; z-index: 60; }
.admin-select__option { justify-content: space-between; color: #475569; background: transparent; }
.admin-select__option:hover, .admin-select__option:focus-visible { color: #212e7d; background: #eef2ff; outline: none; }
.admin-select__option.is-selected { color: #fff; background: #212e7d; }
.admin-select__option.is-selected:hover, .admin-select__option.is-selected:focus-visible { color: #fff; background: #1d4ed8; }
.admin-range { width: 100%; height: 0.5rem; appearance: none; border-radius: 9999px; background: #212e7d; cursor: pointer; accent-color: #212e7d; }
.admin-range::-webkit-slider-thumb { width: 1.25rem; height: 1.25rem; appearance: none; border: 3px solid #ffffff; border-radius: 9999px; background: #212e7d; box-shadow: 0 2px 8px rgba(15, 23, 80, 0.24); }
.admin-range::-moz-range-thumb { width: 1rem; height: 1rem; border: 3px solid #ffffff; border-radius: 9999px; background: #212e7d; box-shadow: 0 2px 8px rgba(15, 23, 80, 0.24); }
.admin-range:focus-visible { outline: 2px solid rgba(33, 46, 125, 0.35); outline-offset: 4px; }
.admin-range__value { min-width: 3.5rem; border-radius: 0.75rem; background: #edf1ff; padding: 0.6rem 0.75rem; color: #212e7d; font-size: 0.875rem; font-weight: 900; text-align: center; }
.admin-field-label { font-size: 0.75rem; line-height: 1.25; }
.admin-help-tooltip { font-size: 0.75rem; line-height: 1.35; }
.admin-card { padding: 1.25rem; border: 1px solid #f3f4f6; border-radius: 1rem; background: #ffffff; box-shadow: 0 4px 12px rgba(15, 23, 80, 0.06); overflow: hidden; }
.admin-surface { border: 1px solid #f3f4f6; border-radius: 1rem; background: #ffffff; box-shadow: 0 4px 12px rgba(15, 23, 80, 0.06); overflow: hidden; }
.admin-input { width: 100%; margin-top: 0.35rem; border: 1px solid #e5e7eb; border-radius: 0.75rem; background: #ffffff; padding: 0.7rem 0.85rem; color: #212e7d; font-size: 0.875rem; font-weight: 700; }
.admin-input--compact { width: 10.75rem; min-width: 10.75rem; }
.admin-form-order-input { width: 5rem; min-width: 5rem; margin-top: 0; padding-right: 0.5rem; padding-left: 0.5rem; text-align: center; }
.admin-input:focus { border-color: #212e7d; outline: 2px solid rgba(33, 46, 125, 0.14); outline-offset: 1px; }
.admin-button { display: inline-flex; min-height: 2.5rem; align-items: center; justify-content: center; border-radius: var(--ui-radius-control); padding: 0.65rem 1rem; font-size: 0.75rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.08em; }
.admin-button--primary { background: #212e7d; color: #ffffff; }
.admin-button--secondary { border: 1px solid #212e7d; background: #ffffff; color: #212e7d; }
.admin-button--danger { background: #b91c1c; color: #ffffff; }
.admin-news-migration__actions .admin-action { width: 100%; justify-content: center; }
/* Form tooltips must be able to extend beyond the rounded surface. Keep
 * clipping enabled for surfaces without tooltips, such as tables and media. */
.admin-card:has(.admin-help-tooltip),
.admin-surface:has(.admin-help-tooltip) { overflow: visible; }
.admin-card:has(.group:hover .admin-help-tooltip),
.admin-surface:has(.group:hover .admin-help-tooltip) { position: relative; z-index: 10; }
.media-library-current-folder-surface:has(.media-library-bulk-move-control .site-dropdown.is-open) {
    position: relative;
    z-index: 30;
    overflow: visible;
}
.media-library-bulk-state-card:has(.media-library-bulk-move-control .site-dropdown.is-open) {
    position: relative;
    z-index: 1;
    overflow: visible;
}
.admin-date-period { padding: 1.25rem; border: 1px solid #e5e7eb; border-radius: 1.25rem; background: linear-gradient(135deg, rgba(239, 246, 255, 0.8), rgba(249, 250, 251, 0.78)); box-shadow: 0 6px 18px rgba(15, 23, 80, 0.06); }
.admin-date-period__header { display: flex; align-items: flex-start; gap: 0.75rem; }
.admin-date-period__icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 0.875rem; background: #212e7d; color: #ffffff; box-shadow: 0 0.35rem 0.75rem rgba(33, 46, 125, 0.18); }
.admin-date-period__hint { margin-top: 0.25rem; color: #6b7280; font-size: 0.8125rem; font-weight: 700; line-height: 1.45; }
.admin-date-field { padding: 1rem; border: 1px solid #e5e7eb; border-radius: 1rem; background: rgba(255, 255, 255, 0.92); box-shadow: 0 3px 10px rgba(15, 23, 80, 0.04); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.admin-date-field:hover { border-color: #bfdbfe; box-shadow: 0 0.5rem 1.25rem rgba(33, 46, 125, 0.1); transform: translateY(-1px); }
.admin-date-field:focus-within { border-color: #212e7d; box-shadow: 0 0 0 4px rgba(33, 46, 125, 0.12), 0 0.5rem 1.25rem rgba(33, 46, 125, 0.1); }
.admin-date-field:hover .admin-date-field__icon,
.admin-date-field:focus-within .admin-date-field__icon { color: #212e7d; }
.admin-date-field__control { border-radius: 0.75rem; }
.admin-date-field__input { border: 1px solid transparent; background: transparent; color: #212e7d; box-shadow: none; padding: 0.75rem 3rem 0.75rem 2.75rem; }
.admin-date-field__input:focus { border-color: transparent; outline: 0; box-shadow: none; }
.admin-date-field__input::-webkit-calendar-picker-indicator { cursor: pointer; opacity: 0.58; transition: opacity 180ms ease; }
.admin-date-field:hover .admin-date-field__input::-webkit-calendar-picker-indicator,
.admin-date-field:focus-within .admin-date-field__input::-webkit-calendar-picker-indicator { opacity: 0.9; }
.admin-date-field__clear { z-index: 10; }
@media (max-width: 767px) {
    .admin-date-period { padding: 1rem; }
    .admin-date-period__header { gap: 0.625rem; }
    .admin-date-period__icon { width: 2.25rem; height: 2.25rem; }
}
.admin-surface__header,
.admin-table__header,
.admin-table__bulk-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem; border-bottom: 1px solid #f3f4f6; }
.admin-surface__title,
.admin-table__title { margin: 0; color: #212e7d; font-size: 1.125rem; font-weight: 900; line-height: 1.25; }
.admin-surface__subtitle,
.admin-table__subtitle { margin: 0.25rem 0 0; color: #6b7280; font-size: 0.875rem; line-height: 1.35; }
.admin-surface__header-actions,
.admin-table__header-actions { flex: 0 0 auto; }
.admin-empty-state { display: flex; min-height: 8rem; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem; padding: 2rem; color: #9ca3af; text-align: center; }
.admin-empty-state__icon { font-size: 1.75rem; }
.admin-empty-state__title { margin: 0; color: #212e7d; font-size: 1rem; font-weight: 900; }
.admin-empty-state__message { margin: 0; font-size: 0.875rem; font-weight: 700; }
.admin-empty-state__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.5rem; }
.admin-empty-state--loading { color: #212e7d; }
.admin-empty-state--error { color: #dc2626; }
.admin-empty-state--dashed { min-height: 7rem; border: 1px dashed #d1d5db; border-radius: 1rem; background: #f9fafb; }
.admin-notice { position: relative; display: flex; align-items: flex-start; gap: .75rem; margin-block-end: 1.5rem; padding: 1rem; border: 1px solid; border-radius: 1rem; font-size: .875rem; font-weight: 700; box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.admin-notice__icon { flex: 0 0 auto; margin-top: .1rem; font-size: 1.1rem; }
.admin-notice__content { display: flex; min-width: 0; flex: 1; align-items: center; gap: .75rem; }
.admin-notice--dismissible .admin-notice__content { padding-inline-end: 3rem; }
.admin-notice--dismissible-labeled .admin-notice__content { padding-inline-end: calc(12rem + .75rem); }
.admin-notice__message { min-width: 0; flex: 1; }
.admin-notice__action { flex: 0 0 auto; align-self: center; }
.admin-notice__dismiss { position: absolute; z-index: 1; top: .5rem; inset-inline-end: .5rem; display: inline-flex; }
.admin-notice__dismiss .admin-icon-action { width: 2rem; height: 2rem; min-width: 2rem; min-height: 2rem; padding: 0; border: 1px solid #e5e7eb; border-radius: var(--ui-radius-control); background: #fff; color: #64748b; box-shadow: 0 1px 2px rgba(15,23,42,.06); transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease; }
.admin-notice__dismiss .admin-action--compact { min-height: 2rem; gap: .375rem; padding: .375rem .625rem; border: 1px solid #e5e7eb; border-radius: var(--ui-radius-control); background: #fff; color: #64748b; box-shadow: 0 1px 2px rgba(15,23,42,.06); transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease; }
.admin-notice__dismiss .admin-icon-action:hover, .admin-notice__dismiss .admin-icon-action:focus-visible, .admin-notice__dismiss .admin-action--compact:hover, .admin-notice__dismiss .admin-action--compact:focus-visible { border-color: #212e7d; background: #212e7d; color: #fff; box-shadow: 0 6px 14px rgba(33,46,125,.18); outline: none; transform: translateY(-1px); }
@media (max-width: 640px) {
    .admin-notice__content { flex-direction: column; align-items: stretch; }
    .admin-notice--dismissible .admin-notice__content { padding: 2.75rem 0 0; }
    .admin-notice__action { width: 100%; align-self: stretch; }
    .admin-notice__action .admin-action { width: 100%; justify-content: center; }
}
.admin-notice--success { border-color: color-mix(in srgb, var(--notification-positive-color, #059669) 35%, #fff); background: color-mix(in srgb, var(--notification-positive-color, #059669) 10%, #fff); color: color-mix(in srgb, var(--notification-positive-color, #059669) 75%, #111827); }
.admin-notice--success .admin-notice__icon { color: var(--notification-positive-color, #059669); }
.admin-notice--error, .admin-notice--warning { border-color: color-mix(in srgb, var(--notification-negative-color, #dc2626) 35%, #fff); background: color-mix(in srgb, var(--notification-negative-color, #dc2626) 10%, #fff); color: color-mix(in srgb, var(--notification-negative-color, #dc2626) 75%, #111827); }
.admin-notice--error .admin-notice__icon, .admin-notice--warning .admin-notice__icon { color: var(--notification-negative-color, #dc2626); }
.admin-notice--info { border-color: color-mix(in srgb, var(--notification-info-color, #2563eb) 35%, #fff); background: color-mix(in srgb, var(--notification-info-color, #2563eb) 10%, #fff); color: color-mix(in srgb, var(--notification-info-color, #2563eb) 75%, #111827); }
.admin-notice--info .admin-notice__icon { color: var(--notification-info-color, #2563eb); }
.admin-table--embedded { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.admin-table.admin-table--embedded { border-radius: 0; }
.admin-pagination-per-page { position: relative; z-index: 1; }
.admin-pagination-per-page.is-open { z-index: 70; }
.admin-pagination-per-page.is-closing { z-index: 70; }
.admin-table:has(.admin-pagination-per-page.is-open, .admin-pagination-per-page.is-closing) { overflow: visible; }
.admin-table__empty { height: 7rem; padding: 1.5rem; color: #9ca3af; font-size: 0.875rem; text-align: center; vertical-align: middle; }
.admin-table__empty .admin-empty-state { min-height: 4rem; padding: 0; }
.admin-table__empty .admin-empty-state__message { font-size: 0.875rem; }
.admin-table > .overflow-x-auto > table,
.admin-table__raw { border-collapse: separate; border-spacing: 0; }
.admin-table thead tr,
.admin-table__raw thead tr { background: transparent; border-bottom: 1px solid rgba(30, 58, 138, 0.5); }
.admin-table thead th,
.admin-table__raw thead th { background: #212e7d; }
.admin-table thead th:first-child,
.admin-table thead th:last-child,
.admin-table__raw thead th:first-child,
.admin-table__raw thead th:last-child { border-radius: 0; }
.admin-table__raw thead th { padding: 0.75rem 1.5rem; color: #ffffff; font-size: 0.75rem; font-weight: 900; letter-spacing: 0.2em; text-transform: uppercase; }
.admin-table__raw tbody td { padding: 0.75rem 1.5rem; }
.admin-table__raw-wrapper { overflow: hidden; border: 1px solid #f3f4f6; border-radius: 1rem; }
.gallery-drag-handle { cursor: grab; touch-action: none; }
.gallery-card.is-dragging .gallery-drag-handle,
.gallery-drag-handle:active { cursor: grabbing; }
.admin-kpi-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 1.5rem; }
.admin-kpi-card { display: flex; align-items: center; min-height: 6rem; padding: 1.25rem; border: 1px solid #f3f4f6; border-radius: 1rem; background: #ffffff; box-shadow: 0 4px 12px rgba(15, 23, 80, 0.06); text-decoration: none; transition: box-shadow 200ms ease, transform 200ms ease; }
.admin-kpi-card:hover { transform: translateY(-0.125rem); box-shadow: 0 0.75rem 1.5rem rgba(15, 23, 80, 0.1); }
.admin-kpi-card:focus-visible { outline: 3px solid rgba(33, 46, 125, 0.35); outline-offset: 2px; }
.admin-kpi-card__icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 3rem; height: 3rem; margin-right: 1rem; border-radius: 1rem; font-size: 1.25rem; transition: background-color 200ms ease, color 200ms ease; }
.admin-kpi-card__content { min-width: 0; overflow-wrap: anywhere; }
.admin-kpi-card__label { display: block; margin-bottom: 0.25rem; color: #9ca3af; font-size: 0.6875rem; font-weight: 900; letter-spacing: 0.1em; line-height: 1.25; text-transform: uppercase; }
.admin-kpi-card__value { display: block; color: #212e7d; font-size: 1.125rem; font-weight: 900; line-height: 1.15; }
.admin-kpi-card__detail { display: block; margin-top: 0.25rem; color: #6b7280; font-size: 0.75rem; font-weight: 600; line-height: 1.25; }
.admin-kpi-card--with-detail { height: auto; min-height: 6rem; }
.admin-kpi-card--with-detail .admin-kpi-card__content { max-height: none; overflow: visible; }
@media (hover: hover) and (pointer: fine) {
    .admin-kpi-card { height: 6rem; align-self: start; overflow: visible; }
    .admin-kpi-card__content { max-height: 3.375rem; overflow: hidden; }
    .admin-kpi-card:hover,
    .admin-kpi-card:focus-visible { height: auto; min-height: 6rem; position: relative; z-index: 10; }
    .admin-kpi-card:hover .admin-kpi-card__content,
    .admin-kpi-card:focus-visible .admin-kpi-card__content { max-height: none; overflow: visible; }
}
.admin-kpi-card--blue .admin-kpi-card__icon { background: #eff6ff; color: #4f46e5; }
.admin-kpi-card--blue:hover .admin-kpi-card__icon { background: #4f46e5; color: #ffffff; }
.admin-kpi-card--red .admin-kpi-card__icon { background: #fef2f2; color: #dc2626; }
.admin-kpi-card--red:hover .admin-kpi-card__icon { background: #dc2626; color: #ffffff; }
.admin-kpi-card--green .admin-kpi-card__icon { background: #f0fdf4; color: #16a34a; }
.admin-kpi-card--green:hover .admin-kpi-card__icon { background: #16a34a; color: #ffffff; }
.admin-kpi-card--orange .admin-kpi-card__icon { background: #fff7ed; color: #ea580c; }
.admin-kpi-card--orange:hover .admin-kpi-card__icon { background: #ea580c; color: #ffffff; }
.admin-kpi-card--purple .admin-kpi-card__icon { background: #faf5ff; color: #9333ea; }
.admin-kpi-card--purple:hover .admin-kpi-card__icon { background: #9333ea; color: #ffffff; }
.admin-kpi-grid--analytics { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.admin-shell .bg-white.rounded-3xl { border-radius: 1rem; }
.admin-shell .bg-white.rounded-3xl.p-6,
.admin-shell .bg-white.rounded-3xl.p-8 { padding: 1.25rem; }
.admin-surface[data-admin-table],
.admin-table { position: relative; border-radius: 1rem; }
.admin-table__heading { padding-block: 0.75rem; color: #ffffff; font-size: 0.6875rem; font-weight: 900; letter-spacing: 0.2em; text-transform: uppercase; }
.admin-table__sort { display: inline-flex; align-items: center; gap: 0.5rem; color: inherit; font: inherit; letter-spacing: inherit; text-align: inherit; text-transform: inherit; }
.admin-table__sort:hover { color: #ffffff; opacity: 0.8; }
.admin-table__sort:focus-visible { border-radius: 0.25rem; outline: 2px solid #ffffff; outline-offset: 3px; }
.admin-table__sort i { font-size: 0.625rem; opacity: 0.75; }
.admin-table__loading { position: absolute; inset: 0; z-index: 10; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.78); }
.admin-table__loading[hidden] { display: none; }
.admin-table__loading-status { display: inline-flex; align-items: center; gap: 0.625rem; border-radius: 0.75rem; background: #212e7d; padding: 0.75rem 1rem; color: #ffffff; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; box-shadow: 0 0.5rem 1rem rgba(15, 23, 80, 0.16); }
.admin-table__cell { padding-block: 0.75rem; }
.admin-table__frontend-link-group { display: inline-flex; max-width: 100%; flex-wrap: wrap; align-items: center; column-gap: 0.5rem; row-gap: 0.25rem; }
.admin-tooltip {
    position: fixed;
    z-index: 100;
    max-width: min(16rem, calc(100vw - 1.5rem));
    border-radius: var(--ui-radius-control-compact);
    background: #111827;
    padding: 0.65rem 0.8rem;
    color: #ffffff;
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1.35;
    pointer-events: none;
    opacity: 0;
    transform: translate(-50%, -0.35rem);
    transition: opacity 120ms ease, transform 120ms ease;
}
.admin-tooltip.is-visible { opacity: 1; transform: translateX(-50%); }
.admin-tooltip.is-below { transform: translate(-50%, 0.35rem); }
.admin-tooltip.is-below.is-visible { transform: translateX(-50%); }
.admin-tooltip::after {
    position: absolute;
    bottom: -0.3rem;
    left: 50%;
    width: 0;
    height: 0;
    border-top: 0.35rem solid #111827;
    border-right: 0.35rem solid transparent;
    border-left: 0.35rem solid transparent;
    content: '';
    transform: translateX(-50%);
}
.admin-tooltip.is-below::after {
    top: -0.3rem;
    bottom: auto;
    border-top: 0;
    border-bottom: 0.35rem solid #111827;
}
@media (prefers-reduced-motion: reduce) { .admin-tooltip { transition: none; } }
.admin-table__image-trigger { display: inline-flex; cursor: zoom-in; border-radius: 0.5rem; padding: 0; transition: transform 160ms ease, box-shadow 160ms ease; }
.admin-table__image-trigger:hover, .admin-table__image-trigger:focus-visible { transform: scale(1.08); box-shadow: 0 0.25rem 0.75rem rgba(15, 23, 80, 0.16); outline: none; }
.admin-image-hover-preview { position: fixed; z-index: 80; pointer-events: none; border: 1px solid rgba(15, 23, 80, 0.12); border-radius: 0.875rem; background: #ffffff; padding: 0.5rem; box-shadow: 0 1rem 2.5rem rgba(15, 23, 80, 0.24); }
.admin-image-hover-preview img { display: block; max-width: min(20rem, calc(100vw - 1.5rem)); max-height: min(16rem, calc(100vh - 1.5rem)); border-radius: 0.5rem; object-fit: contain; }
.admin-image-lightbox img { min-height: 8rem; }
@media (prefers-reduced-motion: reduce) { .admin-table__image-trigger { transition: none; } }
.admin-topbar__title { font-size: 1.125rem; }
.admin-topbar__notice-action { white-space: nowrap; }
.admin-topbar__action-label { font-size: .6875rem; font-weight: 900; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }
.admin-dismissed-notices { position: relative; }
.admin-dismissed-notices__panel { position: absolute; top: calc(100% + .75rem); right: 0; z-index: 80; width: min(25rem, calc(100vw - 2rem)); max-height: min(32rem, calc(100vh - 5rem)); overflow-y: auto; }
.admin-dismissed-notices__header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .5rem .5rem .75rem; color: #212e7d; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.admin-dismissed-notices__header .admin-icon-action { width: 2rem; min-width: 2rem; min-height: 2rem; color: #64748b; }
.admin-dismissed-notices__list { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.admin-dismissed-notices__item { display: grid; gap: .65rem; border: 1px solid #e5e7eb; border-radius: var(--ui-radius-control-compact); padding: .75rem; background: #fff; }
.admin-dismissed-notices__content { display: grid; gap: .35rem; color: #475569; font-size: .75rem; line-height: 1.4; }
.admin-dismissed-notices__content .admin-notice__message { display: grid; gap: .2rem; }
.admin-dismissed-notices__expiry { color: #94a3b8; font-size: .6875rem; font-weight: 800; }
.admin-dismissed-notices__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem; }
.admin-dismissed-notices__actions > .admin-action--mini { width: auto; min-height: 2.25rem; }
.admin-dismissed-notices__empty { margin: .5rem; color: #64748b; font-size: .75rem; font-weight: 700; }
@media (max-width: 640px) { .admin-dismissed-notices__panel { position: fixed; top: 4.5rem; right: .75rem; left: .75rem; width: auto; max-height: calc(100vh - 5.25rem); } }
.admin-media-folder-item { border-radius: 0.875rem; }
.admin-media-folder-item > button,
.admin-media-folder-item > div { padding-block: 0.25rem; }
.media-library-folder-drop-target { border-color: #212e7d !important; background-color: #eef2ff !important; box-shadow: 0 0 0 3px rgba(33, 46, 125, 0.2), 0 0.5rem 1rem rgba(33, 46, 125, 0.12); }
.media-library-folder-drop-muted { opacity: 0.45; }
.media-library-drag-preview { --media-library-drag-x: 0px; --media-library-drag-y: 0px; position: fixed; top: 0; left: 0; z-index: 120; display: flex; width: 15.5rem; align-items: center; gap: 0.75rem; border: 1px solid rgba(33, 46, 125, 0.12); border-radius: 1rem; background: #ffffff; padding: 0.625rem; box-shadow: 0 1rem 2.5rem rgba(15, 23, 80, 0.28); pointer-events: none; transform: translate3d(var(--media-library-drag-x), var(--media-library-drag-y), 0); will-change: transform; }
.media-library-drag-preview__thumbnail { display: flex; width: 4rem; height: 4rem; flex: 0 0 4rem; align-items: center; justify-content: center; overflow: hidden; border-radius: 0.75rem; background: #f3f4f6; color: #9ca3af; font-size: 1.5rem; }
.media-library-drag-preview__thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.media-library-drag-preview__details { display: grid; min-width: 0; flex: 1; gap: 0.5rem; }
.media-library-drag-preview__name { overflow: hidden; color: #212e7d; font-size: 0.75rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.media-library-drag-preview__metadata { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 0.5rem; color: #9ca3af; font-size: 0.625rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.media-library-drag-preview__metadata span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.media-sidebar-drag-preview { --media-sidebar-drag-x: 0px; --media-sidebar-drag-y: 0px; position: fixed; top: 0; left: 0; z-index: 121; display: flex; width: min(16rem, calc(100vw - 1rem)); align-items: center; gap: 0.65rem; border: 1px solid rgba(33, 46, 125, 0.14); border-radius: 0.875rem; background: #ffffff; padding: 0.75rem 0.875rem; color: #212e7d; box-shadow: 0 0.75rem 2rem rgba(15, 23, 80, 0.24); font-size: 0.875rem; font-weight: 900; pointer-events: none; transform: translate3d(var(--media-sidebar-drag-x), var(--media-sidebar-drag-y), 0); will-change: transform; }
.media-sidebar-drag-preview > .fa-grip-vertical { color: #9ca3af; }
.media-sidebar-drag-preview > .fa-folder { flex: 0 0 auto; }
.media-sidebar-drag-preview > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.media-sidebar-drag-preview-enter, .media-sidebar-drag-preview-leave { transition: opacity 120ms ease, scale 120ms ease; }
.media-sidebar-drag-preview-enter-start, .media-sidebar-drag-preview-leave-end { opacity: 0; scale: 0.94; }
.media-sidebar-drag-preview-enter-end, .media-sidebar-drag-preview-leave-start { opacity: 1; scale: 1; }
.admin-media-folder-item [data-media-sidebar-drag-handle], [data-media-sidebar-drag-handle] { width: 1.75rem; height: 1.75rem; min-width: 1.75rem; min-height: 1.75rem; padding: 0; cursor: grab; touch-action: none; }
.media-library-sidebar-sort-before, .media-library-sidebar-sort-after { position: relative; overflow: visible; }
.media-library-sidebar-sort-before::before, .media-library-sidebar-sort-after::after { position: absolute; right: 0.5rem; left: 0.5rem; z-index: 5; height: 5px; border-radius: 999px; background: #a000dc; content: ""; pointer-events: none; box-shadow: 0 0 0 2px #ffffff, 0 2px 8px rgba(72, 0, 130, 0.4); }
.media-library-sidebar-sort-before::before { top: -3px; }
.media-library-sidebar-sort-after::after { bottom: -3px; }
.media-library-sidebar-sort-before::after, .media-library-sidebar-sort-after::before { position: absolute; left: 50%; z-index: 6; padding: 0.2rem 0.65rem; border: 2px solid #a000dc; border-radius: 999px; background: #ffffff; color: #4c087e; content: attr(data-sort-label); font-size: 0.625rem; font-weight: 900; letter-spacing: 0.08em; line-height: 1.2; text-transform: uppercase; white-space: nowrap; pointer-events: none; box-shadow: 0 2px 8px rgba(72, 0, 130, 0.24); transform: translate(-50%, -50%); }
.media-library-sidebar-sort-before::after { top: 0; }
.media-library-sidebar-sort-after::before { bottom: 0; transform: translate(-50%, 50%); }
.media-library-drag-preview-enter,
.media-library-drag-preview-leave { transition: opacity 140ms ease, scale 140ms ease; }
.media-library-drag-preview-enter-start,
.media-library-drag-preview-leave-end { opacity: 0; scale: 0.92; }
.media-library-drag-preview-enter-end,
.media-library-drag-preview-leave-start { opacity: 1; scale: 1; }
.admin-media-drag-active,
.admin-media-drag-active * { cursor: grabbing !important; user-select: none !important; }
@media (prefers-reduced-motion: reduce) { .media-library-drag-preview-enter, .media-library-drag-preview-leave, .media-sidebar-drag-preview-enter, .media-sidebar-drag-preview-leave { transition: none; } }
.admin-table td a,
.admin-table td button { min-height: 2.5rem; }
.admin-modal__header { padding: 1.25rem; }
.admin-modal__body { padding: 1.25rem; }
.admin-modal__body--compact-top { padding-top: 1rem; }
.admin-modal__footer { margin-inline: 0; padding-inline: 1.5rem; padding-bottom: 1.5rem; }
.admin-modal__json-summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; cursor: pointer; list-style: none; }
.admin-modal__json-summary::-webkit-details-marker { display: none; }
.admin-modal__json-summary:focus-visible { border-radius: .375rem; outline: 2px solid rgba(33, 46, 125, .35); outline-offset: .25rem; }
.admin-modal__json-summary i { transition: transform .18s ease; }
.admin-modal__json-disclosure[open] .admin-modal__json-summary i { transform: rotate(180deg); }
.admin-modal__json-disclosure pre { margin-top: .75rem; max-height: 30vh; overflow: auto; }
.admin-modal button,
.admin-modal a { font-size: 0.75rem; }
.update-backup-modal-content { margin-top: -1rem; }
.admin-progress {
    --admin-progress-scale: 0;
    position: relative;
    display: block;
    width: 100%;
    height: .75rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e5e7eb;
}
.admin-progress__fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: 100%;
    border-radius: inherit;
    background: #212e7d;
    transform: scaleX(var(--admin-progress-scale));
    transform-origin: left center;
    transition: transform .25s ease;
}
.admin-progress.is-indeterminate .admin-progress__fill {
    width: 38%;
    transform: translateX(-110%);
    animation: admin-progress-indeterminate 1.25s ease-in-out infinite;
}
@keyframes admin-progress-indeterminate {
    from { transform: translateX(-110%); }
    to { transform: translateX(275%); }
}
@media (prefers-reduced-motion: reduce) {
    .admin-progress__fill { transition: none; }
    .admin-progress.is-indeterminate .admin-progress__fill { animation: none; transform: translateX(0); }
}
.update-backup-progress { margin-top: .75rem; }
.update-backup-file-list { max-height: 42vh; }
.update-backup-scope-input:checked + .update-backup-scope-check { display: inline-flex; }
.update-backup-scope-input:checked ~ .update-backup-scope-card { border-color: #212e7d; background: rgba(239, 246, 255, 0.55); box-shadow: 0 0.25rem 0.75rem rgba(33, 46, 125, 0.08); }
.update-backup-scope-input:focus-visible ~ .update-backup-scope-card { outline: 2px solid rgba(33, 46, 125, 0.35); outline-offset: 2px; }

@media (min-width: 768px) {
    .admin-main { padding: 1.5rem 2rem; }
    .admin-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
    .admin-kpi-grid:not(.admin-kpi-grid--analytics) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .admin-main { padding: 1rem; }
    .admin-topbar { padding-inline: 1rem; }
}

/* Shared public page shell. Keep the content edge aligned across page chrome. */
.site-container {
    width: 100%;
    max-width: 80rem;
    margin-inline: auto;
    padding-inline: 1rem;
}

/* Shared public layout primitives. Keep page-specific views on the same
 * structural vocabulary as the canonical .site-container shell. */
.site-section {
    width: 100%;
}

/* Shared vertical rhythm for public pages. Use stack classes for major page
 * blocks; retain smaller utility gaps for content inside a component. */
:root {
    --site-color-brand-primary: #212e7d;
    --site-color-brand-primary-hover: #1a2468;
    --site-color-brand-secondary: #d9261c;
    --site-color-brand-secondary-hover: #b91c1c;
    --site-color-brand-light: #edf1ff;
    --site-color-surface: #ffffff;
    --site-color-danger: #d9261c;
    --site-space-component: 1rem;
    --site-space-grid: 1.5rem;
    --site-space-section: 1.5rem;
    --site-space-section-desktop: 1.5rem;
    --site-space-major: 1.5rem;
}

/* Universal Top Spacing Symmetry Rule (Strict 24px / 1.5rem Baseline Below Header/Hero/Breadcrumb)
 * Ensures the first visible content element across all web and mobile pages
 * is positioned exactly 1.5rem (24px) below the header/hero/breadcrumb,
 * discounting transparent borders, shadow offsets, and outer card wrappers. */
.site-hero {
    margin-bottom: 0 !important;
}

.site-page-top-gap,
.site-page-section:first-of-type,
.site-hero + section,
.site-hero + main,
.site-hero + .site-section,
.site-hero + .site-page-section,
nav[aria-label="Breadcrumb"] + section,
nav[aria-label="Breadcrumb"] + main,
nav[aria-label="Breadcrumb"] + .site-section,
nav[aria-label="Breadcrumb"] + .site-page-section {
    padding-top: 1.5rem !important;
    margin-top: 0 !important;
}

.site-page-top-gap > *:first-child,
.site-page-section:first-of-type > *:first-child,
.site-hero + section > *:first-child,
.site-hero + main > *:first-child,
.site-hero + .site-section > *:first-child,
.site-hero + .site-page-section > *:first-child,
nav[aria-label="Breadcrumb"] + section > *:first-child,
nav[aria-label="Breadcrumb"] + main > *:first-child {
    margin-top: 0 !important;
}

/* Eliminate transparent border displacement on first visible card elements */
.site-page-top-gap .border-transparent:first-child,
.site-page-section:first-of-type .border-transparent:first-child,
.site-hero + section .border-transparent:first-child,
.site-hero + main .border-transparent:first-child {
    margin-top: 0 !important;
}

/* Eliminate phantom layout height/margins from empty section elements */
section:empty {
    display: none !important;
}

/* Universal Mobile Action Button Rules (Mobil Buton Anayasası)
 * Prevents full-width block button stretching while preserving the shared control radius. */
.site-button {
    height: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 639px) {
    .site-button:not(.site-share-button):not(.site-button--block):not(.site-button--full-mobile):not(.site-button--align-right):not(.site-form__action-button):not(.match-detail-ticket__link):not(.home-social-load-more) {
        width: max-content !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
        border-radius: var(--ui-radius-control) !important;
    }

    .site-button--block {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: var(--ui-radius-control) !important;
    }

    .site-product-card__footer .site-button:not(.site-button--full-mobile):not(.site-button--align-right) {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

.site-button--align-right {
    margin-left: auto !important;
    margin-right: 0 !important;
}

.site-page-section {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.site-page-section:first-of-type {
    padding-top: 1.5rem !important;
}
.site-page-section:last-of-type {
    padding-bottom: 1.5rem !important;
}
.site-stack { display: grid; gap: 1.5rem; }
.site-stack--compact { gap: 1.5rem; }
.site-stack--major { gap: 1.5rem; }
.site-grid--cards { gap: 1.5rem; }

.site-sidebar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 1.5rem;
}

.site-sidebar,
.site-content {
    min-width: 0;
}

.site-card,
.site-panel {
    border: 1px solid #f3f4f6;
    border-radius: var(--ui-radius-surface);
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(15, 23, 80, 0.06);
}

.site-card__header,
.site-card__body,
.site-card__footer {
    min-width: 0;
}

.site-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #f3f4f6;
}

.site-card__body {
    padding: 1.5rem;
}

.site-card__footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid #f3f4f6;
}

.site-card__header > :first-child,
.site-card__footer > :first-child {
    min-width: 0;
}

.site-card__header-main {
    min-width: 0;
    flex: 1 1 auto;
}

.site-card__header-meta {
    display: flex;
    min-width: 0;
    flex: 0 1 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    text-align: right;
}

.site-card__header-actions {
    display: flex;
    min-width: 0;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

.site-card__header--dark {
    border-bottom-color: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    background: #081742;
}

.site-card__header--dark .site-card__header-meta {
    color: rgba(255, 255, 255, 0.72);
}

.site-card__body.site-card__body--flush {
    padding: 0;
}

.home-fixture-row:not(.home-fixture-row--last) {
    border-bottom: 1px solid #f3f4f6;
}

.home-fixture-row--first {
    padding-top: 0;
}

.home-fixture-row--last {
    padding-bottom: 0;
}

@media (max-width: 640px) {
    .site-card__header,
    .site-card__body {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .site-card__header {
        flex-wrap: wrap;
    }

    .site-card__header-actions {
        flex: 1 1 100%;
        justify-content: flex-start;
    }

    .site-card__footer {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}

.site-callout {
    border-radius: var(--ui-radius-surface);
}

.site-callout--dark {
    background: linear-gradient(135deg, #071133, #1a2e7d);
    color: #ffffff;
}

.site-callout--error {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    border: 1px solid #fecaca;
    background: #fef2f2;
    padding: 0.8rem 0.95rem;
    color: #b91c1c;
    font-size: 0.875rem;
    line-height: 1.45;
}

.site-callout--success,
.site-callout--warning {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    border: 1px solid;
    padding: 0.8rem 0.95rem;
    font-size: 0.875rem;
    line-height: 1.45;
}

.site-callout--success { border-color: #bbf7d0; background: #f0fdf4; color: #15803d; }
.site-callout--warning { border-color: #fde68a; background: #fffbeb; color: #a16207; }
.site-callout > i { flex: 0 0 auto; margin-top: 0.15rem; }

.site-validation-tooltip {
    display: block;
    margin-top: 0.5rem;
    border: 1px solid #fecaca;
    border-radius: var(--ui-radius-control-compact);
    background: #fef2f2;
    padding: 0.55rem 0.75rem;
    color: #b91c1c;
    font-size: 0.8125rem;
    line-height: 1.4;
}

.site-validation-tooltip[hidden] { display: none !important; }
.fan-login-captcha { display: grid; gap: 0.75rem; border: 1px solid #e5e7eb; border-radius: var(--ui-radius-surface); background: #f9fafb; padding: 1rem; }
.fan-login-captcha__heading,
.fan-login-captcha__controls { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.fan-login-captcha__heading label { color: #6b7280; font-size: 0.75rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.fan-login-captcha__question { color: var(--site-color-brand-secondary); font-size: 0.95rem; font-weight: 800; }
.fan-login-captcha__controls .site-input { min-width: 0; flex: 1 1 0%; width: auto; }
.fan-login-captcha__controls .site-button { flex: 0 0 auto; white-space: nowrap; }

.site-callout--large { border-radius: 1.5rem; }

.site-icon-box {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
}

.site-eyebrow {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 1.25;
    text-transform: uppercase;
}

.site-heading {
    color: #212e7d;
    font-weight: 900;
    line-height: 1.05;
}

.site-heading--inverse { color: #ffffff; }

.site-hero .site-heading {
    color: #ffffff;
}

.site-heading--page { font-size: clamp(1.875rem, 4vw, 3rem); }
.site-heading--section { font-size: clamp(1.5rem, 3vw, 2.25rem); }

.site-meta {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.site-label {
    color: #d9261c;
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.site-description {
    color: #4b5563;
    line-height: 1.7;
}

.site-prose {
    color: #374151;
    line-height: 1.75;
}

.site-product-card {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
}

.site-product-card__media {
    height: 16rem;
    margin-bottom: var(--site-space-component);
    border-radius: 1rem;
}

.site-product-card__media img {
    object-position: 60% center;
}

.site-product-card__title {
    display: flex;
    min-height: 3.5rem;
    width: 100%;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
}

.site-product-card__footer {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    margin-top: auto;
    padding-top: 0.5rem;
}

.site-product-card__footer.site-card__footer {
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    padding: 0.5rem 0 0;
    border-top: 0;
}

.site-product-card__price {
    margin-bottom: var(--site-space-component);
}

.site-product-layout {
    min-width: 0;
}

.site-product-gallery__surface {
    min-width: 0;
    border: 1px solid #eef2f7;
    border-radius: 1rem;
    background: #ffffff;
    padding: 0.75rem;
}

.site-product-gallery__main {
    aspect-ratio: 4 / 3;
    border: 1px solid #eef2f7;
    box-shadow: none;
}

.site-product-gallery__surface .site-product-gallery__main {
    border: 0;
    border-radius: var(--ui-radius-control);
    padding: 0;
}

.site-product-gallery__main img {
    object-position: center;
}

.site-product-gallery__thumbnails {
    scrollbar-width: thin;
    scrollbar-color: #212e7d transparent;
}

.site-product-gallery__thumbnail {
    position: relative;
    width: 6rem;
    aspect-ratio: 4 / 3;
    border: 1px solid #e5e7eb;
    background: #f8fafc;
    padding: 0.25rem;
}

.site-product-gallery__thumbnail:hover {
    border-color: #212e7d;
    box-shadow: none;
}

.site-product-gallery__thumbnail.is-active {
    border: 2px solid #212e7d;
    box-shadow: none;
}

/* Commerce detail rhythm: keep each information group readable before it
 * reaches the narrowest supported public viewport. */
.site-product-detail__header,
.site-product-detail__meta,
.site-product-detail__price-row,
.site-product-detail__availability,
.site-product-detail__trust {
    min-width: 0;
}

.site-product-detail__name {
    overflow-wrap: anywhere;
}

.site-product-detail__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.625rem;
}

.site-product-detail__price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem 0.75rem;
}

.site-product-detail__availability {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}

.site-product-detail__availability > * {
    min-width: 0;
}

.site-product-detail__availability-vat {
    white-space: nowrap;
}

.site-product-detail__shipping {
    max-width: 38rem;
    line-height: 1.55;
}

.site-product-detail__trust > div {
    min-width: 0;
    line-height: 1.35;
}

.academy-player-card {
    align-items: center;
}

.academy-player-card__body,
.academy-player-card__footer {
    width: 100%;
    max-width: 23rem;
}

.academy-player-card__body {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr);
    align-items: center;
    column-gap: 1rem;
}

.academy-player-card__media {
    width: 5rem;
    height: 6rem;
}

.academy-player-card__content {
    min-width: 0;
}

.academy-player-card__content h3,
.academy-player-card__content p {
    overflow-wrap: anywhere;
}

.academy-player-card__footer {
    min-height: 2rem;
}

.team-player-card,
.academy-player-card {
    display: flex;
    height: 100%;
    flex-direction: column;
    min-width: 0;
    width: 100%;
    border: 0;
    background: #ffffff;
    appearance: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.team-player-card__media {
    aspect-ratio: 3 / 4;
    width: 100%;
    overflow: hidden;
}

.team-player-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team-player-card__body {
    display: flex;
    min-height: 7.25rem;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    padding: 0.875rem 1rem;
    text-align: center;
}

.team-player-card__name,
.team-player-card__position {
    min-width: 0;
    overflow-wrap: anywhere;
}

.team-player-card__name {
    color: #212e7d;
}

.team-player-card__meta {
    align-items: center;
    justify-content: center;
}

.team-player-card__value {
    min-height: 1.25rem;
    letter-spacing: 0.02em;
}

.team-player-card__footer {
    min-height: 2.75rem;
    margin-top: auto;
    justify-content: center;
}

.team-player-card__profile-button,
.team-player-card__profile-button:hover {
    box-shadow: none;
}

.team-skeleton {
    min-width: 0;
}

.team-skeleton__heading {
    max-width: 12rem;
}

@media (max-width: 639px) {
    .team-skeleton > div > .grid,
    .team-skeleton > .grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }

    .team-skeleton .site-skeleton {
        min-width: 0;
        max-width: 100%;
    }

    .team-player-card__media {
        min-height: 0;
        aspect-ratio: 3 / 4;
    }

    .team-player-card__body {
        min-height: 7rem;
        padding: .75rem .5rem;
    }

    .team-player-card__name,
    .team-player-card__position,
    .team-player-card__footer {
        max-width: 100%;
    }

    .team-player-card__footer {
        padding-inline: .5rem;
    }
}

.player-profile-modal__body {
    min-height: 0;
}

.player-profile-modal__body > div {
    min-width: 0;
}

@media (max-width: 639px) {
    .player-profile-modal {
        padding: 1rem;
    }

    .player-profile-modal__panel {
        max-height: 86vh;
        border-radius: 1.5rem;
    }

    .player-profile-modal__hero {
        padding: 1.25rem;
    }

    .player-profile-modal__identity {
        gap: 0.875rem;
    }

    .player-profile-modal__media {
        width: 7rem;
        height: 8.5rem;
        border-width: 3px;
        border-radius: 1rem;
    }

    .player-profile-modal__hero h2 {
        font-size: 1.5rem !important;
        line-height: 1.1 !important;
    }

    .player-profile-modal__hero p:first-child {
        margin-bottom: 0.5rem !important;
        font-size: 2.25rem !important;
    }

    .player-profile-modal__body {
        padding: 1.25rem;
        gap: 1rem;
    }

    .player-profile-modal__body > .grid {
        gap: 0.625rem;
    }

    .player-profile-modal__body > .grid > div {
        padding: 0.875rem;
        border-radius: 1rem;
    }

    .player-profile-modal__body > .grid:last-child {
        gap: 0.75rem;
    }
}

.site-shop-toolbar,
.site-shop-grid {
    min-width: 0;
}

.site-shop-search-row {
    display: grid !important;
}

.site-shop-search-control,
.site-shop-sort-control {
    min-width: 0;
}

.site-shop-search-input,
.site-shop-toolbar > * {
    min-width: 0;
}

.site-breadcrumb__list,
.site-breadcrumb__item,
.site-breadcrumb__current {
    min-width: 0;
}

.site-breadcrumb__current {
    overflow-wrap: anywhere;
}

.news-article__media { overflow: hidden; border: 1px solid #f3f4f6; border-radius: var(--ui-radius-surface-large); box-shadow: 0 1.25rem 2.5rem rgba(15, 23, 80, 0.12); }
.news-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.news-gallery-tile { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid #e5e7eb; border-radius: var(--ui-radius-surface); background: #f3f4f6; cursor: zoom-in; }
.news-gallery-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.news-gallery-tile:hover img, .news-gallery-tile:focus-visible img { transform: scale(1.04); }
.news-gallery-tile:focus-visible { outline: 3px solid rgba(33, 46, 125, .35); outline-offset: 3px; }
.news-gallery-tile__overlay { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(33, 46, 125, .36); opacity: 0; transition: opacity .2s ease; }
.news-gallery-tile:hover .news-gallery-tile__overlay, .news-gallery-tile:focus-visible .news-gallery-tile__overlay { opacity: 1; }
.site-lightbox { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 1rem; }
.site-lightbox[hidden] { display: none !important; }
.site-lightbox__backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .88); backdrop-filter: blur(5px); }
.site-lightbox__panel { position: relative; z-index: 1; display: flex; width: min(100%, 68rem); max-height: calc(100vh - 2rem); flex-direction: column; overflow: hidden; border: 1px solid rgba(229, 231, 235, .9); border-radius: var(--ui-radius-surface-large); background: var(--site-color-surface); box-shadow: 0 1.5rem 4rem rgba(15, 23, 80, .3); }
.site-lightbox__header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 1rem; padding: .875rem 1rem; border-bottom: 1px solid #f3f4f6; background: var(--site-color-brand-light); color: var(--site-color-brand-primary); }
.site-lightbox__heading { display: flex; min-width: 0; align-items: center; gap: .75rem; }
.site-lightbox__icon { display: inline-grid; width: 2.25rem; height: 2.25rem; flex: 0 0 2.25rem; place-items: center; border-radius: var(--ui-radius-control); background: rgba(33, 46, 125, .1); color: var(--site-color-brand-primary); }
.site-lightbox__title { margin: 0; overflow: hidden; color: var(--site-color-brand-primary); font-size: .95rem; font-weight: 900; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.site-lightbox__counter { display: block; margin-top: .2rem; color: #64748b; font-size: .7rem; font-weight: 800; letter-spacing: .08em; }
.site-lightbox__close { flex: 0 0 auto; }
.site-lightbox__close:hover { transform: none; }
.site-lightbox__body { position: relative; display: flex; min-height: 0; flex: 1 1 auto; align-items: center; justify-content: center; overflow: hidden; padding: .75rem; background: #f8fafc; }
.site-lightbox__image { display: block; max-width: 100%; max-height: calc(100vh - 11rem); width: auto; height: auto; border: 1px solid #e5e7eb; border-radius: var(--ui-radius-surface); background: var(--site-color-surface); object-fit: contain; box-shadow: 0 .75rem 2rem rgba(15, 23, 80, .14); }
.site-lightbox__loading { position: absolute; z-index: 1; inset: 0; display: flex; align-items: center; justify-content: center; gap: .5rem; background: rgba(248, 250, 252, .72); color: #64748b; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.site-lightbox__loading[hidden] { display: none !important; }
.site-lightbox__footer { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: .75rem; padding: .75rem 1rem; border-top: 1px solid #f3f4f6; background: rgba(248, 250, 252, .9); }
.site-lightbox__nav { min-width: 0; }
.site-lightbox__nav:hover { transform: none; }
.news-article__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; }
.news-article__meta > * { min-width: 0; }
.news-article__back-link { margin-inline: 0 !important; }
.news-article__category { 
    justify-self: center; 
    white-space: nowrap !important; 
    min-height: 2.25rem; 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
}
.news-article__date { justify-self: end; }
.news-article__title { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 639px) {
    .news-gallery-grid { gap: .5rem; }
    .news-gallery-tile { border-radius: var(--ui-radius-control); }
    .site-lightbox { padding: .75rem; }
    .site-lightbox__panel { max-height: calc(100vh - 1.5rem); border-radius: var(--ui-radius-surface); }
    .site-lightbox__header { padding: .75rem; }
    .site-lightbox__body { padding: .5rem; }
    .site-lightbox__image { max-height: calc(100vh - 10rem); }
    .site-lightbox__footer { padding: .625rem .75rem; }
    .site-lightbox__nav span { display: none; }
    .news-article__back-link,
    .news-article__category,
    .news-article__date {
        flex: 0 0 auto;
    }

    .news-article__date {
        margin-left: auto;
    }
}

@media (min-width: 640px) {
    .news-article__meta {
        display: flex;
        justify-content: flex-start;
        gap: 1rem;
    }
}

.news-article__lead {
    border: 1px solid #f3f4f6;
    border-radius: var(--ui-radius-surface);
    background: #ffffff;
    padding: 1.25rem;
    color: #27345f;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.75;
    box-shadow: 0 4px 12px rgba(15, 23, 80, 0.06);
}

.news-article__short-content {
    border-left: 0;
    padding-left: 0;
}

.news-article__reading-card {
    position: relative;
    overflow: hidden;
    border-color: #f3f4f6;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(15, 23, 80, 0.06);
}

.news-article__body {
    color: #374151;
    font-size: 1.0625rem;
    line-height: 1.9;
}

.news-article__body > * + * { margin-top: 1.25rem; }
.news-article__body p { margin: 0; }
.news-article__body h2,
.news-article__body h3,
.news-article__body h4 {
    position: relative;
    margin-top: 2rem;
    color: #212e7d;
    font-weight: 900;
    line-height: 1.25;
}

.news-article__body h2 { font-size: clamp(1.35rem, 2vw, 1.75rem); }
.news-article__body h3 { font-size: clamp(1.15rem, 1.6vw, 1.4rem); }
.news-article__body h4 { font-size: 1.05rem; text-transform: uppercase; letter-spacing: 0.04em; }
.news-article__body h2::after,
.news-article__body h3::after {
    display: block;
    width: 2.75rem;
    height: 0.2rem;
    margin-top: 0.6rem;
    border-radius: 9999px;
    background: #d9261c;
    content: '';
}

.news-article__body ul,
.news-article__body ol { padding-left: 1.5rem; }
.news-article__body ul { list-style: disc; }
.news-article__body ol { list-style: decimal; }
.news-article__body li { padding-left: 0.25rem; }
.news-article__body li::marker { color: #d9261c; font-weight: 900; }
.news-article__body blockquote {
    margin-inline: 0;
    border-left: 4px solid #212e7d;
    border-radius: 0 0.75rem 0.75rem 0;
    background: #f3f6ff;
    padding: 1rem 1.25rem;
    color: #27345f;
    font-size: 1.05em;
    font-style: italic;
}

.news-article__body a {
    color: #b91c1c;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(217, 38, 28, 0.35);
    text-underline-offset: 0.18em;
}

.news-article__body a:hover { color: #212e7d; text-decoration-color: currentColor; }
.news-article__body img { height: auto; max-width: 100%; border-radius: 0.875rem; }
.news-article__body hr { border-top: 1px solid #e5e7eb; }
.news-article__share,
.news-article__related { border-top: 1px solid #e5e7eb; padding-top: 2rem; }

@media (max-width: 639px) {
    .news-article__date { gap: 0.25rem; font-size: 0.6875rem; }
    .news-article__date i { font-size: 0.875rem; }
    .news-article__back-link { padding-inline: 0.625rem !important; gap: 0.25rem; font-size: 0.6875rem; }
}

.match-stat-bar { display: flex; height: 0.75rem; overflow: hidden; border-radius: 9999px; background: #f3f4f6; }
.match-stat-bar__segment { width: var(--match-stat-width, 0%); transition: width 700ms ease; }

.matches-ticket-actions {
    align-items: center;
    justify-content: center;
}

.site-checkout-card-actions.site-card__footer {
    margin-top: 0;
}

.match-detail-panel__body {
    padding: 1.5rem;
}

@media (min-width: 640px) {
    .match-detail-panel__body {
        padding: 2rem;
    }
}

.matches-next-match__header {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}

.matches-next-match__body {
    padding: 1.5rem;
}

@media (min-width: 640px) {
    .matches-next-match__header {
        padding: 1rem 2rem;
    }

    .matches-next-match__body {
        padding: 2rem;
    }
}

@media (min-width: 768px) {
    .matches-next-match__body {
        padding: 3rem;
    }
}

.matches-tabs {
    align-items: center;
    justify-content: center;
}

.site-nav-panel {
    border: 1px solid rgba(229, 231, 235, 0.8);
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(15, 23, 80, 0.06);
}

.site-nav-list {
    display: flex;
    flex-direction: column;
}

.site-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
    transition: background-color 150ms ease, color 150ms ease;
}

.site-nav-link:hover,
.site-nav-link:focus-visible {
    background: #edf1ff;
    color: #1a2e7d;
}

.site-nav-index {
    flex: 0 0 auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.site-section-heading {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.site-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    min-height: 2.75rem;
    min-width: max-content;
    flex: 0 0 auto;
    padding: 0.625rem 1rem;
    border: 1px solid #e5e7eb;
    border-radius: var(--ui-radius-control);
    background: #f9fafb;
    color: #374151;
    font-size: 0.75rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

.site-tab:hover {
    border-color: #d1d5db;
    background: #f3f4f6;
    color: var(--site-color-brand-primary);
}

.site-tab:focus-visible {
    outline: 2px solid var(--site-color-brand-secondary);
    outline-offset: 2px;
}

.site-tab.is-active {
    border-color: var(--site-color-brand-primary);
    background: var(--site-color-brand-primary);
    color: var(--site-color-surface);
    box-shadow: 0 4px 12px rgba(33, 46, 125, 0.16);
}

.site-tab.is-active:hover {
    border-color: var(--site-color-brand-primary-hover);
    background: var(--site-color-brand-primary-hover);
    color: var(--site-color-surface);
}

.site-tab__count {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding-inline: 0.375rem;
    border-radius: 0.375rem;
    background: #e5e7eb;
    color: #374151;
    font-size: 0.5625rem;
    letter-spacing: 0;
    line-height: 1;
    transition: background-color 150ms ease, color 150ms ease;
}

.site-tab.is-active .site-tab__count {
    background: rgba(255, 255, 255, 0.2);
    color: var(--site-color-surface);
}

.site-tab--compact {
    min-height: 2rem;
    padding: 0.375rem 0.75rem;
    border-radius: var(--ui-radius-control-compact);
    font-size: 0.75rem;
    letter-spacing: 0;
}

.site-shell {
    width: 100%;
    margin-inline: auto;
}

.site-shell--form { max-width: 32rem; }
.site-shell--notice { max-width: 36rem; }
.site-shell--reading { max-width: 48rem; }
.site-shell--payment { max-width: 48rem; }
.site-shell--wide { max-width: 64rem; }

.site-checkout-progress {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1.5rem;
    color: #94a0b2;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.site-checkout-progress__item {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.4rem;
    color: inherit;
    white-space: nowrap;
}
.site-checkout-progress__item.is-complete { text-decoration: none; }
.site-checkout-progress__item > span {
    display: inline-flex;
    width: 1.6rem;
    height: 1.6rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.6rem;
    border: 1px solid #d8deea;
    border-radius: 999px;
    background: #ffffff;
    color: #7c879a;
    font-size: 0.7rem;
}
.site-checkout-progress__item.is-active,
.site-checkout-progress__item.is-complete { color: #212e7d; }
.site-checkout-progress__item.is-active > span,
.site-checkout-progress__item.is-complete > span { border-color: #212e7d; background: #212e7d; color: #ffffff; }
.site-checkout-progress__line { height: 1px; min-width: 1.25rem; flex: 1 1 auto; background: #dfe4ed; }
.site-checkout-progress__line.is-active { background: #212e7d; }
.site-checkout-heading { display: flex; align-items: center; gap: 0.9rem; margin-bottom: 1.5rem; }
.site-checkout-heading__icon { width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; }
.site-checkout-heading__title { margin: 0.15rem 0 0; color: #111827; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 900; line-height: 1.1; }
.site-checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.site-checkout-layout > * { min-width: 0; }
.site-checkout-aside { display: grid; min-width: 0; gap: 1.5rem; }
.site-checkout-summary { min-width: 0; }
.site-checkout-totals { display: grid; gap: 0.75rem; }
.site-checkout-totals > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; color: #64748b; font-size: 0.9rem; }
.site-checkout-totals dt { min-width: 0; }
.site-checkout-totals dd { margin: 0; color: #334155; font-weight: 700; text-align: right; }
.site-checkout-totals .is-total { margin-top: 0.4rem; border-top: 1px solid #e7ebf2; padding-top: 1rem; color: #111827; font-size: 1.1rem; }
.site-checkout-totals .is-total dd { color: #212e7d; font-size: 1.2rem; }
.site-checkout-totals__discount dt,
.site-checkout-totals__discount dd { color: var(--site-color-brand-secondary); }
.site-checkout-card-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; margin-top: 1.5rem; border-top: 1px solid #e7ebf2; padding-top: 1.25rem; }
.site-checkout-trust { display: flex; align-items: flex-start; gap: 0.65rem; border-radius: 0.9rem; background: #f3f6ff; padding: 0.8rem 0.9rem; color: #526783; font-size: 0.8rem; line-height: 1.45; }
.site-checkout-trust i { flex: 0 0 auto; margin-top: 0.1rem; color: #212e7d; }
.site-checkout-form .site-input,
.site-checkout-form .site-textarea,
.site-form .site-input,
.site-form .site-textarea { width: 100%; }
.site-checkout-form [data-checkout-field-error="true"] {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}
.site-form [data-site-field-error="true"] {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

@media (min-width: 1024px) {
    .site-checkout-layout { grid-template-columns: minmax(0, 1fr) minmax(19rem, 24rem); }
    .site-checkout-aside { position: sticky; top: 6rem; align-self: start; }
}

@media (max-width: 639px) {
    .site-checkout-progress {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0.75rem, 1.25rem) minmax(0, 1fr) minmax(0.75rem, 1.25rem) minmax(0, 1fr);
        align-items: start;
        gap: 0.35rem;
        font-size: 0.62rem;
    }
    .site-checkout-progress__item {
        min-width: 0;
        flex-direction: column;
        gap: 0.3rem;
        text-align: center;
        white-space: normal;
        line-height: 1.2;
    }
    .site-checkout-progress__line {
        width: 100%;
        min-width: 0;
        margin-top: 0.8rem;
    }
    .site-checkout-progress__item > span { width: 1.5rem; height: 1.5rem; flex-basis: 1.5rem; }
    .site-checkout-card-actions { align-items: stretch; }
    .site-checkout-card-actions > *,
    .site-checkout-card-actions .flex { width: 100%; }
    .site-checkout-card-actions .site-button { width: 100%; }

    .site-checkout-card-actions--centered-mobile {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
    }

    .site-checkout-card-actions--centered-mobile > * {
        width: 100%;
    }

    .site-checkout-card-actions--centered-mobile .site-button--full-mobile {
        width: 100%;
        justify-content: center;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .site-checkout-card-actions--centered-mobile .site-checkout-card-actions__payment-button {
        order: 1;
    }

    .site-checkout-card-actions--centered-mobile .site-checkout-card-actions__return-button {
        order: 2;
    }

    .site-coupon-form__apply {
        align-self: stretch;
        width: 100%;
        justify-content: center;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .site-checkout-card-actions--stacked-mobile {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
    }

    .site-checkout-card-actions--stacked-mobile > .site-checkout-card-actions__continue,
    .site-checkout-card-actions--stacked-mobile > .site-checkout-card-actions__group {
        display: contents;
    }

    .site-checkout-card-actions--stacked-mobile .site-button--full-mobile {
        width: 100%;
        justify-content: center;
        margin-left: 0;
        margin-right: 0;
    }

    .site-checkout-card-actions--stacked-mobile .site-checkout-card-actions__payment-button {
        order: 1;
    }

    .site-checkout-card-actions--stacked-mobile .site-checkout-card-actions__update-button {
        order: 2;
    }

    .site-checkout-card-actions--stacked-mobile .site-checkout-card-actions__continue-button {
        order: 3;
    }
}

.site-card--compact { border-radius: 0.875rem; }
.site-card--large { border-radius: var(--ui-radius-surface-large); }
.site-card--emphasis { border: 2px solid rgba(33, 46, 125, 0.1); }
.site-card--interactive { transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease; }
.site-card--interactive:hover { transform: translateY(-0.25rem); box-shadow: none; }
.home-standings-table { width: 100%; table-layout: fixed; }
.home-standings-table__rank-column { width: 7%; }
.home-standings-table__team-column { width: 45%; }
.home-standings-table__stat-column { width: 8%; }
@media (max-width: 639px) {
    .home-standings-table { min-width: 40rem; }
}
.sponsor-card {
    position: relative;
    display: flex;
    width: 18rem;
    max-width: none;
    flex: 0 0 18rem;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: var(--ui-radius-surface);
    background: #ffffff;
    box-shadow: 0 0.5rem 1.5rem rgba(15,23,42,0.1);
    color: #172554;
    text-decoration: none;
    transition: transform 250ms ease, box-shadow 250ms ease, border-color 250ms ease;
}
.sponsor-card__overlay-link { position: absolute; z-index: 1; inset: 0; border-radius: inherit; }
.sponsor-card__overlay-link:focus-visible { outline: 3px solid #212E7D; outline-offset: -5px; }
.sponsor-card:hover { transform: translateY(-0.2rem); border-color: #cbd5e1; box-shadow: 0 0.75rem 1.75rem rgba(15,23,42,0.14); }
.sponsor-card:focus-visible { outline: 3px solid #212E7D; outline-offset: 3px; }
.sponsor-card__media { position: relative; display: grid; height: 9rem; place-items: center; overflow: hidden; padding: 1.25rem; background: #ffffff; }
.sponsor-card__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sponsor-card__body { display: flex; min-height: 0; flex-direction: column; align-items: center; padding: 0.25rem 1rem 1rem; text-align: center; }
.sponsor-card__content { display: flex; width: 100%; min-width: 0; flex-direction: column; align-items: center; }
.sponsor-card__actions { position: relative; z-index: 2; width: 100%; margin-top: auto; }
.sponsor-card--no-media { min-height: 9rem; justify-content: center; }
.sponsor-card--no-media .sponsor-card__body { padding-top: 1rem; }
.sponsor-card__badge { margin-top: 0.35rem; border-radius: var(--ui-radius-control-compact); background: #f1f5f9; padding: 0.25rem 0.55rem; color: #475569; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.sponsor-card__name { color: #172554; font-size: 0.9rem; font-weight: 800; line-height: 1.25; }
.sponsor-card__description { margin-top: 0.35rem; color: #64748b; font-size: 0.75rem; line-height: 1.45; }
.sponsor-card__social-actions { display: grid; width: 100%; grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem; align-items: center; gap: 0.5rem; margin-top: auto; padding-top: 1.25rem; }
.sponsor-card__social-side { display: flex; min-width: 0; align-items: center; gap: 0.35rem; }
.sponsor-card__social-side--left { justify-content: flex-start; }
.sponsor-card__social-side--right { flex-direction: column; justify-content: center; }
.sponsor-card__social-center { display: flex; min-width: 0; justify-content: center; }
.sponsor-card__social-actions--footer { display: flex; grid-template-columns: none; justify-content: center; gap: 0.5rem; }
.sponsor-card__website-row { display: flex; min-height: 2.5rem; align-items: center; justify-content: center; margin-top: auto; padding-top: 1.25rem; }
.sponsor-card__social-actions, .sponsor-card__website-row, .sponsor-card__detail-action { position: relative; z-index: 2; }
.sponsor-card__detail-action { margin-top: 0.55rem; }
.sponsor-card__details-button { display: inline-flex; min-height: 2.25rem; align-items: center; justify-content: center; gap: 0.45rem; border: 1px solid #e2e8f0; border-radius: var(--ui-radius-control); padding: 0.4rem 0.7rem; color: #334155; background: #ffffff; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease; }
.sponsor-card__details-button:hover, .sponsor-card__details-button:focus-visible { border-color: #212E7D; color: #212E7D; background: #f8fafc; outline: 3px solid rgba(33,46,125,0.2); outline-offset: 2px; }
.sponsor-detail-dialog { width: min(36rem, calc(100vw - 2rem)); max-height: min(42rem, calc(100dvh - 2rem)); margin: auto; overflow: auto; border: 0; border-radius: 1.25rem; padding: 0; color: #172554; background: #ffffff; box-shadow: 0 1.5rem 4rem rgba(0,0,0,0.36); }
.sponsor-detail-dialog::backdrop { background: rgba(3,10,32,0.72); backdrop-filter: blur(3px); }
.sponsor-detail-dialog__surface { width: 100%; max-width: 100%; box-sizing: border-box; }
.sponsor-detail-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #e5e7eb; padding: 1.25rem 1.25rem 1rem; }
.sponsor-detail-dialog__title { min-width: 0; margin: 0; color: #081742; font-size: 1.15rem; font-weight: 900; line-height: 1.25; overflow-wrap: anywhere; }
.sponsor-detail-dialog__close { flex: 0 0 auto; color: #081742; }
.sponsor-detail-dialog__content { padding: 1.25rem; }
.sponsor-detail-dialog__description { margin: 0; color: #475569; font-size: 0.9rem; line-height: 1.65; overflow-wrap: anywhere; }
.sponsor-detail-dialog__contacts { display: grid; gap: 0.75rem; margin: 1.25rem 0 0; }
.sponsor-detail-dialog__contacts div { min-width: 0; border-radius: 0.75rem; padding: 0.8rem 0.9rem; background: #f8fafc; }
.sponsor-detail-dialog__contacts dt { color: #64748b; font-size: 0.65rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.sponsor-detail-dialog__contacts dd { margin: 0.3rem 0 0; color: #172554; font-size: 0.875rem; font-weight: 700; overflow-wrap: anywhere; }
.sponsor-detail-dialog__contacts a { color: #1748e8; text-decoration: underline; text-underline-offset: 0.15em; }
.sponsor-card__website { display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; border: 1px solid #e2e8f0; border-radius: var(--ui-radius-control); background: #ffffff; padding: 0.45rem 0.65rem; color: #334155; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease; }
.sponsor-card__social-link { display: inline-flex; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center; flex: 0 0 2.25rem; border: 1px solid #e2e8f0; border-radius: 999px; background: #ffffff; color: #475569; font-size: 0.9rem; transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease; }
.sponsor-card__website:hover, .sponsor-card__website:focus-visible, .sponsor-card__social-link:hover, .sponsor-card__social-link:focus-visible { background: #f8fafc; border-color: #212E7D; color: #212E7D; }
.sponsor-card__website:focus-visible, .sponsor-card__social-link:focus-visible { outline: 3px solid rgba(33,46,125,0.2); outline-offset: 2px; }
.settings-background-group--sponsor-carousel .sponsor-carousel-field {
    display: flex;
    min-width: 0;
    min-height: 5.5rem;
    align-items: stretch;
    padding: 1rem;
    border: 1px solid #f3f4f6;
    border-radius: 1rem;
    background: rgba(249,250,251,0.68);
}
.settings-background-group--sponsor-carousel .sponsor-carousel-field > .mb-6 {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 0;
    margin: 0;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
}
.settings-background-group--sponsor-carousel .sponsor-carousel-field > .mb-6:has(input[type="checkbox"]) {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.settings-background-group--sponsor-carousel .sponsor-carousel-field > .mb-6 > input {
    align-self: stretch;
}
.sponsors-section__viewport { position: relative; min-width: 0; touch-action: pan-y; }
.sponsors-section__track {
    display: flex;
    min-width: 0;
    align-items: stretch;
    gap: 1.5rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 0.25rem 0.25rem 1rem;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-color: rgba(255,255,255,0.56) transparent;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}
.sponsors-section__track:focus-visible { outline: 3px solid rgba(255,255,255,0.78); outline-offset: 4px; }
.sponsors-section__track::-webkit-scrollbar { height: 0.6rem; }
.sponsors-section__track::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: rgba(255,255,255,0.56); background-clip: padding-box; }
.sponsor-card { scroll-snap-align: start; }
.sponsors-section__track--static {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
    scroll-snap-type: none;
}
.sponsors-section__viewport.has-scroll-indicators {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
    align-items: center;
    column-gap: 0.5rem;
}
.sponsors-section__viewport.has-scroll-indicators > .sponsors-section__track { grid-column: 2; }
.sponsors-section__viewport.has-scroll-indicators > [data-scroll-left] { grid-column: 1; grid-row: 1; }
.sponsors-section__viewport.has-scroll-indicators > [data-scroll-right] { grid-column: 3; grid-row: 1; }
.sponsors-section__viewport > .sponsors-section__arrow {
    display: flex;
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    border: 1px solid rgba(255,255,255,0.24);
    border-radius: 999px;
    background: rgba(15,43,120,0.9);
    color: #ffffff;
    box-shadow: 0 0.75rem 1.5rem rgba(15,23,80,0.22);
}
.sponsors-section__viewport > .sponsors-section__arrow:hover,
.sponsors-section__viewport > .sponsors-section__arrow:focus-visible { background: var(--site-color-brand-secondary); color: #ffffff; transform: scale(1.06); }
.site-card--empty { border-style: dashed; text-align: center; }

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

.site-stat {
    min-width: 0;
}

.site-stat--light { background: #ffffff; color: #111827; }
.site-stat--dark { background: rgba(255, 255, 255, 0.1); color: #ffffff; }

.site-hero {
    position: relative;
    overflow: hidden;
}

.site-hero__container,
.site-hero__content,
.site-hero__actions,
.site-hero__stats {
    min-width: 0;
}

.site-hero--gradient { background: linear-gradient(135deg, #1a2e7d, #071133 70%, #d9261c); }
.site-hero--compact { background: #212e7d; }
.site-hero--navy { background: #212e7d; }

.site-page-header__accent {
    width: 5rem;
    height: 0.5rem;
    margin-top: 0.5rem;
    background: #ffffff;
}

.homepage-hero__media { z-index: 0; }
.homepage-hero__transition-duration--fast { transition-duration: 300ms; }
.homepage-hero__transition-duration--normal { transition-duration: 600ms; }
.homepage-hero__transition-duration--slow { transition-duration: 1000ms; }
.homepage-hero__transition-duration--very-slow { transition-duration: 1500ms; }
.homepage-hero__slide-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: var(--hero-overlay-opacity, 0.5);
}
.homepage-hero__slide-overlay--solid {
    background: var(--hero-overlay-color, #212E7D);
}
.homepage-hero__slide-overlay--left_gradient {
    background: linear-gradient(90deg, var(--hero-overlay-color, #212E7D) 0%, var(--hero-overlay-color, #212E7D) 34%, transparent 100%);
}
.homepage-hero__slide-overlay--bottom_vignette {
    background: linear-gradient(0deg, var(--hero-overlay-color, #212E7D) 0%, transparent 68%);
}
.homepage-hero__slide-overlay--brand_gradient {
    background: linear-gradient(var(--hero-overlay-angle, 120deg), var(--hero-overlay-color, #212E7D) 0%, var(--hero-overlay-secondary-color, #D9261C) 100%);
}

.home-news-display.is-carousel {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .9fr);
    gap: 1.25rem;
    align-items: start;
}
.home-news-display.is-carousel .home-news-carousel-shell,
.home-news-display.is-carousel .home-news-articles {
    min-width: 0;
}
.home-news-display.is-carousel .home-news-articles {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}
.home-news-related {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(33,46,125,.1);
    background: #fff;
    box-shadow: 0 .8rem 2rem rgba(15,23,80,.08);
}
.home-news-related__header { padding: 1rem 1.15rem .8rem; border-bottom: 1px solid #eef0f6; }
.home-news-related__title { color: #212e7d; font-size: .75rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.home-news-related__list { display: grid; }
.home-news-related__item { display: grid; grid-template-columns: 5.5rem minmax(0,1fr); gap: .85rem; min-width: 0; padding: .9rem 1.15rem; color: #172554; transition: background-color .2s ease; }
.home-news-related__item + .home-news-related__item { border-top: 1px solid #eef0f6; }
.home-news-related__item:hover, .home-news-related__item:focus-visible { background: #f8f9fd; }
.home-news-related__item:focus-visible { outline: 3px solid rgba(33,46,125,.25); outline-offset: -3px; }
.home-news-related__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--ui-radius-control-compact); background: #e5e7eb; }
.home-news-related__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.home-news-related__item:hover .home-news-related__media img, .home-news-related__item:focus-visible .home-news-related__media img { transform: scale(1.04); }
.home-news-related__body { display: grid; min-width: 0; align-content: center; gap: .25rem; }
.home-news-related__category { color: #d9261c; font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.home-news-related__item-title { display: -webkit-box; overflow: hidden; color: #172554; font-size: .95rem; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-news-related__date { display: inline-flex; align-items: center; gap: .35rem; color: #64748b; font-size: .68rem; font-weight: 700; }
.home-news-carousel-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: hidden;
    border-radius: var(--ui-radius-surface-large);
    box-shadow: 0 1.25rem 2.5rem rgba(15, 23, 80, .16);
}
.home-news-carousel {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    background: #111827;
}
.home-news-carousel__slide {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    color: #fff;
    isolation: isolate;
}
.home-news-carousel__slide::after {
    position: absolute;
    inset: 35% 0 0;
    z-index: 1;
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .86));
    content: '';
}
.home-news-carousel__image { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.home-news-carousel__slide:hover .home-news-carousel__image,
.home-news-carousel__slide:focus-visible .home-news-carousel__image { transform: scale(1.03); }
.home-news-carousel__caption { position: absolute; right: 4rem; bottom: 2.75rem; left: 4rem; z-index: 2; display: grid; gap: .45rem; }
.home-news-carousel__category { color: #fca5a5; font-size: .7rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.home-news-carousel__title { max-width: 48rem; font-size: clamp(1.05rem, 2.4vw, 1.8rem); line-height: 1.18; }
.home-news-carousel__meta { display: inline-flex; align-items: center; gap: .4rem; color: rgba(255,255,255,.78); font-size: .75rem; font-weight: 700; }
.home-news-carousel__control { position: absolute; top: 50%; z-index: 3; display: grid; width: 2.75rem; height: 3.25rem; place-items: center; transform: translateY(-50%); border: 0; background: rgba(0,0,0,.52); color: #fff; cursor: pointer; transition: background .2s ease; }
.home-news-carousel__control:hover, .home-news-carousel__control:focus-visible { background: #d9261c; }
.home-news-carousel__control--previous { left: 0; }
.home-news-carousel__control--next { right: 0; }
.home-news-carousel__pagination { display: flex; min-height: 2.75rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem 1rem; border-top: 1px solid rgba(33,46,125,.12); background: #fff; }
.home-news-carousel__counter { display: inline-flex; align-items: baseline; gap: .3rem; color: rgba(33,46,125,.55); font-size: .75rem; font-weight: 800; letter-spacing: .08em; white-space: nowrap; }
.home-news-carousel__counter strong { color: #d9261c; font-size: .9rem; }
.home-news-carousel__dots { display: flex; align-items: center; justify-content: flex-end; gap: .3rem; }
.home-news-carousel__dot { display: inline-grid; width: 2rem; height: 1.7rem; place-items: center; padding: 0; border: 0; border-radius: var(--ui-radius-control-compact); background: transparent; color: rgba(33,46,125,.5); font-size: .68rem; font-weight: 900; cursor: pointer; }
.home-news-carousel__dot.is-active, .home-news-carousel__dot:hover, .home-news-carousel__dot:focus-visible { background: #d9261c; }
.home-news-carousel__dot.is-active, .home-news-carousel__dot:hover, .home-news-carousel__dot:focus-visible { color: #fff; }
.home-news-carousel__slide:focus-visible, .home-news-carousel__control:focus-visible, .home-news-carousel__dot:focus-visible { outline: 3px solid rgba(33,46,125,.35); outline-offset: 3px; }

@media (max-width: 1023px) {
    .home-news-display.is-carousel { display: block; }
    .home-news-display.is-carousel .home-news-carousel-shell { margin-bottom: 1.25rem; }
    .home-news-display.is-carousel .home-news-articles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 639px) {
    .home-news-display.is-carousel .home-news-articles { grid-template-columns: minmax(0, 1fr); }
    .home-news-carousel-shell { border-radius: var(--ui-radius-surface); }
    .home-news-carousel__slide { aspect-ratio: 4 / 3; }
    .home-news-carousel__caption { right: 3.25rem; bottom: 2.5rem; left: 3.25rem; }
    .home-news-carousel__control { width: 2.25rem; height: 2.75rem; }
    .home-news-carousel__pagination { gap: .65rem; padding-inline: .75rem; }
    .home-news-carousel__dots { gap: .2rem; }
    .home-news-carousel__dot { width: 1.75rem; }
}

@media (prefers-reduced-motion: reduce) {
    .home-news-carousel__image { transition: none; }
}

.site-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.site-tabs--scroll {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
}

.site-scroll-indicator-region,
.site-tabs--scroll-indicator {
    position: relative;
    min-width: 0;
}

@media (max-width: 767px) {
    .site-scroll-indicator-region.has-scroll-indicators {
        display: grid;
        grid-template-columns: 1.75rem minmax(0, 1fr) 1.75rem;
        align-items: center;
        column-gap: 0.35rem;
        width: 100%;
        max-width: 100%;
    }

    .site-scroll-indicator-region.has-scroll-indicators > [data-scroll-container] {
        grid-column: 2;
        min-width: 0;
        width: 100%;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .site-scroll-indicator-region.has-scroll-indicators > [data-scroll-right],
    .site-scroll-indicator-region.has-scroll-indicators > [data-scroll-left] {
        position: relative !important;
        z-index: 10;
        grid-row: 1;
        width: 1.75rem;
        height: 100%;
        min-height: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        top: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        right: auto !important;
    }

    .site-scroll-indicator-region.has-scroll-indicators > [data-scroll-right] {
        grid-column: 3;
    }

    .site-scroll-indicator-region.has-scroll-indicators > [data-scroll-left] {
        grid-column: 1;
    }

    .sponsors-section__viewport.has-scroll-indicators {
        grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
        column-gap: 0.5rem;
    }

    .sponsors-section__viewport.has-scroll-indicators > .sponsors-section__arrow {
        width: 2.75rem !important;
        height: 2.75rem;
        min-width: 2.75rem !important;
        min-height: 2.75rem;
    }
}

.site-scroll-indicator {
    position: relative;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    min-width: 1.5rem;
    min-height: 1.5rem;
    color: #212e7d;
    background: transparent;
    border: none;
    box-shadow: none;
    cursor: pointer;
    pointer-events: auto;
    flex-shrink: 0;
    margin-block: auto;
}

[data-scroll-container] {
    overscroll-behavior-x: contain;
}

.site-scroll-indicator i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    font-size: 0.7rem;
}

.site-scroll-indicator--left {
    right: auto;
    left: 0;
}

@media (min-width: 768px) {
    .site-scroll-indicator-region > .site-scroll-indicator,
    .site-tabs--scroll-indicator > .site-scroll-indicator {
        display: none !important;
    }

    .sponsors-section__viewport.has-scroll-indicators > .sponsors-section__arrow {
        display: flex !important;
    }
}

.site-toolbar,
.site-filter-bar {
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
    border: 1px solid #f3f4f6;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(15, 23, 80, 0.06);
}

.site-filter-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.site-search {
    position: relative;
    min-width: 0;
}

.site-toolbar__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(11rem, 27%);
    align-items: stretch;
    gap: 0.75rem;
}

.site-toolbar__search-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 0.75rem;
    min-width: 0;
}

.site-toolbar__search-actions .site-search {
    min-width: 0;
}

.site-toolbar__search-actions .site-button {
    white-space: nowrap;
}

.site-toolbar__search,
.site-toolbar__sort,
.site-sort { min-width: 0; position: relative; }

.site-toolbar__input,
.site-sort__select {
    width: 100%;
    height: 2.875rem;
    min-height: 2.875rem;
    box-sizing: border-box;
}

.site-toolbar__input { padding: 0.6875rem 0.875rem 0.6875rem 2.625rem; }

.site-search__icon,
.site-sort__icon,
.site-sort__chevron {
    position: absolute;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    transform: translateY(-50%);
}

.site-search__icon { left: 0.875rem; color: #64748b; }
.site-sort__icon { left: 0.875rem; z-index: 2; color: var(--site-color-brand-primary); }
.site-sort .site-sort__select {
    appearance: none;
    background-image: none;
    padding: 0.6875rem 2.5rem;
    cursor: pointer;
}

.site-dropdown {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
}

.site-dropdown > select {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    clip-path: inset(50%);
}

.site-dropdown__trigger {
    display: flex;
    width: 100%;
    height: 2.875rem;
    min-height: 2.875rem;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: var(--ui-radius-control);
    padding: 0.6875rem 0.875rem;
    background: #ffffff;
    color: #111827;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .site-input:hover,
    .site-textarea:hover,
    .site-select:hover,
    .site-dropdown__trigger:hover {
        border-color: #94a3b8;
        background-color: #fcfdff;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    }
}

.site-dropdown.is-open .site-dropdown__trigger,
.site-dropdown__trigger:focus-visible {
    border-color: var(--site-color-brand-primary);
    background: #f8faff;
    box-shadow: 0 0 0 3px rgba(33, 46, 125, 0.12);
    outline: none;
}

.site-dropdown__trigger:disabled { cursor: not-allowed; opacity: 0.55; }
.site-dropdown__value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-dropdown__chevron { flex: 0 0 auto; color: var(--site-color-brand-primary); transition: transform 180ms ease; }
.site-dropdown.is-open .site-dropdown__chevron { transform: rotate(180deg); }

.site-dropdown__menu {
    position: absolute;
    z-index: 70;
    top: calc(100% + 0.35rem);
    right: 0;
    left: 0;
    display: grid;
    max-height: min(18rem, 50vh);
    overflow-y: auto;
    gap: 0.2rem;
    border: 1px solid #dbe3f0;
    border-radius: var(--ui-radius-control);
    padding: 0.35rem;
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.16);
}

.site-dropdown__menu[hidden] { display: none !important; }

.site-dropdown__option {
    display: flex;
    width: 100%;
    min-height: 2.5rem;
    align-items: center;
    border: 0;
    border-radius: 0.5rem;
    padding: 0.625rem 0.75rem;
    background: transparent;
    color: #334155;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.site-dropdown__option:hover,
.site-dropdown__option:focus-visible {
    background: #eef2ff;
    color: var(--site-color-brand-primary);
    outline: none;
}

.site-dropdown__option.is-selected {
    background: var(--site-color-brand-primary);
    color: #ffffff;
}

.site-dropdown__option.is-selected:hover,
.site-dropdown__option.is-selected:focus-visible {
    background: var(--site-color-brand-primary-hover);
    color: #ffffff;
}

.site-dropdown__option:disabled { cursor: not-allowed; opacity: 0.5; }

.site-sort .site-dropdown__trigger { padding-left: 2.5rem; }

@media (max-width: 767px) {
    .site-toolbar__controls { grid-template-columns: minmax(0, 1fr); }
}

.site-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 2.75rem;
    border: 1px solid transparent;
    border-radius: var(--ui-radius-control);
    padding: 0.75rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    transition: transform 200ms ease, background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease, color 200ms ease;
}

.site-button:hover { transform: translateY(-0.125rem); }
.site-button:focus-visible,
.site-icon-button:focus-visible { outline: 2px solid var(--site-color-brand-secondary); outline-offset: 2px; }
.site-button--primary { background: var(--site-color-brand-primary); color: var(--site-color-surface); box-shadow: 0 8px 18px rgba(15, 23, 80, 0.16); }
.site-button--primary:hover { background: var(--site-color-brand-primary-hover); }

/* Special AI actions use a lively gradient to distinguish automated tools from standard admin actions. */
.admin-action--special {
    background: linear-gradient(120deg, #5b21b6 0%, #7c3aed 35%, #c026d3 68%, #ec4899 100%);
    background-size: 220% 220%;
    animation: admin-ai-gradient 5s ease infinite;
    box-shadow: 0 10px 22px rgba(124, 58, 237, 0.28);
}

.admin-action--special:hover {
    animation-duration: 2.5s;
    box-shadow: 0 12px 26px rgba(124, 58, 237, 0.4);
    transform: translateY(-1px);
}

.admin-action--special:focus-visible {
    outline: 3px solid rgba(192, 132, 252, 0.65);
    outline-offset: 3px;
}

.admin-action--special:disabled {
    animation-play-state: paused;
}

@keyframes admin-ai-gradient {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

@media (prefers-reduced-motion: reduce) {
    .admin-action--special,
    .admin-action--special:hover {
        animation: none;
        transform: none;
    }
}
.site-button--secondary { border-color: var(--site-color-brand-secondary); background: var(--site-color-surface); color: var(--site-color-brand-secondary); }
.site-button--secondary:hover { background: var(--site-color-brand-secondary); color: var(--site-color-surface); }
.site-button--light { background: var(--site-color-surface); color: var(--site-color-brand-primary); box-shadow: 0 8px 18px rgba(15, 23, 80, 0.16); }
.site-button--light:hover { background: var(--site-color-brand-light); }
.site-button--danger { background: var(--site-color-danger); color: var(--site-color-surface); box-shadow: 0 8px 18px rgba(217, 38, 28, 0.18); }
.site-button--danger:hover { background: var(--site-color-brand-secondary-hover); }
.site-button--compact { min-height: 2.25rem; padding: 0.5rem 0.875rem; font-size: 0.75rem; }
.site-button--block { width: 100%; }

.site-product-detail__quantity {
    min-height: 3.5rem;
    height: 3.5rem;
}

.site-product-detail__actions > .site-button {
    min-height: 2.75rem;
}

.site-product-detail__quantity {
    width: max-content !important;
    justify-self: center;
}

@media (min-width: 640px) {
    .site-product-detail__actions {
        grid-template-columns: 10rem minmax(0, 1fr);
    }
}

.site-product-detail__actions > .site-button--secondary.site-button--compact {
    min-height: 2.75rem;
    height: 2.75rem;
}

.homepage-hero .site-button > svg { color: inherit; }
.site-button--secondary.site-button--compact > svg { color: inherit; }

.site-cart-count {
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    flex: 0 0 1.5rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 9999px;
    text-align: center;
}

/* Cart drawer: keep media, details, and actions independent and vertically centered. */
.site-cart-panel {
    border-left: 1px solid #eef1f5;
    background: #ffffff;
    color: #111827;
}

.site-cart-panel > .site-background-effect {
    display: none;
}

.site-cart-header {
    border-bottom: 1px solid #e7ebf2;
    padding-bottom: 1.25rem;
}

.site-cart-title {
    font-size: clamp(1.5rem, 4vw, 2rem);
    line-height: 1;
    color: var(--site-color-brand-primary);
}

.site-cart-close {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1rem;
    border: 1px solid #dfe4ed;
    background: #f3f4f6 !important;
    color: #6b7280 !important;
}

.site-cart-close:hover,
.site-cart-close:focus-visible {
    background: var(--site-color-brand-secondary) !important;
    color: #ffffff !important;
}

.site-cart-items {
    margin-top: 1.25rem;
}

.site-cart-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-cart-item {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 0.75rem;
    row-gap: 0.375rem;
    min-width: 0;
    padding: 0;
}

.site-cart-list {
    gap: 0.75rem;
}

.site-cart-item__media {
    align-self: center;
    grid-row: 1 / -1;
    border-radius: 1rem;
    border-color: #eef1f5 !important;
    background: rgba(255, 255, 255, 0.96) !important;
}

.site-cart-item__content {
    display: contents;
    min-width: 0;
}

.site-cart-item__title {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    margin: 0;
}

.site-cart-item__title a {
    color: var(--site-color-brand-primary);
}

.site-cart-item__title a:hover,
.site-cart-item__title a:focus-visible {
    color: var(--site-color-brand-secondary);
}

.site-cart-item__quantity {
    grid-column: 2;
    grid-row: 2;
    width: max-content;
    max-width: 100%;
    justify-self: start;
    flex: 0 0 auto;
    border-radius: var(--ui-radius-control);
    background: #f3f4f6 !important;
}

.site-cart-quantity-button {
    width: 2.25rem !important;
    min-width: 2.25rem !important;
    height: 2.25rem !important;
    min-height: 2.25rem !important;
}

.site-cart-item__quantity-value {
    min-width: 2rem;
    text-align: center;
    color: var(--site-color-brand-primary) !important;
}

.site-cart-item__actions {
    display: contents;
}

.site-cart-item__price {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    line-height: 1.1;
    white-space: nowrap;
    color: var(--site-color-brand-secondary) !important;
}

.site-cart-item__remove {
    grid-column: 3;
    grid-row: 2;
    width: 2.25rem;
    min-width: 2.25rem;
    height: 2.25rem;
    min-height: 2.25rem;
    justify-self: end;
}

.site-cart-footer {
    border-top-color: #e7ebf2;
    background: #ffffff;
    box-shadow: 0 -8px 20px rgba(15, 23, 80, 0.06);
}

.site-cart-total p {
    margin: 0;
}

.site-cart-total p:last-child {
    color: var(--site-color-brand-secondary);
    font-size: clamp(1.65rem, 5vw, 2rem);
    line-height: 1;
}

.site-cart-total p:first-child {
    color: #6b7280;
}

.site-cart-shipping {
    margin-bottom: 1.25rem;
    color: #6b7280;
}

.site-cart-footer .site-button {
    min-height: 3.25rem;
    font-size: 0.8rem;
    letter-spacing: 0.16em;
}

.site-cart-footer .site-button--primary {
    background: var(--site-color-brand-primary);
    color: #ffffff;
}

.site-cart-footer .site-button--primary:hover,
.site-cart-footer .site-button--primary:focus-visible {
    background: var(--site-color-brand-secondary);
    color: #ffffff;
}

.site-cart-footer .site-button--secondary {
    border-color: var(--site-color-brand-primary);
    color: var(--site-color-brand-primary);
    background: transparent;
}

.site-cart-footer .site-button--secondary:hover,
.site-cart-footer .site-button--secondary:focus-visible {
    border-color: var(--site-color-brand-secondary);
    background: var(--site-color-brand-secondary);
    color: #ffffff;
}

@media (min-width: 640px) {
    .site-cart-item {
        grid-template-columns: 6rem minmax(0, 1fr) auto;
        gap: 1rem;
    }
}

@media (max-width: 380px) {
    .site-cart-item {
        grid-template-columns: 5rem minmax(0, 1fr) auto;
        gap: 0.625rem;
    }

    .site-cart-item__title {
        font-size: 0.9rem;
    }

    .site-cart-item__price {
        font-size: 0.9rem;
    }
}

@media (max-width: 767px) {
    body:has(.site-mobile-sticky-cart.is-visible) .site-back-to-top {
        bottom: 6rem;
    }
}

.site-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    min-height: 2.75rem;
    border-radius: var(--ui-radius-control);
    transition: background-color 200ms ease, color 200ms ease, transform 200ms ease;
}

.site-icon-button:hover { transform: translateY(-0.125rem); }

/* Share actions use equal, left-aligned icon buttons at every viewport size. */
.site-share-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1rem;
    width: 100%;
}

.site-share-actions .site-share-button {
    width: 4rem !important;
    min-width: 4rem;
    max-width: 4rem !important;
    height: 4rem;
    min-height: 4rem;
    margin-inline: 0 !important;
    border-radius: var(--ui-radius-pill);
    padding: 0;
}

.site-share-actions .site-share-button span {
    display: none;
}

.site-share-actions .site-share-button i {
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    line-height: 1;
}

/* Optical normalization keeps glyphs with different native widths visually balanced. */
.site-share-actions .site-share-button .fa-facebook-f { font-size: 1.35rem; }
.site-share-actions .site-share-button .fa-link { font-size: 1.1rem; }

@media (max-width: 639px) {
    .site-share-actions {
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.75rem;
    }

    .site-share-actions .site-share-button {
        width: 2.75rem !important;
        min-width: 2.75rem;
        max-width: 2.75rem !important;
        height: 2.75rem;
        min-height: 2.75rem;
    }

    .site-share-actions .site-share-button i {
        width: 1.1rem;
        height: 1.1rem;
        font-size: 1rem;
    }

    .site-share-actions .site-share-button .fa-facebook-f { font-size: 1.1rem; }
    .site-share-actions .site-share-button .fa-link { font-size: 0.95rem; }
}

.site-form { display: flex; flex-direction: column; gap: 1rem; width: 100%; max-width: 100%; min-width: 0; }
.site-form fieldset { border: 0; padding: 0; margin: 0; width: 100%; max-width: 100%; min-width: 0; }
.site-form .grid { width: 100%; max-width: 100%; min-width: 0; }
.site-form__field { display: flex; flex-direction: column; gap: 0.5rem; width: 100%; max-width: 100%; min-width: 0; }
.site-form input,
.site-form select,
.site-form textarea { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; }
.site-form input[type="date"].site-input {
    display: block;
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: 100% !important;
    min-inline-size: 0;
    -webkit-appearance: none;
    appearance: none;
}
.site-form input[type="date"].site-input::-webkit-date-and-time-value,
.site-form input[type="date"].site-input::-webkit-datetime-edit {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0;
    text-align: start;
}
.site-phone-input-group { display: flex; align-items: stretch; gap: 0; width: 100%; max-width: 100%; min-width: 0; overflow: visible; border: 1px solid #cbd5e1; border-radius: 0.75rem; background: #fff; transition: border-color 180ms ease, box-shadow 180ms ease; }
.site-phone-input-group:focus-within { border-color: #212e7d; box-shadow: 0 0 0 3px rgba(33, 46, 125, 0.12); }
.site-phone-country-picker { position: relative; flex: 0 0 6.5rem; min-width: 0; border-right: 1px solid #e2e8f0; }
.site-phone-country-picker__trigger { display: flex; align-items: center; justify-content: space-between; gap: 0.45rem; width: 100%; height: 100%; min-height: 2.75rem; padding: 0.5rem 0.65rem; border: 0; background: transparent; color: #172554; font: inherit; text-align: left; cursor: pointer; }
.site-phone-country-picker__selection, .site-phone-country-picker__option { display: flex; align-items: center; gap: 0.45rem; min-width: 0; }
.site-phone-country-picker img { width: 1.25rem; height: 0.9rem; flex: 0 0 auto; object-fit: cover; border-radius: 0.1rem; box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.14); }
.site-phone-country-picker__selection > span, .site-phone-country-picker__option > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.75rem; font-weight: 700; }
.site-phone-country-picker small { margin-left: auto; color: #64748b; font-size: 0.7rem; font-weight: 700; }
.site-phone-country-picker__menu { position: absolute; z-index: 30; top: calc(100% + 0.35rem); left: -1px; width: max(13rem, 100%); overflow: hidden; border: 1px solid #cbd5e1; border-radius: 0.65rem; background: #fff; box-shadow: 0 12px 24px rgba(15, 23, 42, 0.16); }
.site-phone-country-picker__option { width: 100%; padding: 0.65rem 0.75rem; border: 0; background: #fff; color: #172554; text-align: left; cursor: pointer; }
.site-phone-country-picker__option:hover, .site-phone-country-picker__option:focus-visible { background: #eff6ff; outline: 0; }
.site-phone-input-group input { flex: 1 1 auto; width: 100%; min-width: 0; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.site-phone-input-group select:focus, .site-phone-input-group input:focus { border-color: transparent !important; outline: 0 !important; box-shadow: none !important; }
@media (max-width: 380px) {
    .site-phone-input-group { gap: 0; }
    .site-phone-country-picker { flex-basis: 5.75rem; }
    .site-phone-country-picker__selection > span { display: none; }
}
.site-form__label { color: #374151; font-size: 0.875rem; font-weight: 700; word-break: break-word; overflow-wrap: break-word; max-width: 100%; }
.site-form__help { color: #6b7280; font-size: 0.75rem; line-height: 1.4; word-break: break-word; overflow-wrap: break-word; max-width: 100%; }
.site-form__actions--contact { justify-content: flex-end !important; }
.site-form__actions--contact > span { display: none; }
.site-form__actions--contact .site-button { margin-inline-start: auto; margin-inline-end: 0; }
@media (max-width: 639px) {
    .site-form__actions--contact { justify-content: flex-end !important; }
    .site-form__actions--contact .site-button {
        align-self: flex-end;
        margin-left: auto !important;
        margin-right: 0 !important;
    }
}
/* Keep homepage social actions centered at every viewport when shared button rules add side margins. */
.home-social-load-more.site-button:not(.site-button--block):not(.site-button--full-mobile):not(.site-button--align-right) {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Keep the management CTA centered on mobile when the shared button rule adds an auto side margin. */
@media (max-width: 639px) {
    .management-contact-copy + .site-button:not(.site-button--block):not(.site-button--full-mobile):not(.site-button--align-right) {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .club-heart-contact-action.site-button:not(.site-button--block):not(.site-button--full-mobile):not(.site-button--align-right) {
        align-self: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
.site-input,
.site-textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
    border: 1px solid #d1d5db;
    border-radius: 0.75rem;
    background: #ffffff;
    padding: 0.75rem;
    color: #111827;
    font-size: 0.875rem;
}

.site-select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
    border: 1px solid #d1d5db;
    border-radius: 0.75rem;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23212E7D' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.125rem;
    padding: 0.75rem 2.75rem 0.75rem 0.875rem;
    color: #111827;
    font-size: 0.875rem;
    font-weight: 600;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.site-input:focus,
.site-textarea:focus,
.site-select:focus { border-color: #212e7d; outline: 2px solid rgba(33, 46, 125, 0.16); outline-offset: 1px; }
.site-search .site-input { padding-left: 2.75rem !important; }
.site-textarea { min-height: 7rem; resize: vertical; }
.site-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; width: 100%; min-width: 0; }
.site-form__action-button { min-width: 5.5rem; justify-content: center; }
.site-form input[type="checkbox"],
.site-form input[type="radio"] { flex-shrink: 0; }

.site-table-wrap {
    overflow-x: auto;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(15, 23, 80, 0.06);
}

.site-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 0.875rem; }
.site-table th { background: #f9fafb; color: #6b7280; font-size: 0.75rem; text-transform: uppercase; }
.site-table th,
.site-table td { padding: 0.75rem 1rem; }
.site-table tbody tr { border-top: 1px solid #f3f4f6; }

.site-media-frame { display: flex; align-items: center; justify-content: center; overflow: hidden; }
.site-media-frame--square { aspect-ratio: 1; }
.site-media-frame--portrait { aspect-ratio: 3 / 4; }
.site-media-frame--avatar { border-radius: 9999px; }
.site-avatar { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; overflow: hidden; aspect-ratio: 1; border: 1px solid rgba(255, 255, 255, 0.45); border-radius: 50%; background: linear-gradient(135deg, var(--site-color-brand-primary), var(--site-color-brand-secondary)); color: #ffffff; font-weight: 900; line-height: 1; }
.site-avatar--sm { width: 2rem; height: 2rem; font-size: 0.7rem; }
.site-avatar--md { width: 3.5rem; height: 3.5rem; font-size: 0.875rem; }
.site-avatar--lg { width: 5rem; height: 5rem; font-size: 1.125rem; }
.site-avatar__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.site-avatar__initials { display: grid; width: 100%; height: 100%; box-sizing: border-box; place-items: center; overflow: hidden; max-width: 100%; padding: 0.125rem; line-height: 1; text-align: center; text-overflow: clip; text-shadow: 0 1px 2px rgba(255, 255, 255, 0.55); white-space: nowrap; }
.site-media-frame--logo img,
.site-media-frame--contain img { width: 100%; height: 100%; object-fit: contain; }
.site-media-frame--cover img { width: 100%; height: 100%; object-fit: cover; }

.site-empty-state { padding: 3rem 1.5rem; color: #6b7280; text-align: center; }
.site-empty-state__icon { margin-inline: auto; margin-bottom: 1rem; }
.site-empty-state__title { color: #212e7d; font-weight: 800; }
.site-empty-state__message { margin-top: 0.5rem; font-size: 0.875rem; }
.site-empty-state__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: 1.25rem; }

.site-pagination-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 2.75rem;
    margin-bottom: 1rem;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.site-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 2rem;
}

.site-pagination__pages {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
}

.site-pagination__link {
    display: inline-flex;
    min-width: 2.75rem;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    padding: 0.625rem 0.75rem;
    color: var(--site-color-brand-primary, #212e7d);
    background: #ffffff;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.site-pagination__link.is-current {
    border-color: var(--site-color-brand-primary, #212e7d);
    color: #ffffff;
    background: var(--site-color-brand-primary, #212e7d);
    box-shadow: 0 4px 12px rgba(33, 46, 125, 0.18);
}

.site-pagination__ellipsis {
    min-width: 1.5rem;
    color: #94a3b8;
    text-align: center;
}

@media (hover: hover) and (pointer: fine) {
    .site-pagination__link:not(.is-current):hover {
        border-color: var(--site-color-brand-primary, #212e7d);
        background: #f8fafc;
    }
}

.site-pagination__link:focus-visible {
    outline: 3px solid rgba(33, 46, 125, 0.24);
    outline-offset: 2px;
}

@media (max-width: 480px) {
    .site-pagination__link--previous,
    .site-pagination__link--next {
        flex: 1 1 8rem;
    }

    .site-pagination__pages {
        order: -1;
        width: 100%;
    }
}

.site-skeleton { overflow: hidden; background: #ffffff; }
.site-skeleton__media,
.site-skeleton__line,
.site-skeleton__action { background: #e5e7eb; border-radius: 0.5rem; }
.site-skeleton__media,
.site-skeleton__line,
.site-skeleton__action { position: relative; overflow: hidden; background: linear-gradient(110deg, #e5e7eb 8%, #f8fafc 18%, #e5e7eb 33%); background-size: 200% 100%; animation: site-shimmer 1.6s linear infinite; }
.site-skeleton__line { height: 1rem; }
.site-skeleton__line--short { width: 50%; }
.site-skeleton__line--medium { width: 75%; }
.site-skeleton__line--long { width: 100%; }
.site-skeleton__action { height: 2.5rem; width: 100%; }

.instagram-embed-shell { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; min-width: 0; }
.instagram-embed-shell > .instagram-media,
.instagram-embed-shell > .instagram-embed-skeleton { grid-area: 1 / 1; width: 100%; min-width: 0; }
.instagram-embed-shell[data-has-skeleton="true"] { min-height: 43rem; }
.instagram-embed-shell[data-has-skeleton="true"][data-state="loading"] > .instagram-media { visibility: hidden; }
.instagram-embed-skeleton { position: relative; z-index: 1; min-height: 0; border: 1px solid #dbdbdb; }
.instagram-embed-skeleton__profile { display: flex; align-items: center; gap: 1rem; min-height: 9.75rem; padding: 1.25rem; }
.instagram-embed-skeleton__avatar { width: 5.5rem; height: 5.5rem; flex: 0 0 5.5rem; border-radius: 50%; }
.instagram-embed-skeleton__profile-lines { display: grid; gap: .75rem; width: min(12rem, 100%); }
.instagram-embed-skeleton__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #dbdbdb; }
.instagram-embed-skeleton__grid .site-skeleton__media { aspect-ratio: 1; border-radius: 0; }
[hidden].instagram-embed-skeleton { display: none !important; }

.matches-next-skeleton__line,
.matches-next-skeleton__logo {
    display: block;
    flex: 0 0 auto;
    overflow: hidden;
    background: linear-gradient(110deg, #d1d5db 8%, #6b7280 18%, #e5e7eb 32%, #9ca3af 48%, #d1d5db 62%);
    background-size: 250% 100%;
    animation: matches-skeleton-shimmer 1.35s linear infinite;
}

.matches-next-skeleton__logo {
    border: 1px solid #9ca3af;
    border-radius: 9999px;
    box-shadow: inset 0 0 0 0.25rem rgba(255, 255, 255, .28), 0 0.25rem 0.75rem rgba(15, 23, 80, .12);
}

.matches-next-skeleton__team-name {
    border-radius: .35rem;
}

.matches-next-skeleton__vs {
    border-radius: .75rem;
}

.matches-next-skeleton__date {
    border-radius: 9999px;
}

.matches-next-skeleton__venue {
    border-radius: 9999px;
}

.matches-next-skeleton__line--header {
    border-radius: .35rem;
}

.home-next-match-skeleton {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    border: 1px solid rgba(15, 23, 80, .1);
}

.home-next-match-skeleton__line,
.home-next-match-skeleton__logo {
    display: block;
    flex: 0 0 auto;
    overflow: hidden;
    background: linear-gradient(110deg, #d1d5db 8%, #6b7280 18%, #f3f4f6 32%, #9ca3af 48%, #d1d5db 62%);
    background-size: 250% 100%;
    animation: matches-skeleton-shimmer 1.35s linear infinite;
}

.home-next-match-skeleton__logo {
    width: 4rem;
    height: 4rem;
    border: 1px solid #9ca3af;
    border-radius: 9999px;
    box-shadow: inset 0 0 0 .35rem rgba(255,255,255,.3), 0 .25rem .75rem rgba(15,23,80,.12);
}

.home-next-match-skeleton__line--eyebrow { width: 6rem; height: .65rem; border-radius: .25rem; }
.home-next-match-skeleton__line--title { width: 9rem; height: 1.5rem; border-radius: .35rem; }
.home-next-match-skeleton__line--date { width: 7rem; height: .7rem; border-radius: .25rem; }
.home-next-match-skeleton__line--team { width: 5.5rem; height: .7rem; border-radius: .25rem; }
.home-next-match-skeleton__line--team-short { width: 3.5rem; height: .55rem; border-radius: .25rem; }
.home-next-match-skeleton__line--vs { width: 3rem; height: 2rem; border-radius: .5rem; }

@media (min-width: 768px) {
    .home-next-match-skeleton { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
}

@media (max-width: 639px) {
    .home-next-match-skeleton__teams { padding: 2rem 1rem; }
    .home-next-match-skeleton__logo { width: 3.75rem; height: 3.75rem; }
}

@media (prefers-reduced-motion: reduce) {
    .home-next-match-skeleton__line,
    .home-next-match-skeleton__logo {
        animation: none;
    }
}

.matches-next-skeleton__competition {
    width: 10rem;
    height: .85rem;
    border-radius: .35rem;
}

@keyframes matches-skeleton-shimmer {
    from { background-position: 100% 0; }
    to { background-position: -150% 0; }
}

@media (max-width: 639px) {
    .matches-next-skeleton > div:nth-child(2) {
        gap: 2rem;
        padding: 2rem 1.25rem;
    }

    .matches-next-skeleton > div:nth-child(2) > div {
        gap: .5rem;
    }

    .matches-next-skeleton > div:nth-child(2) > div > div {
        gap: .25rem;
    }

    .matches-next-skeleton__logo {
        width: clamp(3.5rem, 16vw, 4rem);
        height: clamp(3.5rem, 16vw, 4rem);
    }

    .matches-next-skeleton__team-name {
        width: clamp(3.75rem, 22vw, 5rem);
        max-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .matches-next-skeleton__line,
    .matches-next-skeleton__logo {
        animation: none;
    }
}

.public-news-ticker {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    gap: 0.75rem;
}

.public-news-ticker__label {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.4rem;
    color: #d9261c;
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.public-news-ticker__viewport {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}

.public-news-ticker__track {
    display: flex;
    width: max-content;
    min-width: max-content;
    animation: public-news-ticker-scroll 36s linear infinite;
}

.public-news-ticker__group {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
}

.public-news-ticker__item {
    display: inline-flex;
    align-items: center;
    color: #212e7d;
    font-size: 0.8125rem;
    font-weight: 700;
    white-space: nowrap;
}

.public-news-ticker__item::after {
    margin: 0 1.25rem;
    color: #d9261c;
    content: '•';
}

.public-news-ticker:hover .public-news-ticker__track,
.public-news-ticker:focus-within .public-news-ticker__track {
    animation-play-state: paused;
}

@keyframes public-news-ticker-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .public-news-ticker__track {
        animation: none;
    }
}

@keyframes site-pulse {
    50% { opacity: 0.55; }
}

@keyframes site-shimmer {
    to { background-position: -200% 0; }
}

.match-detail-skeleton {
    min-height: 31rem;
}

.match-detail-skeleton__content {
    min-width: 0;
}

.match-detail-skeleton__meta .site-skeleton__line,
.match-detail-skeleton__teams .site-skeleton__line,
.match-detail-skeleton__teams .site-skeleton__media {
    background: linear-gradient(110deg, rgba(255,255,255,.12) 8%, rgba(255,255,255,.28) 18%, rgba(255,255,255,.12) 33%);
    background-size: 200% 100%;
}

@media (max-width: 639px) {
    .match-detail-skeleton {
        min-height: 35rem;
    }

    .match-detail-skeleton__content {
        padding: 1.25rem !important;
    }

    .match-detail-skeleton__meta {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .7rem .75rem;
    }

    .match-detail-skeleton__meta > div:first-child {
        grid-column: 1 / -1;
    }

    .match-detail-skeleton__meta > div:first-child .match-detail-skeleton__venue {
        width: 8rem;
    }

    .match-detail-skeleton__teams {
        gap: 1.5rem;
    }

    .match-detail-skeleton__logo {
        width: 6rem !important;
        height: 6rem !important;
    }

    .match-detail-skeleton__team-name {
        width: 9rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-skeleton__media,
    .site-skeleton__line,
    .site-skeleton__action {
        animation: none;
    }
}

.is-fethiyespor-standing {
    background-color: rgba(33, 46, 125, 0.08);
    background-image: linear-gradient(
        100deg,
        rgba(33, 46, 125, 0.08) 0%,
        rgba(217, 38, 28, 0.14) 48%,
        rgba(33, 46, 125, 0.08) 100%
    );
    background-size: 220% 100%;
    animation: fethiyespor-standing-glow 7s ease-in-out infinite;
}

@keyframes fethiyespor-standing-glow {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

@media (prefers-reduced-motion: reduce) {
    .is-fethiyespor-standing {
        animation: none;
    }
}

@media (min-width: 1024px) {
    .site-sidebar-layout {
        grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    }
}

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

@media (min-width: 640px) {
    .site-container {
        padding-inline: 1.5rem;
    }

    .site-stack { gap: var(--site-space-section-desktop); }
    .site-stack--compact { gap: calc(var(--site-space-section-desktop) / 2); }
}

@media (min-width: 1024px) {
    .site-container {
        padding-inline: 2rem;
    }
}

/* Mobile hero navigation stays below the copy and remains intentionally light. */
.hero-cover-controls--mobile {
    display: none !important;
}

.homepage-hero__content {
    top: -8%;
}

.homepage-hero__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

@media (max-width: 639px) {
    .matches-ticket-actions {
        padding: 1.25rem !important;
    }

    .matches-ticket-actions .site-button:not(.site-button--block):not(.site-button--full-mobile):not(.site-button--align-right) {
        margin-inline: auto !important;
    }

    .matches-tabs-wrap {
        margin-bottom: 1.5rem !important;
    }

    .matches-tabs {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
        width: 100%;
    }

    .matches-tabs .site-tab {
        width: min(100%, 14rem);
        justify-content: center;
        text-align: center;
    }

    .site-product-card {
        padding: 1rem !important;
    }

    .site-product-card__media {
        height: clamp(12rem, 68vw, 16rem);
    }

    .site-product-card__title {
        min-height: 3rem;
        margin-bottom: 0.5rem;
    }

    .site-product-card__title h3 {
        font-size: 0.875rem !important;
        line-height: 1.25 !important;
        letter-spacing: 0.025em !important;
    }

    .site-product-card__price {
        margin-bottom: 0.75rem;
        padding: 0.375rem 0.75rem !important;
        border-radius: var(--ui-radius-control) !important;
        font-size: 1.25rem !important;
        line-height: 1.15 !important;
    }

    .site-product-detail-card {
        padding: 1.25rem !important;
    }

    .site-product-detail__header {
        gap: 0.75rem;
        margin-bottom: 0.5rem !important;
    }

    .site-product-detail__name {
        font-size: 1.25rem !important;
        line-height: 1.15 !important;
    }

    .site-product-detail__meta {
        gap: 0.375rem;
        margin-top: 0.5rem !important;
    }

    .site-product-detail__meta > span {
        font-size: 0.625rem !important;
        line-height: 1.2 !important;
    }

    .site-product-detail__price-row {
        gap: 0.375rem 0.625rem;
        margin-top: 1.25rem !important;
        padding-top: 0.125rem;
    }

    .site-product-detail__price-row > h2 {
        font-size: clamp(1.75rem, 8vw, 2.125rem) !important;
        line-height: 1.05 !important;
    }

    .site-product-detail__price-row > span,
    .site-product-detail__availability,
    .site-product-detail__shipping,
    .site-product-detail-card > p {
        font-size: 0.8125rem !important;
        line-height: 1.55 !important;
    }

    .site-product-detail__shipping {
        margin-top: 1rem !important;
        padding-top: 0.125rem;
    }

    .site-product-detail__availability {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
        gap: 0.75rem 0.625rem;
        margin-top: 0.75rem;
        margin-bottom: 1.25rem !important;
    }

    .site-product-detail__availability > span {
        line-height: 1.2 !important;
    }

    .site-product-detail__availability > .site-badge {
        padding: 0.375rem 0.625rem !important;
        font-size: 0.625rem !important;
    }

    .site-product-detail__availability-divider {
        display: none;
    }

    .site-product-detail__availability > span:nth-child(6) {
        display: none;
    }

    .site-product-detail__availability-vat {
        grid-column: 2;
    }

    .site-product-detail__trust {
        gap: 0.75rem;
        margin-top: 1.25rem !important;
        padding-top: 1.25rem !important;
    }

    .site-product-detail__trust span {
        display: block;
        overflow-wrap: anywhere;
        font-size: 0.5625rem !important;
        line-height: 1.25 !important;
    }

    .site-product-detail__actions {
        gap: 0.625rem;
        margin-bottom: 1.5rem !important;
    }

    .site-product-detail__quantity {
        min-height: 3.5rem;
    }

    .site-product-detail__quantity button {
        width: 2.75rem;
        height: 2.75rem;
    }

    .site-product-detail__quantity span {
        font-size: 0.9375rem !important;
    }

    .site-product-detail__actions .site-button:not(.site-button--compact) {
        min-height: 2.75rem;
        padding-block: 0.75rem !important;
        padding-inline: 1rem !important;
        font-size: 0.75rem !important;
        letter-spacing: 0.1em !important;
    }

    .site-product-detail__actions .site-button--compact {
        min-height: 2.75rem;
        height: 2.75rem;
        padding-block: 0.5rem !important;
        padding-inline: 0.75rem !important;
        font-size: 0.6875rem !important;
        letter-spacing: 0.08em !important;
    }

    .site-shop-toolbar {
        overflow: visible;
    }

    .site-shop-search-row {
        grid-template-columns: minmax(0, 1fr) minmax(7rem, 30%);
        gap: 0.625rem;
    }

    .site-shop-search-row select {
        max-width: 100%;
    }

    .public-news-ticker {
        width: 100%;
    }

    .hero-cover-controls:not(.hero-cover-controls--mobile) {
        display: none !important;
    }

    .hero-cover-controls--mobile {
        display: flex !important;
        width: min(17rem, calc(100% - 1.5rem));
        max-width: calc(100% - 1.5rem);
        margin-top: 5.5rem !important;
        margin-right: auto;
        margin-left: auto;
        flex-wrap: nowrap;
        justify-content: center;
        gap: 0.15rem !important;
        border: 1px solid rgba(255,255,255,0.2) !important;
        border-radius: 9999px;
        background: rgba(255,255,255,0.07) !important;
        padding: 0.15rem 0.3rem !important;
        box-shadow: 0 6px 18px rgba(3,10,32,0.12);
        opacity: 0.94;
        backdrop-filter: blur(9px);
    }

    .homepage-hero__content {
        top: 0;
    }

    .homepage-hero {
        min-height: 360px !important;
        padding-top: 2rem !important;
        padding-bottom: 4rem !important;
    }

    .homepage-hero h1 {
        margin-bottom: 1rem;
        font-size: 2.75rem;
        line-height: 0.98;
    }

    .homepage-hero p {
        margin-bottom: 1.25rem;
        font-size: 1rem;
        line-height: 1.5;
    }

    .homepage-hero__actions {
        justify-content: center;
    }

    .homepage-hero__actions .site-button {
        margin-inline: auto !important;
    }

    .next-match-card {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        margin-right: auto;
        margin-left: auto;
        background: #212e7d !important;
    }

    .next-match-meta {
        grid-column: 1 / -1 !important;
        width: 100%;
        padding: 1.1rem 1rem 1.25rem;
        background: #212e7d !important;
    }

    .next-match-teams {
        grid-column: 1 / -1 !important;
        min-height: 10.5rem;
        width: 100%;
        padding: 1.35rem 0.75rem 1.5rem;
        justify-content: space-evenly;
        background: #212e7d !important;
    }

    .next-match-vs {
        font-size: 2.35rem;
        color: #ffffff !important;
        opacity: 0.78 !important;
    }

    .next-match-teams > div:not(.next-match-vs):not(.hidden) > span {
        color: #ffffff !important;
    }

    .hero-cover-controls {
        bottom: 0.75rem !important;
        width: min(22rem, calc(100% - 4.5rem));
        justify-content: space-between;
        gap: 0.35rem;
        border-color: rgba(255,255,255,0.12);
        background: rgba(3,10,32,0.18);
        padding: 0.2rem 0.25rem;
        box-shadow: 0 8px 24px rgba(3,10,32,0.12);
        backdrop-filter: blur(7px);
    }

    .hero-cover-controls--mobile .hero-cover-control {
        flex: 0 0 2.75rem;
        width: 2.75rem !important;
        height: 2.75rem !important;
        transform: none;
        border-color: transparent !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .hero-cover-controls--mobile .hero-cover-control__visual {
        display: flex;
        width: 1.08rem;
        height: 1.08rem;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255,255,255,0.3);
        border-radius: 9999px;
        background: rgba(3,10,32,0.28);
    }

    .hero-cover-controls--mobile .hero-cover-control:hover .hero-cover-control__visual {
        border-color: rgba(255,255,255,0.8);
        background: rgba(217,38,28,0.9);
    }

    .hero-cover-controls--mobile .hero-cover-control svg {
        width: 0.6rem;
        height: 0.6rem;
    }

    .hero-cover-controls--mobile .hero-cover-dot {
        position: relative;
        flex: 0 0 2.75rem;
        width: 2.75rem !important;
        height: 2.75rem !important;
        transform: none;
        background-color: transparent !important;
    }

    .hero-cover-controls--mobile .hero-cover-dot::after {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0.2rem;
        height: 0.2rem;
        border-radius: 9999px;
        background: rgba(255,255,255,0.42);
        content: '';
        transform: translate(-50%, -50%);
    }

    .hero-cover-controls--mobile .hero-cover-dot[aria-current="true"]::after {
        width: 0.6rem;
        background: rgba(255,255,255,0.82);
    }

}

@media (max-width: 380px) {
    .site-shop-search-row {
        grid-template-columns: minmax(0, 1fr) minmax(6.5rem, 35%);
        gap: 0.5rem;
    }
}

/* Store cards keep the same visual rhythm regardless of product image or title length. */
.site-shop-product-card {
    min-height: 100%;
}

.site-shop-product-card .site-product-card__media {
    height: auto;
    aspect-ratio: 4 / 3;
    flex: 0 0 auto;
}

.site-shop-product-card .site-product-card__title {
    min-height: 3.5rem;
    margin-bottom: 0.75rem;
}

.site-shop-product-card .site-product-card__footer {
    gap: 0.75rem;
    padding-top: 0.5rem;
}

.site-shop-product-card .site-product-card__price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    margin-bottom: 0;
}

.site-shop-product-card .site-product-card__footer .site-button {
    width: 100%;
    min-height: 2.75rem;
}

@media (max-width: 767px) {
    .site-shop-product-card .site-product-card__media {
        aspect-ratio: 4 / 3;
    }

    .site-shop-product-card .site-product-card__title {
        min-height: 3.25rem;
    }
}

/* Cart page surfaces use a clean white atmosphere. */
.site-cart-page {
    position: relative;
    isolation: isolate;
    background: #ffffff;
}

.site-cart-page .site-checkout-progress__item,
.site-cart-page .site-checkout-heading__title,
.site-cart-page .site-section-heading h2 {
    color: var(--site-color-brand-primary);
}

.site-cart-page .site-checkout-layout > section .site-section-heading h2 {
    color: var(--site-color-brand-primary);
}

.site-cart-page .site-checkout-progress__line {
    background: #e5e7eb;
}

.site-cart-page .site-checkout-progress__item > span {
    border-color: #d1d5db;
    background: #f9fafb;
    color: #374151;
}

.site-cart-page .site-checkout-progress__item.is-active > span {
    border-color: var(--site-color-brand-secondary);
    background: var(--site-color-brand-secondary);
    color: #ffffff;
}

.site-cart-page .site-checkout-layout > section,
.site-cart-page .site-checkout-summary {
    border: 1px solid #e7ebf2;
    box-shadow: 0 10px 30px rgba(15, 23, 80, 0.05);
    background: #ffffff;
    color: #111827;
}

.site-cart-review-heading {
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.site-cart-review-heading > div {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.55rem;
}

.site-cart-review-heading h2 {
    margin: 0;
}

.site-cart-review-count {
    display: inline-flex;
    min-width: 4.75rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe3f0;
    border-radius: 999px;
    background: #f3f6ff;
    padding: 0.45rem 0.75rem;
    color: var(--site-color-brand-primary);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.site-cart-review-list {
    display: grid;
    gap: 0.875rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-cart-review-card {
    position: relative;
    display: grid;
    gap: 1rem;
    border: 1px solid #e7ebf2;
    border-radius: 1rem;
    background: #ffffff;
    padding: 1rem;
    box-shadow: 0 4px 12px rgba(15, 23, 80, 0.06);
}

.site-cart-review-card__product {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.875rem;
    padding-right: 2.75rem;
}

.site-cart-review-card__media {
    width: 4.25rem;
    height: 4.25rem;
    flex: 0 0 4.25rem;
    overflow: hidden;
    border: 1px solid #eef1f5;
    border-radius: 0.875rem;
    background: #f9fafb;
    padding: 0.35rem;
}

.site-cart-review-card__title {
    margin: 0;
    color: var(--site-color-brand-primary);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.site-cart-review-card__variant {
    margin: 0.3rem 0 0;
    color: #6b7280;
    font-size: 0.78rem;
}

.site-cart-review-card__details {
    display: grid;
    gap: 0.6rem;
    margin: 0;
}

.site-cart-review-card__details > div {
    display: flex;
    min-width: 0;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}

.site-cart-review-card__details dt {
    color: #6b7280;
    font-size: 0.9rem;
    font-weight: 500;
}

.site-cart-review-card__details dd {
    min-width: 0;
    margin: 0;
    color: #334155;
    font-size: 0.95rem;
    font-weight: 700;
    text-align: right;
    overflow-wrap: anywhere;
}

.site-cart-review-card__quantity-value {
    display: inline;
    color: #111827;
    font-size: 0.95rem;
    font-weight: 700;
}

.site-cart-review-card__details .is-total {
    margin-top: 0.25rem;
    border-top: 1px solid #e7ebf2;
    padding-top: 0.75rem;
}

.site-cart-review-card__details .is-total dt,
.site-cart-review-card__details .is-total dd {
    color: var(--site-color-brand-secondary);
    font-weight: 800;
}

.site-cart-review-card__remove {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    width: 2.5rem;
    min-width: 2.5rem;
    height: 2.5rem;
    min-height: 2.5rem;
    color: var(--site-color-brand-secondary);
}

.site-cart-review-card__remove:hover,
.site-cart-review-card__remove:focus-visible {
    background: #fef2f2;
    color: #b91c1c;
}

/* Order summaries use a light surface so text and controls remain readable. */
.site-cart-page .site-checkout-summary::before {
    display: none;
}

.site-cart-page .site-checkout-summary .site-checkout-totals .is-total {
    border-color: #e7ebf2;
}

.site-cart-page .site-checkout-summary .site-section-heading h2 {
    color: #212e7d;
}

.site-cart-page .site-checkout-summary .site-checkout-totals > div {
    color: #64748b;
}

.site-cart-page .site-checkout-summary .site-checkout-totals dd {
    color: #334155;
}

.site-cart-page .site-checkout-summary .site-checkout-totals .is-total dd {
    color: #212e7d;
}

.site-cart-page .site-checkout-summary .site-input {
    border-color: #d8deea;
    background: #ffffff;
    color: #111827;
}

.site-cart-page .site-checkout-summary .site-input::placeholder {
    color: #94a3b8;
}

.site-cart-page .site-checkout-summary .site-checkout-trust {
    background: #f3f6ff;
    color: #526783;
}

/* Footer palette follows the club's navy and red visual system. */
.site-footer {
    background:
        linear-gradient(135deg, rgba(8, 18, 52, 0.98), rgba(18, 34, 83, 0.98)),
        #081234;
}

.site-footer::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: min(46rem, 80vw);
    height: 1px;
    content: '';
    background: linear-gradient(90deg, transparent, rgba(241,38,47,0.8), transparent);
    transform: translateX(-50%);
}

/* The footer borrows the homepage storefront atmosphere at a lower intensity. */
.site-footer > .site-background-effect {
    opacity: 0.42;
}

.site-footer__panel {
    border-color: rgba(255,255,255,0.12);
    background: rgba(33,46,125,0.22);
    box-shadow: 0 14px 32px rgba(3,10,32,0.16);
}

.site-footer a {
    color: rgba(226,232,240,0.72);
}

.site-footer a:hover {
    color: #ffffff;
}

/* Premium navy background shared by the homepage featured shop and sponsor section. */
.featured-shop,
.sponsors-section {
    background: linear-gradient(120deg, #050D27 0%, #091B4A 55%, #10275D 100%);
}
.sponsors-section { background: var(--sponsors-section-background, linear-gradient(120deg, #050D27 0%, #091B4A 55%, #10275D 100%)); }
.sponsors-section .site-background-effect--premium { background: var(--sponsors-section-background, linear-gradient(120deg, #050D27 0%, #091B4A 55%, #10275D 100%)); }
.sponsors-section__eyebrow { color: var(--sponsors-eyebrow-color, #ffffff); }
.sponsors-section__title { color: var(--sponsors-title-color, #ffffff); }

/* Reusable responsive background-effect contract for public headers and sections. */
.site-background-effect { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; isolation: isolate; }
.site-background-effect::after { position: absolute; content: ''; inset: 0; z-index: 1; background: rgba(3, 10, 32, var(--site-background-overlay, 0)); }
.site-background-effect__media { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0.72; }
.site-background-effect--pitch::before, .site-background-effect--grid::before { position: absolute; content: ''; inset: 0; z-index: 0; opacity: 0.06; background-image: linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,0.5) 50%, transparent 50.2%); transform: perspective(900px) rotateX(62deg) translateY(26%); }
.site-background-effect--grid::before { opacity: 0.04; background-size: 34px 34px; background-image: linear-gradient(rgba(255,255,255,0.32) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.32) 1px, transparent 1px); transform: none; }
.site-background-effect--pitch::after, .site-background-effect--grid::after { background-image: radial-gradient(circle, rgba(255,255,255,0.75) 0 1px, transparent 1.5px); background-size: 34px 34px; background-color: rgba(3,10,32,var(--site-background-overlay, 0)); }
.site-background-effect__field-line { position: absolute; z-index: 2; border: 1px solid rgba(255,255,255,0.06); }
.site-background-effect__field-line--arc { right: -10rem; top: 50%; width: 38rem; height: 38rem; border-radius: 999px; transform: translateY(-50%); }
.site-background-effect__field-line--box { right: 5%; top: 18%; width: 16rem; height: 64%; border-radius: 1rem; }
.site-background-effect__light { display: none; position: absolute; z-index: 2; width: 12rem; height: 12rem; border-radius: 999px; filter: blur(70px); opacity: 0.2; }
.site-background-effect__light--red { right: 8%; top: 8%; background: #F1262F; }
.site-background-effect__light--blue { right: 36%; bottom: 4%; background: var(--site-color-brand-secondary); }
.site-background-effect__watermark { position: absolute; left: -1rem; bottom: 2%; z-index: 2; width: 30rem; height: 8rem; background: linear-gradient(90deg, rgba(255,255,255,0.025), transparent); transform: skewX(-18deg); }
.site-background-effect--premium { background: linear-gradient(120deg, #050D27 0%, #091B4A 55%, #10275D 100%); }
.site-background-effect--premium::before { position: absolute; content: ''; inset: -20%; z-index: 0; background: radial-gradient(circle at 72% 30%, rgba(23,72,232,0.28), transparent 28%), radial-gradient(circle at 90% 78%, rgba(241,38,47,0.18), transparent 24%), linear-gradient(135deg, transparent 35%, rgba(255,255,255,0.04) 50%, transparent 65%); transform: rotate(-6deg); }
.site-background-effect--premium::after { background: linear-gradient(90deg, rgba(3,10,32,0.12), rgba(3,10,32,0.02) 52%, rgba(3,10,32,0.2)); }
.site-background-effect--premium .site-background-effect__light { display: block; }
.site-background-effect--premium .site-background-effect__watermark { width: auto; height: auto; color: rgba(255,255,255,0.08); background: none; font-size: clamp(4rem, 12vw, 12rem); font-weight: 900; letter-spacing: -0.08em; line-height: 0.8; white-space: nowrap; transform: none; }

@media (max-width: 639px) {
    .sponsor-card {
        width: min(18rem, calc(100vw - 3rem));
        flex-basis: min(18rem, calc(100vw - 3rem));
    }
    .sponsor-card__media { height: 8rem; }
    .sponsor-card__body { padding: 0.25rem 0.85rem 0.85rem; }
    .site-background-effect__watermark { width: 18rem; height: 5rem; }
    .site-background-effect__field-line--arc { right: -18rem; }
}

.featured-shop__pitch {
    pointer-events: none;
    overflow: hidden;
}

.featured-shop__pitch::before,
.featured-shop__pitch::after {
    position: absolute;
    content: '';
    inset: 0;
    opacity: 0.06;
    background-image: linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,0.5) 50%, transparent 50.2%);
    transform: perspective(900px) rotateX(62deg) translateY(26%);
}

.featured-shop__pitch::after {
    opacity: 0.035;
    background-image: radial-gradient(circle, rgba(255,255,255,0.75) 0 1px, transparent 1.5px);
    background-size: 34px 34px;
    transform: none;
}

.featured-shop__field-line {
    position: absolute;
    border: 1px solid rgba(255,255,255,0.06);
}

.featured-shop__field-line--arc {
    right: -10rem;
    top: 50%;
    width: 38rem;
    height: 38rem;
    border-radius: 999px;
    transform: translateY(-50%);
}

.featured-shop__field-line--box {
    right: 5%;
    top: 18%;
    width: 16rem;
    height: 64%;
    border-radius: 1rem;
}

.featured-shop__light {
    display: none;
}

.featured-shop__light--red { right: 8%; top: 8%; background: #F1262F; }
.featured-shop__light--blue { right: 36%; bottom: 4%; background: var(--site-color-brand-secondary); }

.featured-shop__watermark {
    position: absolute;
    left: -1rem;
    bottom: 2%;
    color: rgba(255,255,255,0.025);
    font-size: clamp(4rem, 12vw, 12rem);
    font-weight: 900;
    letter-spacing: -0.08em;
    line-height: 0.8;
    white-space: nowrap;
}

.featured-shop__showcase {
    position: relative;
    min-height: 34rem;
    isolation: isolate;
}

.featured-shop__halo {
    display: none;
}

.featured-shop__card {
    position: absolute;
    left: 50%;
    top: 45%;
    width: min(22rem, calc(100vw - 3rem));
    min-height: 31rem;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 1.6rem;
    background: #081742;
    box-shadow: 0 18px 42px rgba(0,0,0,0.34);
    cursor: pointer;
    transform-origin: center center;
    transition: transform 400ms cubic-bezier(0.25, 1, 0.4, 1), opacity 400ms ease, filter 400ms ease, box-shadow 400ms ease;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.featured-shop__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
    transform: skewX(-25deg);
    pointer-events: none;
    z-index: 8;
}

.featured-shop__card--active {
    z-index: 10;
    opacity: 1;
    filter: none;
    transform: translate(-50%, -50%) scale(1);
    box-shadow: 0 24px 58px rgba(0,0,0,0.42);
}

.featured-shop__card--active::before {
    animation: subtle-glass-sheen 550ms ease-out forwards;
}

@keyframes subtle-glass-sheen {
    0% { left: -150%; opacity: 0; }
    30% { opacity: 1; }
    100% { left: 150%; opacity: 0; }
}

.featured-shop__card--previous { z-index: 5; opacity: 0.65; filter: saturate(0.85); transform: translate(-92%, -50%) scale(0.74) rotate(-6deg); }
.featured-shop__card--next { z-index: 5; opacity: 0.65; filter: saturate(0.85); transform: translate(-8%, -50%) scale(0.74) rotate(6deg); }
.featured-shop__card--hidden { z-index: 1; opacity: 0; pointer-events: none; transform: translate(-50%, -50%) scale(0.5); }

.featured-shop__card-media {
    position: relative;
    height: 19rem;
    overflow: hidden;
    background: radial-gradient(circle at 50% 42%, rgba(23,72,232,0.42), transparent 58%), #071B4D;
}

.featured-shop__card-media::after {
    position: absolute;
    content: '';
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(3,10,32,0.8));
}

.featured-shop__card-media img { width: 100%; height: 100%; object-fit: contain; padding: 1.25rem; transition: transform 400ms ease; }
.featured-shop__card--active:hover .featured-shop__card-media img { transform: scale(1.05); }
.featured-shop__badge { position: absolute; left: 1rem; top: 1rem; z-index: 1; border-radius: var(--ui-radius-control); background: #F1262F; padding: 0.4rem 0.7rem; color: #fff; font-size: 0.62rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.featured-shop__card-body { padding: 1.25rem 1.4rem 1.5rem; }

.featured-shop__arrow {
    position: absolute;
    z-index: 5;
    top: 45%;
    display: flex;
    width: 3.4rem;
    height: 3.4rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 999px;
    background: rgba(3,10,32,0.78);
    color: #fff;
    transform: translateY(-50%);
    transition: transform 200ms ease, background-color 200ms ease, border-color 200ms ease;
}

.featured-shop__arrow:hover { border-color: #F1262F; background: #F1262F; transform: translateY(-50%) scale(1.06); }
.featured-shop__arrow--previous { left: 0; }
.featured-shop__arrow--next { right: 0; }
.featured-shop__controls { position: absolute; bottom: -0.25rem; left: 50%; z-index: 5; display: flex; width: min(22rem, calc(100vw - 3rem)); align-items: center; justify-content: space-between; transform: translateX(-50%); }
.featured-shop__dots { display: flex; align-items: center; gap: 0.45rem; }
.featured-shop__dot { display: block; width: 0.4rem; height: 0.4rem; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,0.42); transition: width 200ms ease, background-color 200ms ease, box-shadow 200ms ease; }
.featured-shop__dot--active { width: 1.1rem; background: #F1262F; box-shadow: 0 0 10px rgba(241,38,47,0.55); }
.featured-shop__mobile-controls { display: none; }
.featured-shop__skeleton { position: absolute; left: 50%; top: 45%; width: min(22rem, calc(100vw - 3rem)); height: 31rem; border: 1px solid rgba(255,255,255,0.12); border-radius: 1.6rem; background: linear-gradient(110deg, rgba(255,255,255,0.08) 8%, rgba(255,255,255,0.16) 18%, rgba(255,255,255,0.08) 33%); background-size: 200% 100%; transform: translate(-50%, -50%); animation: featured-shop-shimmer 1.6s linear infinite; }

@keyframes featured-shop-shimmer { to { background-position-x: -200%; } }

@media (max-width: 1023px) {
    .featured-shop__showcase { min-height: 32rem; }
    .featured-shop__card--previous { transform: translate(-82%, -50%) scale(0.7) rotate(-5deg); }
    .featured-shop__card--next { transform: translate(-18%, -50%) scale(0.7) rotate(5deg); }
}

@media (min-width: 1024px) {
    .featured-shop__card,
    .featured-shop__skeleton {
        left: auto;
        right: 0;
    }

    .featured-shop__card--active,
    .featured-shop__skeleton {
        transform: translateY(-50%);
    }

    .featured-shop__card--previous { transform: translate(-42%, -50%) scale(0.74) rotate(-6deg); }
    .featured-shop__card--next { transform: translate(42%, -50%) scale(0.74) rotate(6deg); }
    .featured-shop__card--hidden { transform: translateY(-50%) scale(0.5); }

    .featured-shop__controls {
        right: 0;
        left: auto;
        transform: none;
    }
}

@media (max-width: 639px) {
    .featured-shop__showcase { min-height: 31rem; }
    .featured-shop__card { min-height: 29rem; }
    .featured-shop__card-media { height: 17rem; }
    .featured-shop__card--previous, .featured-shop__card--next { opacity: 0.22; transform: translate(-50%, -50%) scale(0.82); }
    .featured-shop__arrow { top: auto; bottom: -0.65rem; width: 2.4rem; height: 2.4rem; transform: none; }
    .featured-shop__arrow:hover { transform: scale(1.06); }
    .featured-shop__arrow--previous { left: 0.35rem; }
    .featured-shop__arrow--next { right: 0.35rem; }
    .featured-shop__arrow svg { width: 1rem; height: 1rem; }
    .featured-shop__arrow {
        display: none !important;
        top: 50%;
        bottom: auto;
        width: 2.5rem;
        height: 2.5rem;
        border-color: rgba(255,255,255,0.22);
        background: rgba(8,18,52,0.72);
        transform: translateY(-50%);
    }
    .featured-shop__controls,
    .featured-shop__mobile-controls { display: none !important; }
    .featured-shop__arrow:hover { border-color: #F1262F; background: #F1262F; transform: translateY(-50%) scale(1.06); }
    .featured-shop__arrow--previous { left: 0.5rem; }
    .featured-shop__arrow--next { right: 0.5rem; }
    .featured-shop__arrow svg { width: 1rem; height: 1rem; }
    .featured-shop__controls { bottom: -0.45rem; width: calc(100% - 6rem); font-size: 0.68rem; }
    .featured-shop__dots { gap: 0.35rem; }
    .featured-shop__dot { width: 0.35rem; height: 0.35rem; }
    .featured-shop__dot--active { width: 1rem; }
    .featured-shop__watermark { font-size: 4rem; }
}

@media (prefers-reduced-motion: reduce) {
    .sponsor-card,
    .sponsor-card__media img,
    .sponsors-section__arrow {
        transition: none;
    }
    .featured-shop__card, .featured-shop__card-media img, .featured-shop__arrow, .featured-shop__card .site-button { transition-duration: 0.01ms; }
    .featured-shop__skeleton { animation: none; }
}

/* Keep keyboard focus visible with the shared brand color across the site. */
:where(a, button, input, select, textarea):focus-visible {
    outline: 2px solid rgba(33, 46, 125, 0.45);
    outline-offset: 2px;
}

/* Hide scrollbar utility */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Custom scrollbar for better look */
::-webkit-scrollbar {
    width: 6px;
    height: 4px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: rgba(33, 46, 125, 0.2);
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(33, 46, 125, 0.5);
}

/* Sidebar scrollbar */
.custom-scrollbar::-webkit-scrollbar {
    width: 10px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: #000000;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #ffffff;
    border-radius: 9999px;
    border: 2px solid #000000;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #f3f4f6;
}

.custom-scrollbar {
    scrollbar-color: #ffffff #000000;
    scrollbar-width: thin;
}

/* Admin sidebar section collapse animation */
.sidebar-section-panel {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
    transition:
        grid-template-rows 280ms ease,
        opacity 180ms ease,
        transform 280ms ease;
    will-change: grid-template-rows, opacity, transform;
}

.sidebar-section-panel--open {
    grid-template-rows: 1fr;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.sidebar-section-panel__inner {
    min-height: 0;
    overflow: hidden;
}

.sidebar-collapsed-flyout {
    position: fixed;
    min-width: 16rem;
    max-width: 18rem;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    z-index: 90;
}

@media (min-width: 1024px) {
    .admin-sidebar {
        overflow: visible;
    }
}

@media (max-width: 1023px) {
    .admin-sidebar {
        overflow: hidden;
    }
}

.sidebar-collapsed-tooltip {
    position: fixed;
    z-index: 80;
    min-width: max-content;
    transform: translateY(-50%);
    pointer-events: none;
}

/* Compact admin sidebar navigation */
.admin-sidebar nav {
    margin-top: 1rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.admin-sidebar nav > a.w-full.flex.items-center,
.admin-sidebar .sidebar-section-panel__inner > a.w-full.flex.items-center,
.admin-sidebar nav > div > button.w-full.flex.items-center {
    padding: 0.625rem 0.75rem;
    border-radius: 0.625rem;
}

.admin-sidebar nav > a.w-full.flex.items-center,
.admin-sidebar nav > div,
.admin-sidebar .sidebar-section-panel__inner > a.w-full.flex.items-center {
    margin-top: 0.25rem !important;
}

.admin-sidebar nav > a svg.w-5.h-5,
.admin-sidebar .sidebar-section-panel__inner > a svg.w-5.h-5,
.admin-sidebar nav > a i.w-5,
.admin-sidebar nav > a i.w-6,
.admin-sidebar nav > div > button i.w-5,
.admin-sidebar .sidebar-section-panel__inner > a i.w-5 {
    width: 1rem;
    height: 1rem;
}

.admin-sidebar nav > a span.font-bold.text-sm,
.admin-sidebar .sidebar-section-panel__inner > a span.font-bold.text-sm,
.admin-sidebar > div:last-of-type a span.font-bold.text-sm {
    font-size: 0.75rem;
    line-height: 1rem;
    letter-spacing: 0.04em;
}

.admin-sidebar nav > div > button span.font-black.text-\[12px\] {
    letter-spacing: 0.12em;
}

.admin-sidebar .sidebar-section-panel__inner {
    row-gap: 0.25rem;
}

.admin-sidebar .sidebar-collapsed-flyout a {
    font-size: 0.75rem;
    line-height: 1rem;
}

.admin-sidebar > div:last-of-type {
    padding: 0.75rem;
}

/* Settings navigation uses a restrained navy focus treatment instead of the global red outline. */
.settings-section-nav button:focus-visible {
    outline: 2px solid rgba(33, 46, 125, 0.45);
    outline-offset: 2px;
}

.settings-save-action {
    margin-top: 2rem !important;
}

@media (prefers-reduced-motion: reduce) {
    .sidebar-section-panel {
        transition: none;
        transform: none;
    }
}

/* Custom utility classes */
.system-control-center-layout {
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1024px) {
    .system-control-center-layout {
        grid-template-columns: 18rem minmax(0, 1fr);
    }
}

.text-fethiye-red {
    color: #D9261C;
}

.bg-fethiye-red {
    background-color: #D9261C;
}

/* Penalty Kick Loader */
#loader-wrapper {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.08), transparent 32%),
        linear-gradient(180deg, #223082 0%, #212E7D 100%);
    transition: opacity 0.5s ease-out, visibility 0.5s;
}

#loader-wrapper.loaded {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.loader-pitch {
    position: relative;
    width: min(360px, 80vw);
    height: 120px;
    margin-inline: auto;
    padding-bottom: 10px;
    border-bottom: 4px solid rgba(255, 255, 255, 0.2);
}

.loader-pitch::before {
    content: '';
    position: absolute;
    inset: auto 0 -4px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.18);
}

.soccer-ball {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 48px;
    height: 48px;
    transform-origin: center;
    will-change: transform, left;
    filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.2));
    animation: loaderBallRoll 3s infinite ease-in-out;
}

.goal-post {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 72px;
    height: 88px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-bottom: none;
    border-radius: 0 10px 0 0;
}

.loader-brand {
    color: #fff;
    font-family: 'Black Ops One', cursive;
    font-size: 1.25rem;
    line-height: 1.2;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.loader-copy {
    margin-top: 1rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.875rem;
    letter-spacing: 0.04em;
}

@keyframes loaderBallRoll {
    0% {
        left: 0;
        transform: translateY(0) rotate(0deg);
    }
    20% {
        transform: translateY(-18px) rotate(72deg);
    }
    40% {
        transform: translateY(0) rotate(144deg);
    }
    60% {
        transform: translateY(-14px) rotate(216deg);
    }
    80% {
        transform: translateY(0) rotate(288deg);
    }
    100% {
        left: calc(100% - 48px);
        transform: translateY(0) rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .soccer-ball {
        animation: none;
    }
}

/* Custom Checkbox Styling */
.custom-checkbox,
input[type="checkbox"]:not(.sr-only):not(.peer) {
    appearance: none;
    -webkit-appearance: none;
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid #E5E7EB;
    border-radius: 0.5rem;
    transition: all 0.2s;
    position: relative;
    cursor: pointer;
    background-color: #fff;
    display: inline-block;
    vertical-align: middle;
}

.custom-checkbox:checked,
input[type="checkbox"]:not(.sr-only):not(.peer):checked {
    background-color: #212E7D;
    border-color: #212E7D;
}

.custom-checkbox:checked::after,
input[type="checkbox"]:not(.sr-only):not(.peer):checked::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.custom-checkbox:focus,
input[type="checkbox"]:not(.sr-only):not(.peer):focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(33, 46, 125, 0.2);
}

.custom-checkbox:hover:not(:checked),
input[type="checkbox"]:not(.sr-only):not(.peer):hover:not(:checked) {
    border-color: rgba(33, 46, 125, 0.5);
}

/* Captcha Timer States */
.captcha-active {
    transition: all 0.3s ease;
}

.captcha-timer {
    font-size: 12px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 6px;
    display: inline-block;
    min-width: 50px;
    text-align: center;
}

.captcha-timer.captcha-active {
    background-color: #f0f9ff;
    color: #0369a1;
}

.captcha-timer.captcha-warning {
    background-color: #fef3c7;
    color: #d97706;
    animation: pulse-warning 1s infinite;
}

.captcha-timer.captcha-expired {
    color: #DC2626;
    font-weight: bold;
}

/* Admin typography floor */
body[x-data="adminApp()"] .text-\[10px\],
body[x-data="adminApp()"] .text-\[11px\],
body[x-data="adminApp()"] .text-\[9px\],
body[x-data="adminApp()"] .text-\[8px\],
body[x-data="adminApp()"] .text-\[7px\] {
    font-size: 12px !important;
}

/* Password Strength Indicators */
.password-strength-bar {
    transition: width 0.3s ease, background-color 0.3s ease;
}

.password-strength-weak {
    background-color: #DC2626;
}

.password-strength-medium {
    background-color: #D97706;
}

.password-strength-strong {
    background-color: #059669;
}

.password-requirement-check {
    transition: color 0.2s ease;
}

.password-requirement-check.fas.fa-check-circle {
    color: #059669;
}

.password-requirement-check.fas.fa-times-circle {
    color: #DC2626;
}

@keyframes pulse-warning {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

/* Responsive Viewport & Overflow Protection */
html, body {
    max-width: 100vw;
    overflow-x: clip;
}
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Accessibility Touch Targets (Mobile 44px Rule) */
@media (max-width: 768px) {
    button:not(.no-touch-target), 
    .btn:not(.no-touch-target),
    a.touch-target,
    .mobile-touch-target {
        min-height: 44px;
        min-width: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

/* Central Toast Notification Component Styles */
#toast-container {
    position: fixed;
    bottom: max(24px, env(safe-area-inset-bottom));
    right: max(24px, env(safe-area-inset-right));
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
    width: min(400px, calc(100vw - 48px));
}
.toast-item {
    pointer-events: auto;
    position: relative;
    overflow: hidden;
    min-height: 66px;
    padding: 14px 42px 14px 16px;
    border: 1px solid rgba(255,255,255,.18);
    border-left: 0;
    border-radius: 14px;
    color: #ffffff;
    font-size: 0.9rem;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .24);
    display: flex;
    align-items: center;
    gap: 12px;
    opacity: 0;
    transform: translate3d(24px, 0, 0) scale(.98);
    transition: opacity .24s ease, transform .24s ease;
}
.toast-item.show {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}
.toast-item.is-dismissing { pointer-events: none; }
.toast-positive, .toast-success { background: linear-gradient(135deg, var(--notification-positive-color, #212e7d), #1748e8); }
.toast-negative, .toast-error, .toast-warning { background: linear-gradient(135deg, var(--notification-negative-color, #d9261c), #b91c1c); }
.toast-info { background: linear-gradient(135deg, var(--notification-info-color, #212e7d), #1748e8); }
.toast-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    font-size: 1.15rem;
}
.toast-content { min-width: 0; display: grid; gap: 2px; }
.toast-title { font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; opacity: .82; }
.toast-message { line-height: 1.35; overflow-wrap: anywhere; }
.toast-close {
    position: absolute; top: 10px; right: 10px; width: 26px; height: 26px;
    display: inline-flex; align-items: center; justify-content: center;
    color: inherit; opacity: .72; font-size: .9rem; line-height: 1;
}
.toast-close:hover, .toast-close:focus { opacity: 1; }
.toast-progress {
    position: absolute; left: 0; bottom: 0; height: 3px; width: 100%;
    background: rgba(255,255,255,.75); transform-origin: left;
    animation: toast-progress var(--toast-duration) linear forwards;
}
@keyframes toast-progress { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@media (max-width: 600px) {
    #toast-container { bottom: max(12px, env(safe-area-inset-bottom)); right: 12px; width: calc(100vw - 24px); }
}
@media (prefers-reduced-motion: reduce) {
    .toast-item { transition: none; }
}
.notification-inline-container { display: grid; gap: 8px; margin-bottom: 20px; }
.notification-inline { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-left: 4px solid; border-radius: 10px; font-size: .875rem; font-weight: 600; }
.notification-inline-positive, .notification-inline-success { color: #ffffff; background: var(--notification-positive-color, #212e7d); border-color: #d9261c; }
.notification-inline-negative, .notification-inline-error, .notification-inline-warning { color: #ffffff; background: var(--notification-negative-color, #d9261c); border-color: #212e7d; }
.notification-inline-info { color: #ffffff; background: var(--notification-info-color, #212e7d); border-color: #212e7d; }
.notification-inline-icon { flex: 0 0 auto; font-size: 1rem; }
.notification-inline-close { display: inline-flex; align-items: center; justify-content: center; opacity: .65; font-size: .9rem; }
.notification-inline-close:hover { opacity: 1; }

/* -------------------------------------------------------------
 * Text Symmetry & Word-Break Protection (Prevents awkward breaks like "merh-aba")
 * ------------------------------------------------------------- */
.text-nowrap-safe {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.text-wrap-keep {
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
}

.text-hyphens-tr {
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    -ms-hyphens: auto !important;
}

/* Enforce unbroken table headers, navigation pills, and badges */
th, .nav-pill, .badge, .btn-label {
    word-break: keep-all;
    overflow-wrap: break-word;
}

html {
    scroll-behavior: smooth;
}

/* Public header: keep its layout height stable while adding a clear sticky state. */
.site-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    width: 100%;
    transition: background-color 180ms ease, box-shadow 180ms ease, backdrop-filter 180ms ease, transform 220ms ease, opacity 220ms ease;
    backface-visibility: hidden;
}

.site-header.mobile-overlay-open {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
}

.site-header.is-stuck {
    background-color: rgba(33, 46, 125, 0.94);
    backdrop-filter: blur(14px);
    box-shadow: 0 12px 30px rgba(15, 23, 80, 0.34);
    animation: site-header-sticky-enter 220ms ease-out both;
}

/* Shared mobile navigation surface. The panel owns the viewport below the sticky header;
 * the page underneath remains locked while the panel is independently scrollable. */
.site-mobile-panel {
    position: fixed;
    inset: 5rem 0 0;
    z-index: 40;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(33, 46, 125, 0.98);
    box-shadow: 0 18px 40px rgba(15, 23, 80, 0.34);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}

.site-mobile-panel--account {
    height: auto;
    min-height: 0;
}

.site-mobile-menu-active-dot {
    box-shadow: 0 0 0 3px rgba(217, 38, 28, 0.16);
}

@media (min-width: 768px) {
    .site-mobile-panel {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .site-mobile-panel {
        padding-bottom: calc(1.5rem + env(safe-area-inset-bottom));
    }
}

@keyframes site-header-sticky-enter {
    from { opacity: 0.96; transform: translateY(-0.75rem); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .site-header.is-stuck {
        animation: none;
        transition: none;
    }
}

/* Legal Page Print Styles */
@media print {
    .site-footer, header, nav, button, aside, .lg\:hidden {
        display: none !important;
    }
    body {
        background: #ffffff !important;
        color: #000000 !important;
    }
    article {
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
    }
}

/* =============================================================
 * 📱 MOBILE EXPERIENCE & TOUCH ACCESSIBILITY AUDIT FIXES (v6.8)
 * ============================================================= */

/* 1. Global Responsive Image & CLS Protection */
img {
    max-width: 100%;
    height: auto;
}

/* Keep the shared admin brand compact so its name remains visible beside the crest. */
.admin-sidebar__brand-logo {
    width: 45.6px;
    height: 45.6px;
    max-width: 45.6px;
    object-fit: contain;
    flex: 0 0 45.6px;
}

/* 2. Responsive Table Wrapper & Overflow Prevention */
.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* 3. Touch Target Hitbox Standards (44x44px minimum for mobile usability) */
@media (max-width: 768px) {
    a.btn,
    button.btn,
    .btn,
    .admin-button,
    .nav-link,
    .navbar-toggler,
    .mobile-bottom-nav a,
    .mobile-menu-link,
    input[type="button"],
    input[type="submit"],
    input[type="reset"] {
        min-height: 44px;
        min-width: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Small action icon buttons in tables & cards */
    .btn-sm,
    .icon-btn,
    .action-icon {
        min-height: 38px;
        min-width: 38px;
        padding: 6px;
    }

    /* Mobile Bottom Navigation Symmetry */
    .mobile-bottom-nav,
    [class*="bottom-nav"] {
        display: flex;
        align-items: center;
        justify-content: space-around;
        min-height: 60px;
        padding: 4px 8px;
    }

    .mobile-bottom-nav a,
    [class*="bottom-nav"] a {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
        font-size: 0.75rem;
        text-align: center;
    }

    /* Mobile Text Cutoff & Ellipsis Protection */
    .mobile-text-auto {
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    /* Admin Mobile Sidebar Drawer & Overlay Protection */
    .admin-shell .admin-sidebar {
        position: fixed !important;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 50 !important;
        max-width: 85vw !important;
    }
}

/* Hide scrollbar for Chrome, Safari and Opera */
.scrollbar-none::-webkit-scrollbar {
    display: none;
}
/* Hide scrollbar for IE, Edge and Firefox */
.scrollbar-none {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

/* =============================================================
 * 📱 MOBILE RESPONSIVE TABLE-TO-CARD TRANSFORMATION (v6.9)
 * ============================================================= */
@media (max-width: 768px) {
    /* 1. Container & Table Layout Transformation */
    .admin-table > .overflow-x-auto,
    .table-responsive {
        overflow-x: visible !important;
    }

    .admin-table table,
    .table-responsive table,
    table.mobile-card-table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    /* 2. Hide Table Headers on Mobile */
    .admin-table thead,
    .table-responsive thead,
    table.mobile-card-table thead {
        display: none !important;
    }

    /* 3. Transform tbody into Flex Column */
    .admin-table tbody,
    .table-responsive tbody,
    table.mobile-card-table tbody {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
        width: 100% !important;
        padding: 0.5rem 0 !important;
    }

    /* 4. Transform Each Table Row (tr) into a Modern Card */
    .admin-table tbody tr,
    .table-responsive tbody tr,
    table.mobile-card-table tbody tr {
        display: block !important;
        width: 100% !important;
        background: #ffffff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 1.25rem !important;
        box-shadow: 0 4px 14px rgba(15, 23, 80, 0.06) !important;
        padding: 1.25rem !important;
        margin-bottom: 0.75rem !important;
        transition: transform 180ms ease, box-shadow 180ms ease !important;
        box-sizing: border-box !important;
    }

    .admin-table tbody tr:hover,
    .table-responsive tbody tr:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 8px 24px rgba(15, 23, 80, 0.12) !important;
    }

    /* 5. Transform Table Cells (td) into Key-Value Rows Inside Card */
    .admin-table tbody td,
    .table-responsive tbody td,
    table.mobile-card-table tbody td {
        display: flex !important;
        min-width: 0 !important;
        max-width: 100% !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0.65rem 0 !important;
        border-bottom: 1px solid #f3f4f6 !important;
        text-align: right !important;
        font-size: 0.875rem !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        box-sizing: border-box !important;
    }

    .admin-table tbody td > *,
    .table-responsive tbody td > *,
    table.mobile-card-table tbody td > * {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    .admin-table tbody td:last-child,
    .table-responsive tbody td:last-child {
        border-bottom: none !important;
    }

    /* 6. Render Data Label (Header Name) on the Left Side of Cell */
    .admin-table tbody td[data-label]::before,
    .table-responsive tbody td[data-label]::before,
    table.mobile-card-table tbody td[data-label]::before {
        content: attr(data-label);
        font-weight: 900;
        font-size: 0.725rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: #212e7d;
        margin-right: 1rem;
        text-align: left;
        flex: 0 0 auto;
    }

    /* 7. Action Cell Styling at Bottom of Card */
    .admin-table tbody td.admin-table__actions,
    .admin-table tbody td:last-child:has(button, a) {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0.75rem !important;
        padding-top: 0.85rem !important;
        margin-top: 0.5rem !important;
        border-top: 2px dashed #f3f4f6 !important;
        border-bottom: none !important;
    }

    .admin-table tbody td.admin-table__actions::before {
        content: attr(data-label);
        margin-right: auto !important;
    }

    .admin-table tbody td.admin-table__actions .flex:not(.admin-menu__item):not(.admin-menu__group),
    .table-responsive tbody td .flex:not(.admin-menu__item):not(.admin-menu__group) {
        justify-content: flex-end !important;
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
    }
}

/* =============================================================
 * 📱 MOBILE OVERFLOW & TEXT CLIPPING PROTECTION (v7.2)
 * ============================================================= */
.admin-table__action-menu {
    position: relative;
    display: inline-flex;
}

.admin-table tbody tr:has([data-admin-row-actions-menu]:not([hidden])) {
    transform: none !important;
}

@media (max-width: 640px) {
    .team-tabs {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        gap: 0.75rem;
        width: 100%;
    }

    .team-tabs .site-tab {
        width: 100%;
        justify-content: center;
        padding-inline: 0.75rem !important;
        text-align: center;
        white-space: nowrap;
    }

    .team-tabs .site-tab:nth-child(3) {
        grid-column: 1 / -1;
        justify-self: center;
        width: min(100%, 12rem);
    }

    .matches-ticket-actions .site-button:not(.site-button--block):not(.site-button--full-mobile):not(.site-button--align-right) {
        display: inline-flex !important;
        width: max-content !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .site-card,
    .group,
    div[class*="rounded-2xl"] {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Prevent long team names, badges or titles from overflowing */
    .truncate-mobile {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        max-width: 115px !important;
    }
}

/* Match detail has a denser mobile contract than the generic public shell. */
.match-detail-page {
    min-width: 0;
    overflow-x: hidden;
}

.match-detail-meta__group,
.match-detail-meta__stadium,
.match-detail-meta__date {
    min-width: 0;
}

.match-detail-meta__stadium {
    overflow-wrap: anywhere;
}

.match-detail-tabs {
    min-width: 0;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
}

@media (max-width: 767px) {
    .match-detail-tabs-region.has-scroll-indicators {
        display: grid;
        grid-template-columns: 1.75rem minmax(0, 1fr) 1.75rem;
        align-items: center;
        column-gap: 0.35rem;
        width: 100%;
        max-width: 100%;
    }

    .match-detail-tabs-region.has-scroll-indicators > [data-scroll-container] {
        grid-column: 2;
        min-width: 0;
        width: 100%;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .match-detail-tabs-region.has-scroll-indicators > [data-scroll-right],
    .match-detail-tabs-region.has-scroll-indicators > [data-scroll-left] {
        position: relative !important;
        z-index: 10;
        grid-row: 1;
        width: 1.75rem;
        height: 100%;
        min-height: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        top: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        right: auto !important;
    }

    .match-detail-tabs-region.has-scroll-indicators > [data-scroll-right] {
        grid-column: 3;
    }

    .match-detail-tabs-region.has-scroll-indicators > [data-scroll-left] {
        grid-column: 1;
    }
}

.match-detail-tab {
    flex: 0 0 auto;
    min-width: max-content;
    scroll-snap-align: start;
}

@media (max-width: 639px) {
    .match-detail-hero__content {
        padding: 1.25rem !important;
    }

    .match-detail-meta {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "competition status"
            "date date"
            "venue venue";
        align-items: center;
        gap: 0.7rem 0.75rem;
    }

    .match-detail-meta__group {
        display: contents;
    }

    .match-detail-meta__competition {
        grid-area: competition;
        justify-self: start;
    }

    .match-detail-meta__group--status > span:first-child {
        grid-area: date;
        justify-self: center;
        color: rgba(255, 255, 255, 0.92);
        font-size: 0.8rem;
        letter-spacing: 0.08em;
    }

    .match-detail-meta__group--status > span:last-child {
        grid-area: status;
        justify-self: end;
    }

    .match-detail-meta__stadium {
        grid-area: venue;
        justify-self: center;
        width: 100%;
        justify-content: center;
        padding-top: 0.15rem;
        color: rgba(255, 255, 255, 0.72);
        font-size: 0.68rem;
        letter-spacing: 0.08em;
    }

    .match-detail-teams {
        gap: 1.5rem;
    }

    .match-detail-team__logo {
        width: 6rem;
        height: 6rem;
        margin-bottom: 0.75rem;
    }

    .match-detail-team__name {
        font-size: 1.375rem;
        line-height: 1.08;
        overflow-wrap: anywhere;
    }

    .match-detail-ticket {
        margin-top: 2rem;
    }

    .match-detail-ticket__link {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 2.75rem;
        justify-content: center;
        padding-inline: 1rem !important;
        line-height: 1.15;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .match-detail-tabs {
        gap: 0.5rem;
        padding: 0.5rem !important;
    }

    .match-detail-tab {
        padding-inline: 0.75rem !important;
    }
}

/* Quantity Action Buttons & Touch Reset */
.site-qty-btn {
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    touch-action: manipulation;
    background-color: transparent;
    color: #374151;
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out, transform 0.1s ease-in-out;
}

@media (hover: hover) and (pointer: fine) {
    .site-qty-btn--minus:hover:not(:disabled) {
        background-color: #e11d48;
        color: #ffffff;
    }
    .site-qty-btn--plus:hover:not(:disabled) {
        background-color: #212E7D;
        color: #ffffff;
    }
}

.site-qty-btn:active:not(:disabled) {
    transform: scale(0.92);
}

.site-qty-btn--minus:active:not(:disabled) {
    background-color: #e11d48;
    color: #ffffff;
}

.site-qty-btn--plus:active:not(:disabled) {
    background-color: #212E7D;
    color: #ffffff;
}

/* Low Stock Critical Badge */
.site-low-stock-badge {
    transition: all 0.2s ease-in-out;
    box-shadow: 0 1px 3px rgba(225, 29, 72, 0.12);
}

/* iOS Safari Auto-Zoom Prevention for Form Inputs */
@media screen and (max-width: 768px) {
    input[type="text"],
    input[type="password"],
    input[type="email"],
    input[type="number"],
    input[type="tel"],
    input[type="url"],
    input[type="search"],
    input[type="date"],
    input[type="datetime-local"],
    input[type="time"],
    select,
    textarea,
    .admin-input,
    .form-control,
    .form-input {
        font-size: 16px !important;
        touch-action: manipulation;
    }
}
.menu-tree__grip { cursor: grab; touch-action: none; margin-right: .65rem; vertical-align: middle; }
.menu-tree__grip:active { cursor: grabbing; }
.menu-tree__order { min-width: 1.75rem; flex: 0 0 auto; padding-inline: .25rem; white-space: nowrap; }
.menu-tree__row.menu-tree__drop-before { box-shadow: inset 0 3px 0 #312e81; }
.menu-tree__row.menu-tree__drop-after { box-shadow: inset 0 -3px 0 #312e81; }
.menu-tree__row.menu-tree__drop-inside { outline: 2px dashed #312e81; outline-offset: -3px; background: rgb(49 46 129 / 7%); }
.menu-tree__row.menu-tree__dragging { opacity: .4; }
