/* =====================================================================
   CALLIOPE GLOBAL — WEBSITE THEME
   Visual language synchronized with the redesigned Server Presentation.
   Replacement for the previous webstyle CSS.
   ===================================================================== */

/* ---------------------------------------------------------------------
   LOCAL FONTS
   --------------------------------------------------------------------- */
@font-face {
    font-family: "AIRSERIF";
    src: url("../fonts/AIRSERIF.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "AIRSERIFB";
    src: url("../fonts/AIRSERIB.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ---------------------------------------------------------------------
   DESIGN TOKENS
   --------------------------------------------------------------------- */
:root {
    --calliope-bg: #0a0705;
    --calliope-bg-soft: #130d09;
    --calliope-surface: rgba(26, 18, 12, 0.88);
    --calliope-surface-strong: rgba(35, 24, 15, 0.94);
    --calliope-surface-dark: rgba(12, 8, 5, 0.92);

    --calliope-gold: #f0b76e;
    --calliope-gold-light: #ffcb7a;
    --calliope-gold-muted: #d39d56;
    --calliope-gold-dim: rgba(240, 183, 110, 0.18);

    --calliope-ember: #e87a3a;
    --calliope-ember-deep: #b8501e;

    --calliope-heading: #f5e3c0;
    --calliope-text: #e6cfa8;
    --calliope-muted: #a8896a;
    --calliope-dim: #6b5236;

    --calliope-border: rgba(240, 183, 110, 0.22);
    --calliope-border-strong: rgba(240, 183, 110, 0.42);
    --calliope-border-ember: rgba(232, 122, 58, 0.38);

    --calliope-success: #5dc88a;
    --calliope-danger: #e05a3a;
    --calliope-warning: #e8aa45;

    --calliope-radius-sm: 8px;
    --calliope-radius: 14px;
    --calliope-radius-lg: 18px;

    --calliope-shadow-sm: 0 10px 28px rgba(0, 0, 0, 0.30);
    --calliope-shadow: 0 18px 50px rgba(0, 0, 0, 0.38);
    --calliope-shadow-lg: 0 26px 78px rgba(0, 0, 0, 0.52);

    --calliope-transition: 0.2s ease;
}

/* ---------------------------------------------------------------------
   RESET / PAGE
   --------------------------------------------------------------------- */
html {
    min-height: 100%;
    color-scheme: dark;
    scroll-behavior: smooth;

    /*
     * Wallpaper is attached to the root element, so it remains visible
     * for the entire document even when the page is taller than the viewport.
     * No gradient, shadow or dark overlay is applied.
     */
    background-color: #0b0805;
    background-image: url("../images/wallpaper_bg_horse.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    background-attachment: fixed;
}

body {
    min-height: 100vh;
    margin: 0;
    background: transparent !important;
}

body::before,
body::after {
    display: none !important;
    content: none !important;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

::selection {
    color: #160e08;
    background: var(--calliope-gold-light);
}

a {
    color: var(--calliope-gold);
    text-decoration: none !important;
    transition:
        color var(--calliope-transition),
        text-shadow var(--calliope-transition),
        opacity var(--calliope-transition);
}

a:hover {
    color: var(--calliope-gold-light);
    text-shadow: 0 0 12px rgba(240, 183, 110, 0.20);
}

img {
    max-width: 100%;
}

p {
    color: var(--calliope-muted);
    font-size: 14px;
}

hr {
    height: 1px;
    margin: 24px 0;
    border: 0;
    opacity: 1;
    background: linear-gradient(90deg, transparent, var(--calliope-border-strong), transparent);
}

/* Existing custom cursors */
body,
div,
table,
form {
    cursor: url("cursor.png"), auto;
}

a,
button,
input,
select,
option,
[role="button"] {
    cursor: url("cursor_click.png"), pointer !important;
}

/* ---------------------------------------------------------------------
   LAYOUT
   --------------------------------------------------------------------- */
.container {
    max-width: 1320px;
}

.container.mt-1 {
    margin-top: 12px !important;
}

.container.mt-1 > .row {
    align-items: flex-start;
}
/* ---------------------------------------------------------------------
   FIXED HEADER
   --------------------------------------------------------------------- */
.header_menu {
    position: fixed;
    top: 0;
    z-index: 9999;
    width: 100%;
    min-height: 62px;

    color: var(--calliope-text) !important;
    border-bottom: 1px solid var(--calliope-border-strong);

    background:
        linear-gradient(180deg, rgba(24, 16, 10, 0.97), rgba(13, 9, 6, 0.95)) !important;
    box-shadow:
        0 12px 34px rgba(0, 0, 0, 0.42),
        inset 0 -1px rgba(255, 255, 255, 0.02);

    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

.header_menu::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: -1px;
    height: 1px;
    pointer-events: none;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 203, 122, 0.62),
        transparent
    );
}

.header_menu .navbar-brand {
    color: var(--calliope-heading) !important;
}

.header_menu .nav-link {
    position: relative;
    padding: 8px 12px !important;

    color: var(--calliope-muted) !important;
    font-size: 17px;
    line-height: 1.2;

    transition:
        color var(--calliope-transition),
        background var(--calliope-transition),
        text-shadow var(--calliope-transition);
}

.header_menu .nav-link::after {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: 1px;
    height: 1px;

    background: var(--calliope-gold);
    transition:
        left var(--calliope-transition),
        right var(--calliope-transition);
}

.header_menu .nav-link:hover,
.header_menu .nav-link.active {
    color: var(--calliope-gold-light) !important;
    text-shadow: 0 0 13px rgba(240, 183, 110, 0.22);
}

.header_menu .nav-link:hover::after,
.header_menu .nav-link.active::after {
    left: 14%;
    right: 14%;
}

.navbar-toggler {
    border-color: var(--calliope-border-strong) !important;
    background: rgba(240, 183, 110, 0.08);
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 3px rgba(240, 183, 110, 0.10);
}

/* ---------------------------------------------------------------------
   LANGUAGE PICKER
   --------------------------------------------------------------------- */
.languagepicker {
    border-color: var(--calliope-border-strong) !important;
    background:
        linear-gradient(180deg, rgba(25, 17, 11, 0.96), rgba(12, 8, 5, 0.94)) !important;
    box-shadow: var(--calliope-shadow-sm);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.languagepicker img {
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
    transition: transform var(--calliope-transition), filter var(--calliope-transition);
}

.languagepicker a:hover img {
    transform: scale(1.08);
    filter: brightness(1.12);
}

/* ---------------------------------------------------------------------
   TOP ACTION AREA
   --------------------------------------------------------------------- */
.download_button,
.main_head_item,
.online_btn {
    position: relative;
    overflow: hidden;

    border: 1px solid var(--calliope-border);
    border-radius: var(--calliope-radius);

    box-shadow: var(--calliope-shadow-sm);
    transition:
        transform var(--calliope-transition),
        border-color var(--calliope-transition),
        filter var(--calliope-transition),
        box-shadow var(--calliope-transition);
}

.download_button::after,
.main_head_item::after,
.online_btn::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 38%),
        radial-gradient(circle at 50% 0%, rgba(240, 183, 110, 0.08), transparent 58%);
}

.download_button {
    position: relative;
    overflow: hidden;
    height: 115px;
    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--calliope-heading);
    font-family: "AIRSERIFB", "Cinzel", serif;
    font-weight: 700;

    border: 1px solid var(--calliope-border);
    border-radius: var(--calliope-radius);

    background:
        linear-gradient(
            180deg,
            rgba(28, 19, 12, 0.78),
            rgba(10, 7, 5, 0.78)
        ),
        url("../images/clientdbtn.png") center/cover no-repeat;

    box-shadow: var(--calliope-shadow-sm);
}

.download_button .one {
    width: 100%;
    color: var(--calliope-heading);
    font-size: 30px;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.75);
}

.download_button .two {
    width: 100%;
    color: var(--calliope-gold);
    font-size: 20px;
}

.main_head_item {
    width: 116px;
    height: 115px;
    display: flex;
    justify-content: center;

    color: var(--calliope-muted);
    background:
        linear-gradient(180deg, rgba(28, 19, 12, 0.58), rgba(10, 7, 5, 0.60)),
        url("../images/kucukbutonlar.png") center/cover no-repeat;
}

.main_head_item span {
    color: var(--calliope-muted);
}

.online_btn {
    width: 381px;
    height: 115px;
    display: flex;
    justify-content: center;
    padding: 20px;

    font-weight: 700;
    background:
        linear-gradient(180deg, rgba(28, 19, 12, 0.62), rgba(10, 7, 5, 0.68)),
        url("../images/onlinebg.png") center/cover no-repeat;
}

.download_button:hover,
.download_button:focus,
.download_button:active {
    transform: none !important;
    border-color: var(--calliope-border) !important;
    box-shadow: var(--calliope-shadow-sm) !important;
    filter: brightness(1.3);
}
.main_head_item:hover {
    transform: translateY(-3px);
    border-color: var(--calliope-border-strong);
    filter: brightness(1.08);
    box-shadow: var(--calliope-shadow);
}

.online_one {
    color: var(--calliope-ember);
    font-family: "AIRSERIFB", "Cinzel", serif;
    font-size: 22px;
}

.online_two,
.online_three,
.online_four {
    color: var(--calliope-muted);
}

.online_two {
    font-size: 13px;
}

.online_three {
    font-size: 14px;
}

.online_four {
    color: var(--calliope-gold);
    font-family: "AIRSERIFB", "Cinzel", serif;
}

.gauge-container {
    position: relative;
    margin-top: 10px;
}

.gauge-progress {
    stroke: var(--calliope-ember) !important;
    transition: stroke-dashoffset 0.5s ease;
}

/* ---------------------------------------------------------------------
   SIDEBAR PANELS
   --------------------------------------------------------------------- */
.bg_left {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;

    color: var(--calliope-text);
    border: 1px solid var(--calliope-border);
    border-radius: var(--calliope-radius);

    background:
        radial-gradient(circle at 50% 0%, rgba(240, 183, 110, 0.06), transparent 36%),
        linear-gradient(145deg, var(--calliope-surface-strong), var(--calliope-surface));

    box-shadow: var(--calliope-shadow);
}

.bg_left::before,
.bg_main::before {
    content: "";
    position: absolute;
    top: 0;
    left: 9%;
    right: 9%;
    height: 1px;
    z-index: 2;
    pointer-events: none;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 203, 122, 0.66),
        transparent
    );
}

.left_header,
.main_header {
    position: relative;
    width: 100%;
    min-height: 46px;
    height: auto;
    display: flex;
    align-items: center;

    padding: 9px 18px;
    border-bottom: 1px solid var(--calliope-border);

    background:
        linear-gradient(180deg, rgba(240, 183, 110, 0.095), rgba(240, 183, 110, 0.025));
}

.left_header {
    justify-content: space-between;
}

.main_header {
    justify-content: flex-start;
}

.left_header_title,
.main_header_title {
    padding-top: 1px;

    color: var(--calliope-heading);
    font-family: "AIRSERIFB", "Cinzel", serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.045em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.60);
}

.left_header_title2,
.main_header_title_2 {
    padding-top: 1px;
    color: var(--calliope-dim);
    font-size: 13px;
}

.main_header_title_2 {
    margin: 0 10px;
}

.left_header_title2_link,
.main_header_link {
    padding-top: 1px;
    color: var(--calliope-gold);
    font-size: 13px;
}

.left_header_title2_link:hover,
.main_header_link:hover {
    color: var(--calliope-gold-light);
}

/* ---------------------------------------------------------------------
   MAIN CONTENT PANEL
   --------------------------------------------------------------------- */
.bg_main {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    width: 100%;
    min-height: 320px;
    height: auto;
    margin-bottom: 30px;
    padding: clamp(24px, 3vw, 42px);

    color: var(--calliope-text);
    font-family: "AIRSERIF", "Inter", Arial, sans-serif;
    line-height: 1.72;

    border: 1px solid var(--calliope-border);
    border-radius: var(--calliope-radius-lg);

    background:
        radial-gradient(circle at 50% 0%, rgba(240, 183, 110, 0.07), transparent 34%),
        linear-gradient(145deg, var(--calliope-surface-strong), var(--calliope-surface));

    box-shadow:
        var(--calliope-shadow-lg),
        inset 0 1px rgba(255, 255, 255, 0.025);
}

.bg_main::after {
    content: "";
    position: absolute;
    top: -190px;
    right: -170px;
    z-index: -1;
    width: 440px;
    height: 440px;
    pointer-events: none;

    background: radial-gradient(circle, rgba(232, 122, 58, 0.085), transparent 68%);
}

.bg_main h1,
.bg_main h2,
.bg_main h3,
.bg_main h4,
.bg_main h5,
.bg_main h6 {
    color: var(--calliope-heading);
    font-family: "AIRSERIFB", "Cinzel", Georgia, serif;
    font-weight: 700;
    letter-spacing: 0.035em;

    text-shadow:
        0 2px 4px rgba(0, 0, 0, 0.72),
        0 0 18px rgba(240, 183, 110, 0.08);
}

.bg_main h1,
.bg_main h2:first-child {
    position: relative;
    margin-top: 0;
    margin-bottom: 26px;
    padding-bottom: 18px;
}

.bg_main h1::after,
.bg_main h2:first-child::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 94px;
    height: 1px;

    background: linear-gradient(90deg, var(--calliope-gold), transparent);
}

.bg_main p,
.bg_main li,
.bg_main td,
.bg_main label,
.bg_main span {
    color: var(--calliope-text);
}

.bg_main strong,
.bg_main b {
    color: var(--calliope-gold-light);
}

.bg_main img {
    max-width: 100%;
    height: auto;
}

.bg_main .img-fluid,
.bg_main img.content-image {
    border: 1px solid var(--calliope-border);
    border-radius: 12px;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.40);

    transition:
        transform var(--calliope-transition),
        border-color var(--calliope-transition),
        filter var(--calliope-transition);
}

.bg_main .img-fluid:hover,
.bg_main img.content-image:hover {
    transform: translateY(-2px);
    border-color: var(--calliope-border-strong);
    filter: brightness(1.04);
}

/* Keep legacy content spacing */
.news,
.form_div {
    padding: 20px;
}

.new_div .new_title,
.new_div .new_date {
    margin-bottom: 0;
    color: var(--calliope-gold);
    font-family: "AIRSERIFB", "Cinzel", serif;
    font-size: 15px;
}

.new_div p {
    color: var(--calliope-muted);
    font-size: 14px;
}

/* ---------------------------------------------------------------------
   FORMS
   --------------------------------------------------------------------- */
label {
    color: var(--calliope-muted);
    font-size: 14px;
}

.form-control,
.form-select,
textarea,
select {
    min-height: 42px;

    color: var(--calliope-text) !important;
    font-size: 15px;

    border: 1px solid var(--calliope-border) !important;
    border-radius: var(--calliope-radius-sm);

    background: rgba(8, 5, 3, 0.62) !important;

    box-shadow:
        inset 0 1px 5px rgba(0, 0, 0, 0.34) !important;

    transition:
        border-color var(--calliope-transition),
        box-shadow var(--calliope-transition),
        background var(--calliope-transition);
}

.form-control::placeholder,
textarea::placeholder {
    color: var(--calliope-dim);
    opacity: 1;
}

.form-control:focus,
.form-select:focus,
textarea:focus,
select:focus {
    color: var(--calliope-text) !important;
    border-color: var(--calliope-gold-muted) !important;
    outline: 0;

    background: rgba(10, 7, 4, 0.78) !important;

    box-shadow:
        0 0 0 3px rgba(240, 183, 110, 0.09),
        inset 0 1px 5px rgba(0, 0, 0, 0.28) !important;
}

.input_icon_div {
    position: relative;
    display: flex;
}

.input_icon_div input,
.input_icon_div select {
    padding-top: 8px;
    padding-left: 40px;
}

.input_icon {
    position: absolute;
    top: 50%;
    left: 11px;
    z-index: 2;

    color: var(--calliope-dim);
    transform: translateY(-50%);
    pointer-events: none;
}

.input_note {
    margin-top: 3px;
    padding-left: 5px;
    color: var(--calliope-dim);
    font-size: 12px;
}

.register_footer_note {
    color: var(--calliope-ember);
    font-size: 12px;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--calliope-text);
    box-shadow: 0 0 0 1000px #120d09 inset !important;
    transition: background-color 5000s ease-in-out;
}

/* ---------------------------------------------------------------------
   BUTTONS
   --------------------------------------------------------------------- */
.btn,
.button,
.bg_main button,
.bg_main input[type="submit"] {
    position: relative;
    overflow: hidden;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    padding: 9px 20px;

    color: var(--calliope-heading) !important;
    font-size: 15px;
    font-weight: 700;

    border: 1px solid var(--calliope-border-strong);
    border-radius: var(--calliope-radius-sm);

    background:
        radial-gradient(circle at 50% 0%, rgba(255, 203, 122, 0.13), transparent 66%),
        linear-gradient(180deg, rgba(240, 183, 110, 0.18), rgba(211, 157, 86, 0.07));

    box-shadow:
        0 9px 24px rgba(0, 0, 0, 0.26),
        inset 0 1px rgba(255, 255, 255, 0.025);

    transition:
        transform var(--calliope-transition),
        color var(--calliope-transition),
        border-color var(--calliope-transition),
        background var(--calliope-transition),
        box-shadow var(--calliope-transition);
}

.button {
    width: min(250px, 100%);
    height: 52px;
    outline: none;
}

.btn:hover,
.button:hover,
.bg_main button:hover,
.bg_main input[type="submit"]:hover {
    transform: translateY(-1px);
    color: var(--calliope-gold-light) !important;
    border-color: var(--calliope-gold-light);

    background:
        radial-gradient(circle at 50% 0%, rgba(255, 203, 122, 0.18), transparent 66%),
        rgba(240, 183, 110, 0.14);

    box-shadow:
        0 13px 30px rgba(0, 0, 0, 0.34),
        0 0 20px rgba(240, 183, 110, 0.08);
}

.btn:focus,
.button:focus {
    box-shadow: 0 0 0 3px rgba(240, 183, 110, 0.11);
}

/* Login/user buttons shimmer */
.user_left {
    position: relative;
    overflow: hidden;
}

.user_left::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 203, 122, 0.10),
        transparent
    );

    animation: shine 3.4s infinite linear;
}

@keyframes shine {
    from { transform: translateX(-100%); }
    to   { transform: translateX(100%); }
}

/* ---------------------------------------------------------------------
   TABLES
   --------------------------------------------------------------------- */
.table,
.bg_main table {
    width: 100%;

    color: var(--calliope-text) !important;
    border: 1px solid var(--calliope-border);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;

    background: rgba(9, 6, 4, 0.48) !important;
    overflow: hidden;
}

th,
.table th,
.bg_main table th {
    padding: 11px 10px;

    color: var(--calliope-heading) !important;
    font-size: 14px !important;
    font-weight: 700;

    border: 0;
    border-bottom: 1px solid var(--calliope-border) !important;

    background: rgba(240, 183, 110, 0.085) !important;
}

td,
.table td,
.bg_main table td {
    padding: 10px;

    color: var(--calliope-text) !important;
    font-size: 14px !important;
    vertical-align: middle !important;

    border: 0;
    border-bottom: 1px solid rgba(240, 183, 110, 0.09) !important;

    background: rgba(11, 7, 5, 0.40) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: transparent;
    background: rgba(240, 183, 110, 0.028) !important;
}

.table tbody tr {
    transition: background var(--calliope-transition);
}

.table tbody tr:hover > *,
.bg_main table tbody tr:hover > * {
    background: rgba(240, 183, 110, 0.055) !important;
}

/* ---------------------------------------------------------------------
   ALERTS
   --------------------------------------------------------------------- */
.alert {
    display: flex;
    align-items: center;

    padding: 14px 16px;
    color: var(--calliope-text);
    font-size: 14px;

    border: 1px solid var(--calliope-border-ember);
    border-left: 3px solid var(--calliope-ember);
    border-radius: 0 9px 9px 0;

    background:
        linear-gradient(90deg, rgba(232, 122, 58, 0.12), rgba(240, 183, 110, 0.035));
}

.alert::before {
    content: url("../images/infoicon.png");
    flex: 0 0 auto;
    margin-right: 10px;
}

/* ---------------------------------------------------------------------
   PAYMENT CARDS
   --------------------------------------------------------------------- */
.payment_card {
    width: 30%;
    padding: 20px 30px;
    text-align: center;

    color: var(--calliope-text);
    border: 1px solid var(--calliope-border);
    border-radius: 12px;

    background:
        radial-gradient(circle at 50% 0%, rgba(240, 183, 110, 0.065), transparent 50%),
        rgba(14, 9, 6, 0.62);

    box-shadow: var(--calliope-shadow-sm);

    transition:
        transform var(--calliope-transition),
        border-color var(--calliope-transition),
        filter var(--calliope-transition);
}

.payment_card:hover {
    transform: translateY(-3px);
    border-color: var(--calliope-border-strong);
    filter: brightness(1.06);
}

.payment_card img {
    width: 100%;
    height: 75px;
    object-fit: contain;
}

.payment_card span {
    display: block;
    margin-top: 10px;

    color: var(--calliope-gold);
    font-family: "AIRSERIFB", "Cinzel", serif;
    font-size: 18px;
}

/* ---------------------------------------------------------------------
   PAGINATION
   --------------------------------------------------------------------- */
.pagination {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pagination a,
.pagination strong {
    float: none;
    min-width: 38px;
    margin: 0;
    padding: 8px 11px;
    text-align: center;

    color: var(--calliope-text);
    font-family: Arial, sans-serif;
    font-size: 13px;

    border: 1px solid var(--calliope-border);
    border-radius: 7px;
    background: rgba(10, 7, 5, 0.50);
}

.pagination a:hover,
.pagination strong {
    color: var(--calliope-gold-light);
    border-color: var(--calliope-border-strong);
    background: rgba(240, 183, 110, 0.08);
}

/* ---------------------------------------------------------------------
   DECORATIVE SEPARATORS
   --------------------------------------------------------------------- */
.seperatorsmall,
.seperator {
    position: absolute;
    left: 0;
    width: 100%;
    pointer-events: none;

    background-image:
        linear-gradient(90deg, transparent, var(--calliope-border-strong), transparent);
    background-repeat: no-repeat;
    background-position: center;
}

.seperatorsmall {
    top: -10px;
    height: 24px;
    background-size: 78% 1px;
}

.seperator {
    top: -15px;
    height: 30px;
    background-size: 88% 1px;
}

.user_left .seperatorsmall {
    top: 0;
}

/* ---------------------------------------------------------------------
   MODALS / IFRAMES
   --------------------------------------------------------------------- */
.modal {
    background: rgba(4, 3, 2, 0.88);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.modal-content,
.modal-content2,
.modal-content3 {
    overflow: hidden;
    border: 1px solid var(--calliope-border-strong);
    border-radius: var(--calliope-radius-lg);
    background: var(--calliope-bg-soft);
    box-shadow: 0 35px 110px rgba(0, 0, 0, 0.82);
}

.modal iframe {
    max-width: 100%;
}

/* ---------------------------------------------------------------------
   FOOTER
   --------------------------------------------------------------------- */
footer {
    position: relative;
    margin-top: 58px;
    padding: 42px 0;

    color: var(--calliope-muted);
    border-top: 1px solid var(--calliope-border-strong);

    background:
        radial-gradient(circle at 50% 0%, rgba(240, 183, 110, 0.065), transparent 40%),
        linear-gradient(180deg, rgba(20, 14, 9, 0.95), rgba(10, 7, 5, 0.98));

    box-shadow: 0 -16px 40px rgba(0, 0, 0, 0.28);
}

footer::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 8%;
    right: 8%;
    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 203, 122, 0.62),
        transparent
    );
}

footer p,
footer a {
    color: var(--calliope-muted);
}

footer a:hover {
    color: var(--calliope-gold-light);
}

/* ---------------------------------------------------------------------
   ODOMETER
   --------------------------------------------------------------------- */
.odometer.odometer-auto-theme,
.odometer.odometer-theme-default {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    font-family: "Helvetica Neue", sans-serif;
}

.odometer.odometer-auto-theme .odometer-digit,
.odometer.odometer-theme-default .odometer-digit {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer {
    display: inline-block;
    visibility: hidden;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-inner {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
    text-align: left;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon,
.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner,
.odometer.odometer-auto-theme .odometer-digit .odometer-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value {
    display: block;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner {
    -webkit-backface-visibility: hidden;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value {
    text-align: center;
    transform: translateZ(0);
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value {
    position: absolute;
}

.odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner {
    transition: transform 2s;
}

.odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner {
    transform: translateY(-100%);
}

.odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner {
    transform: translateY(-100%);
}

.odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner {
    transition: transform 2s;
    transform: translateY(0);
}

.odometer-inside {
    display: flex;
    align-items: center;
    margin-top: 0;
}

/* ---------------------------------------------------------------------
   HELPERS
   --------------------------------------------------------------------- */
.my-10 {
    margin: 100px 0;
}

.text-muted {
    color: var(--calliope-muted) !important;
}

.text-secondary {
    color: var(--calliope-dim) !important;
}

/* ---------------------------------------------------------------------
   SCROLLBARS
   --------------------------------------------------------------------- */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--calliope-gold-muted) rgba(0, 0, 0, 0.18);
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.20);
}

*::-webkit-scrollbar-thumb {
    border: 2px solid rgba(0, 0, 0, 0.20);
    border-radius: 10px;
    background: var(--calliope-gold-muted);
}

*::-webkit-scrollbar-thumb:hover {
    background: var(--calliope-gold);
}

/* ---------------------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------------------- */
@media (max-width: 1199px) {
    .container {
        width: min(100% - 28px, 1140px);
    }

    .download_button {
        width: 330px;
    }

    .online_btn {
        width: 350px;
    }
}

@media (max-width: 991px) {
    .header_menu {
        min-height: 58px;
    }

    .header_menu .navbar-collapse {
        margin-top: 10px;
        padding: 12px;
        border: 1px solid var(--calliope-border);
        border-radius: 10px;
        background: rgba(12, 8, 5, 0.96);
        box-shadow: var(--calliope-shadow-sm);
    }

    .container.mt-1 .col-lg-3,
    .container.mt-1 .col-lg-9 {
        width: 100%;
    }

    .bg_main {
        margin-top: 24px;
    }

    .payment_card {
        width: calc(50% - 12px);
    }
}

@media (max-width: 760px) {
    body {
        background-attachment: scroll;
    }

    .container {
        width: min(100% - 20px, 100%);
    }

    .bg_main {
        padding: 24px 18px;
        border-radius: 13px;
    }

    .bg_left {
        border-radius: 13px;
    }

    .download_button,
    .online_btn {
        width: 100%;
        max-width: 420px;
    }

    .main_head_item {
        width: 108px;
    }

    .payment_card {
        width: 100%;
    }

    .bg_main table {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .bg_main {
        padding: 20px 14px;
    }

    .left_header,
    .main_header {
        padding: 9px 13px;
    }

    .header_menu .nav-link {
        font-size: 15px;
    }

    .main_head_item {
        width: 96px;
        height: 102px;
    }

    .download_button {
        height: 105px;
    }

    .download_button .one {
        font-size: 25px;
    }

    .download_button .two {
        font-size: 17px;
    }
}

/* ---------------------------------------------------------------------
   REDUCED MOTION
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* =====================================================================
   TOP ACTION LAYOUT — MATCHES PHP col-lg-3 / col-lg-9
   ===================================================================== */

/*
 * Reproduces Bootstrap's .row geometry:
 * - the left section has exactly the same width as .col-lg-3
 * - the right section has exactly the same width as .col-lg-9
 * - the Download button therefore aligns with the authentication/ranking box
 */
.top-action-layout {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;

    width: calc(100% + 24px);
    margin-right: -12px;
    margin-left: -12px;
}

.top-action-left,
.top-action-right {
    min-width: 0;
    padding-right: 12px;
    padding-left: 12px;
}

.top-action-left {
    flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
}

.top-action-right {
    flex: 0 0 75%;
    width: 75%;
    max-width: 75%;

    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}

/* Download fills the same column width as the sidebar below */
.top-action-left .download_button {
    display: flex;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* Fixed-size social/action buttons */
.top-action-links {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 8px;
    margin: 0;
}

.top-action-right .main_head_item {
    flex: 0 0 128px;
    width: 128px;
    min-width: 128px;
    max-width: 128px;
    margin: 0;
}

.top-action-right .online_btn {
    flex: 0 0 350px;
    width: 350px;
    min-width: 350px;
    max-width: 350px;
    margin: 0;
}

/* Avoid dark overlays previously applied to the Download artwork */
.download_button {
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: cover !important;
}

.download_button::after {
    display: none !important;
    content: none !important;
}

/* Tablet: keep fixed components, but move statistics below when necessary */
@media (max-width: 1199px) and (min-width: 992px) {
    .top-action-right {
        flex-wrap: wrap;
    }

    .top-action-right .online_btn {
        flex-basis: 100%;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}

/* Below Bootstrap lg breakpoint, mirror the stacked content layout */
@media (max-width: 991px) {
    .top-action-layout {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .top-action-left,
    .top-action-right {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    .top-action-right {
        flex-wrap: wrap;
        justify-content: center;
    }

	.top-action-left .download_button {
		display: flex;
		width: 270px !important;
		min-width: 270px !important;
		max-width: 270px !important;
		margin: 0 !important;
	}

    .top-action-right .online_btn {
        flex: 0 0 350px;
    }
}

@media (max-width: 767px) {
    html {
        /*
         * Fixed backgrounds are unreliable on some mobile browsers.
         * Repeating vertically prevents a black area below long pages.
         */
        background-attachment: scroll;
        background-size: auto 100vh;
        background-repeat: repeat-y;
    }

    .top-action-links {
        max-width: 244px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .top-action-right {
        flex-direction: column;
    }

    .top-action-right .online_btn {
        width: 100%;
        min-width: 0;
        max-width: 420px;
        flex-basis: auto;
    }
}

@media (min-width: 992px) {
    .container.mt-1 > .row > .col-lg-9 {
        flex: 0 0 70%;
        width: 70%;
        max-width: 70%;
    }

    .container.mt-1 > .row > .col-lg-3 {
        flex: 0 0 25%;
        width: 25%;
        max-width: 25%;
    }
}