@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
    --mc-ink: #173127;
    --mc-green: #12372a;
    --mc-green-2: #1f5b43;
    --mc-mint: #d9f3e5;
    --mc-lime: #d9f67a;
    --mc-cream: #f5f1e8;
    --mc-paper: #fffdf8;
    --mc-white: #ffffff;
    --mc-muted: #68776e;
    --mc-line: #dfe3dc;
    --mc-soft: #edf0e9;
    --mc-red: #a33a35;
    --mc-amber: #9a6400;
    --mc-radius-sm: 12px;
    --mc-radius: 20px;
    --mc-radius-lg: 30px;
    --mc-shadow: 0 18px 50px rgba(19, 55, 42, .10);
}

html { font-size: 15px; background: var(--mc-cream); }
body.mc-whmcs {
    margin: 0;
    background: var(--mc-cream) !important;
    color: var(--mc-ink);
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    line-height: 1.65;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}
body.mc-whmcs::before,
body.mc-whmcs::after { display: none !important; }
body.mc-whmcs a { color: var(--mc-green-2); }
body.mc-whmcs a:hover { color: var(--mc-green); }
body.mc-whmcs h1,
body.mc-whmcs h2,
body.mc-whmcs h3,
body.mc-whmcs h4,
body.mc-whmcs h5,
body.mc-whmcs h6 {
    color: var(--mc-ink) !important;
    font-family: 'Manrope', system-ui, sans-serif;
    font-weight: 800;
    letter-spacing: -.045em;
}

.mc-skip-link {
    position: fixed;
    z-index: 9999;
    top: 12px;
    left: 12px;
    padding: 10px 16px;
    border-radius: 10px;
    background: var(--mc-white);
    color: var(--mc-green) !important;
    transform: translateY(-150%);
}
.mc-skip-link:focus { transform: translateY(0); }
.mc-eyebrow {
    margin: 0 0 10px;
    color: var(--mc-green-2);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

/* Buttons */
body.mc-whmcs .btn {
    min-height: 44px;
    padding: 10px 20px;
    border-radius: 999px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
body.mc-whmcs .btn:hover { transform: translateY(-1px); }
body.mc-whmcs .btn-primary,
body.mc-whmcs .btn-success,
body.mc-whmcs .btn-active-client {
    border-color: var(--mc-green) !important;
    background: var(--mc-green) !important;
    color: var(--mc-white) !important;
}
body.mc-whmcs .btn-primary:hover,
body.mc-whmcs .btn-success:hover {
    background: var(--mc-green-2) !important;
    box-shadow: 0 12px 24px rgba(18, 55, 42, .18);
}
body.mc-whmcs .btn-outline-primary {
    border: 1.5px solid var(--mc-green) !important;
    background: transparent !important;
    color: var(--mc-green) !important;
}
body.mc-whmcs .btn-outline-primary:hover { background: var(--mc-green) !important; color: #fff !important; }
body.mc-whmcs .btn-default,
body.mc-whmcs .btn-secondary,
body.mc-whmcs .btn-outline-secondary {
    border: 1px solid var(--mc-line) !important;
    background: var(--mc-white) !important;
    color: var(--mc-ink) !important;
}

/* Header */
.mc-header,
.mc-header .navbar { position: relative; z-index: 100; background: var(--mc-paper) !important; }
.mc-utility-bar { background: var(--mc-green); color: rgba(255,255,255,.8); font-size: .72rem; font-weight: 700; }
.mc-utility-inner { display: flex; align-items: center; justify-content: space-between; min-height: 32px; }
.mc-utility-inner a { color: #fff !important; }
.mc-utility-inner i { margin-right: 6px; color: var(--mc-lime); }
.mc-alert-bar { padding: 8px 0; border-bottom: 1px solid rgba(18,55,42,.08); background: var(--mc-mint); }
.mc-alert-button { padding: 0; border: 0; background: none; color: var(--mc-green); font: inherit; font-size: .8rem; font-weight: 800; }
.mc-navbar { min-height: 82px; padding: 12px 0; border-bottom: 1px solid rgba(18,55,42,.09); }
.mc-brand { display: inline-flex !important; align-items: center; gap: 11px; color: var(--mc-green) !important; text-decoration: none !important; }
.mc-brand::before { display: none !important; }
.mc-brand-mark { position: relative; display: block; width: 43px; height: 38px; border-radius: 10px 10px 7px 7px; background: var(--mc-green); }
.mc-brand-mark::before { content: ''; position: absolute; top: 7px; left: 7px; width: 29px; height: 15px; border-radius: 4px; background: var(--mc-mint); }
.mc-brand-mark span { position: absolute; right: 6px; bottom: 8px; left: 6px; height: 3px; border-radius: 2px; background: var(--mc-lime); }
.mc-brand-mark i { position: absolute; bottom: -3px; width: 7px; height: 7px; border: 2px solid var(--mc-paper); border-radius: 50%; background: var(--mc-green); }
.mc-brand-mark i:first-of-type { left: 7px; }
.mc-brand-mark i:last-of-type { right: 7px; }
.mc-brand-type { display: flex; flex-direction: column; line-height: 1; }
.mc-brand-type strong { font-size: 1.08rem; letter-spacing: -.055em; }
.mc-brand-type small { margin-top: 4px; font-size: .53rem; font-weight: 800; letter-spacing: .27em; }
.mc-navbar .navbar-toggler { color: var(--mc-green); border: 1px solid var(--mc-line); border-radius: 12px; }
.mc-primary-nav { align-items: center; gap: 4px; }
.mc-primary-nav .nav-link { position: relative; padding: 10px 13px !important; color: var(--mc-muted) !important; font-size: .84rem; font-weight: 700; }
.mc-primary-nav .nav-link:hover,
.mc-primary-nav .nav-link.active { color: var(--mc-green) !important; }
.mc-primary-nav .nav-link.active::after { content: ''; position: absolute; right: 13px; bottom: 3px; left: 13px; height: 2px; border-radius: 2px; background: var(--mc-green); }
.mc-nav-actions { display: flex; align-items: center; gap: 9px; margin-left: 18px; }
.mc-cart-link { position: relative; display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid var(--mc-line); border-radius: 50%; color: var(--mc-green) !important; }
.mc-cart-link span { position: absolute; top: -4px; right: -4px; display: grid; min-width: 19px; height: 19px; padding: 0 5px; place-items: center; border: 2px solid var(--mc-paper); border-radius: 20px; background: var(--mc-green); color: #fff; font-size: .62rem; }
.mc-sign-in { color: var(--mc-green) !important; }
.mc-account-button { display: flex !important; align-items: center; gap: 8px; min-height: 46px !important; padding: 5px 12px 5px 6px !important; border: 1px solid var(--mc-line) !important; background: var(--mc-white) !important; color: var(--mc-green) !important; }
.mc-account-avatar { display: grid; width: 33px; height: 33px; place-items: center; border-radius: 50%; background: var(--mc-mint); }
.mc-account-menu .dropdown-menu { min-width: 230px; margin-top: 10px; padding: 8px; border: 1px solid var(--mc-line); border-radius: 16px; box-shadow: var(--mc-shadow); }
.mc-account-menu .dropdown-item { padding: 10px 12px; border-radius: 10px; color: var(--mc-ink) !important; font-size: .82rem; font-weight: 700; }
.mc-account-menu .dropdown-item:hover { background: var(--mc-soft); }
.mc-account-menu .dropdown-item i { width: 22px; color: var(--mc-green-2); }

/* Main shell and generic WHMCS components */
.mc-main-body { min-height: 60vh; padding: 44px 0 84px; }
.mc-template-homepage .mc-main-body,
.mc-template-clientareahome .mc-main-body,
.mc-template-login .mc-main-body { padding-top: 0; }
.mc-breadcrumb { border: 0 !important; border-bottom: 1px solid var(--mc-line) !important; background: rgba(255,253,248,.7) !important; }
.mc-breadcrumb .breadcrumb { margin: 0; padding: 14px 0; background: transparent !important; font-size: .75rem; }
.mc-breadcrumb a { color: var(--mc-muted) !important; }
.mc-whmcs .card,
.mc-whmcs .panel,
.mc-whmcs .well,
.mc-whmcs .invoice-container,
.mc-whmcs .invoice-content {
    border: 1px solid var(--mc-line) !important;
    border-radius: var(--mc-radius) !important;
    background: var(--mc-paper) !important;
    color: var(--mc-ink);
    box-shadow: none;
}
.mc-whmcs .card-header,
.mc-whmcs .panel-heading {
    border-bottom: 1px solid var(--mc-line) !important;
    background: transparent !important;
    color: var(--mc-ink) !important;
}
.mc-whmcs .card-footer,
.mc-whmcs .panel-footer { border-top: 1px solid var(--mc-line) !important; background: rgba(237,240,233,.45) !important; }
.mc-whmcs .list-group-item { border-color: var(--mc-line) !important; background: var(--mc-paper) !important; color: var(--mc-ink) !important; }
.mc-whmcs .list-group-item.active { border-color: var(--mc-green) !important; background: var(--mc-green) !important; color: #fff !important; }
.mc-whmcs .sidebar .card { overflow: hidden; border-radius: 16px !important; }
.mc-whmcs .sidebar .card-header { padding: 16px; }
.mc-whmcs .sidebar .card-title { font-size: .95rem; }
.mc-whmcs .sidebar .list-group-item { padding: 12px 15px; font-size: .8rem; font-weight: 700; }
.mc-whmcs .form-control,
.mc-whmcs select.form-control,
.mc-whmcs textarea.form-control,
.mc-whmcs input[type="text"],
.mc-whmcs input[type="email"],
.mc-whmcs input[type="password"],
.mc-whmcs input[type="number"],
.mc-whmcs input[type="tel"] {
    min-height: 48px;
    border: 1px solid #ccd3ca !important;
    border-radius: var(--mc-radius-sm) !important;
    background: var(--mc-white) !important;
    color: var(--mc-ink) !important;
}
.mc-whmcs .form-control:focus { border-color: var(--mc-green-2) !important; box-shadow: 0 0 0 3px rgba(31,91,67,.12) !important; }
.mc-whmcs .input-group-text { min-width: 46px; justify-content: center; border-color: #ccd3ca !important; background: var(--mc-soft) !important; color: var(--mc-green) !important; }
.mc-whmcs label { color: var(--mc-ink); font-size: .78rem; font-weight: 800; }
.mc-whmcs .table { color: var(--mc-ink); }
.mc-whmcs .table th { border-color: var(--mc-line) !important; color: var(--mc-muted); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.mc-whmcs .table td { border-color: var(--mc-line) !important; }
.mc-whmcs .alert { border-radius: 14px; }
.mc-whmcs .alert-success { border-color: #a8d9bd; background: #e5f6ed; color: #185b38; }
.mc-whmcs .alert-info { border-color: #bfdacc; background: #edf7f1; color: var(--mc-green); }
.mc-whmcs .alert-warning { border-color: #ecd8a5; background: #fff7df; color: #725115; }
.mc-whmcs .alert-danger { border-color: #e7b8b4; background: #fff0ee; color: #8c302c; }
.mc-whmcs .status { display: inline-flex; align-items: center; min-height: 27px; padding: 5px 10px; border-radius: 999px; background: var(--mc-soft); color: var(--mc-ink); font-size: .67rem; font-weight: 800; line-height: 1; }
.mc-whmcs .status-active,
.mc-whmcs .status-paid { background: #dff3e8; color: #1b6841; }
.mc-whmcs .status-pending,
.mc-whmcs .status-unpaid { background: #fff0c9; color: #79520a; }
.mc-whmcs .status-cancelled,
.mc-whmcs .status-terminated,
.mc-whmcs .status-overdue { background: #fae5e2; color: #8f3630; }

/* Account home */
.mc-account-hero {
    display: flex;
    min-height: 250px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin: 0 calc((100vw - 100%)/-2) 34px;
    padding: 66px max(calc((100vw - 1140px)/2), 24px) 54px;
    overflow: hidden;
    background: var(--mc-green);
    color: #fff;
}
.mc-account-hero::after { content: ''; position: absolute; top: 105px; right: -70px; width: 320px; height: 180px; border: 44px solid rgba(217,246,122,.14); border-radius: 50%; transform: rotate(-12deg); }
.mc-account-hero > * { position: relative; z-index: 1; }
.mc-account-hero .mc-eyebrow { color: var(--mc-lime); }
body.mc-whmcs .mc-account-hero h1 { max-width: 720px; margin: 0 0 12px; color: #fff !important; font-size: clamp(2.35rem, 5vw, 4.7rem); line-height: .98; }
.mc-account-hero p:not(.mc-eyebrow) { margin: 0; color: rgba(255,255,255,.72); }
body.mc-whmcs .mc-account-hero .btn-primary { border-color: var(--mc-lime) !important; background: var(--mc-lime) !important; color: var(--mc-green) !important; white-space: nowrap; }
.mc-account-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 72px; }
.mc-stat-card { display: flex; min-height: 126px; align-items: center; gap: 13px; padding: 18px; border: 1px solid var(--mc-line); border-radius: 18px; background: var(--mc-paper); color: var(--mc-ink) !important; text-decoration: none !important; }
.mc-stat-card:hover { border-color: #bdc9c0; box-shadow: 0 14px 32px rgba(19,55,42,.08); transform: translateY(-2px); }
.mc-stat-card > i { margin-left: auto; color: #9aa59e; }
.mc-stat-icon { display: grid; width: 45px; height: 45px; flex: 0 0 45px; place-items: center; border-radius: 14px; background: var(--mc-soft); color: var(--mc-green); }
.mc-stat-card strong { display: block; font-size: 1.7rem; line-height: 1; }
.mc-stat-card small { display: block; margin-top: 7px; color: var(--mc-muted); font-size: .69rem; font-weight: 700; }
.mc-stat-primary { border-color: var(--mc-green); background: var(--mc-green); color: #fff !important; }
.mc-stat-primary .mc-stat-icon { background: rgba(255,255,255,.12); color: var(--mc-lime); }
.mc-stat-primary small,
.mc-stat-primary > i { color: rgba(255,255,255,.65); }
.mc-account-section { margin: 0 0 76px; }
.mc-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 26px; }
.mc-section-heading h2 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.55rem); }
.mc-section-heading > a { padding-bottom: 5px; font-size: .82rem; font-weight: 800; }
.mc-essentials-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mc-essential-card { display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 17px; min-height: 128px; padding: 22px; border: 1px solid var(--mc-line); border-radius: var(--mc-radius); background: var(--mc-paper); color: var(--mc-ink) !important; text-decoration: none !important; }
.mc-essential-card:hover { border-color: #b8c6bc; transform: translateY(-2px); }
.mc-essential-card > span { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; background: var(--mc-mint); color: var(--mc-green); font-size: 1.15rem; }
.mc-essential-card h3 { margin: 0 0 4px; font-size: 1rem; letter-spacing: -.025em; }
.mc-essential-card p { margin: 0; color: var(--mc-muted); font-size: .76rem; line-height: 1.5; }
.mc-essential-card > i { color: #a1aaa4; }
.mc-travel-note { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 24px; margin-bottom: 76px; padding: 28px 32px; border-radius: var(--mc-radius); background: var(--mc-mint); }
.mc-travel-note-icon { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 50%; background: var(--mc-green); color: var(--mc-lime); font-size: 1.25rem; }
.mc-travel-note h2 { margin: 0 0 5px; font-size: 1.25rem; }
.mc-travel-note p:last-child { margin: 0; color: var(--mc-muted); font-size: .78rem; }
.mc-update-card { overflow: hidden; margin-bottom: 20px; }
.mc-update-card .list-group-item { display: flex; justify-content: space-between; font-size: .8rem; }

/* My Trips list */
.mc-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.mc-page-heading h1 { margin: 0 0 10px; font-size: clamp(2.2rem, 5vw, 4rem); }
.mc-page-heading p:last-child { margin: 0; color: var(--mc-muted); }
.mc-trip-filters { display: flex; gap: 5px; margin-bottom: 22px; padding: 5px; width: fit-content; border: 1px solid var(--mc-line); border-radius: 999px; background: var(--mc-paper); }
.mc-trip-filters button { padding: 9px 16px; border: 0; border-radius: 999px; background: transparent; color: var(--mc-muted); font: inherit; font-size: .72rem; font-weight: 800; }
.mc-trip-filters button.active { background: var(--mc-green); color: #fff; }
.mc-trip-list { display: grid; gap: 14px; }
.mc-trip-card { position: relative; display: grid; grid-template-columns: 82px 1fr auto; align-items: center; gap: 22px; min-height: 160px; padding: 24px; overflow: hidden; border: 1px solid var(--mc-line); border-radius: var(--mc-radius); background: var(--mc-paper); }
.mc-trip-card:hover { border-color: #b9c7bd; box-shadow: var(--mc-shadow); transform: translateY(-2px); }
.mc-trip-card-link { position: absolute; z-index: 2; inset: 0; }
.mc-trip-date { display: grid; width: 82px; height: 94px; place-items: center; border-radius: 18px; background: var(--mc-green); color: var(--mc-lime); font-size: 1.55rem; }
.mc-trip-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }
.mc-booking-ref { color: var(--mc-green-2); font-size: .65rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.mc-trip-copy h2 { margin: 0 0 14px; font-size: 1.28rem; }
.mc-trip-summary { display: flex; flex-wrap: wrap; gap: 26px; }
.mc-trip-summary span { display: flex; flex-direction: column; }
.mc-trip-summary small { color: var(--mc-muted); font-size: .61rem; font-weight: 700; }
.mc-trip-summary strong { margin-top: 2px; color: var(--mc-ink); font-size: .76rem; }
.mc-trip-open { color: var(--mc-green); font-size: .76rem; font-weight: 800; }
.mc-trip-open i { margin-left: 5px; }
.mc-empty-state { padding: 62px 24px; border: 1px dashed #bdc7bf; border-radius: var(--mc-radius); text-align: center; }
.mc-empty-state > span { display: grid; width: 66px; height: 66px; margin: 0 auto 18px; place-items: center; border-radius: 50%; background: var(--mc-mint); color: var(--mc-green); font-size: 1.4rem; }
.mc-empty-state h2 { margin: 0 0 8px; }
.mc-empty-state p { margin: 0 auto 20px; color: var(--mc-muted); }

/* Trip detail */
.mc-back-link { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 20px; font-size: .76rem; font-weight: 800; }
.mc-payment-alert { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.mc-payment-alert > div { display: flex; align-items: center; gap: 10px; }
.mc-booking-hero { display: grid; grid-template-columns: 1fr 250px; align-items: center; gap: 38px; min-height: 310px; margin-bottom: 24px; padding: 44px; overflow: hidden; border-radius: var(--mc-radius-lg); background: var(--mc-green); color: #fff; }
.mc-booking-hero-copy .mc-eyebrow { color: var(--mc-lime); }
.mc-booking-hero-copy .mc-booking-ref { color: rgba(255,255,255,.62); }
body.mc-whmcs .mc-booking-hero-copy h1 { margin: 12px 0 13px; color: #fff !important; font-size: clamp(2.1rem, 5vw, 4.2rem); line-height: 1; }
.mc-booking-hero-copy > p:last-child { max-width: 560px; margin: 0; color: rgba(255,255,255,.68); }
.mc-booking-hero .status { background: var(--mc-lime); color: var(--mc-green); }
.mc-ticket-stub { position: relative; display: flex; min-height: 200px; flex-direction: column; justify-content: center; padding: 25px; overflow: hidden; border-radius: 21px; background: var(--mc-lime); color: var(--mc-green); }
.mc-ticket-stub::after { content: ''; position: absolute; top: 0; bottom: 0; left: 23px; border-left: 2px dashed rgba(18,55,42,.18); }
.mc-ticket-stub > span { position: absolute; top: 18px; right: 20px; font-size: 1.25rem; }
.mc-ticket-stub small { margin-left: 18px; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mc-ticket-stub strong { margin: 6px 0 20px 18px; font-size: 1.75rem; letter-spacing: .02em; }
.mc-ticket-stub em { margin-left: 18px; font-size: .66rem; font-style: normal; font-weight: 800; }
.mc-booking-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: start; gap: 20px; }
.mc-booking-main { display: grid; gap: 20px; }
.mc-booking-panel { padding: 28px; border: 1px solid var(--mc-line); border-radius: var(--mc-radius); background: var(--mc-paper); }
.mc-panel-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
.mc-panel-heading > span { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 14px; background: var(--mc-mint); color: var(--mc-green); }
.mc-panel-heading .mc-eyebrow { margin-bottom: 3px; }
.mc-panel-heading h2 { margin: 0; font-size: 1.35rem; }
.mc-panel-heading > a { margin-left: auto; font-size: .72rem; font-weight: 800; }
.mc-detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--mc-line); border-left: 1px solid var(--mc-line); }
.mc-detail-item { min-height: 95px; padding: 19px; border-right: 1px solid var(--mc-line); border-bottom: 1px solid var(--mc-line); }
.mc-detail-item small { display: block; margin-bottom: 7px; color: var(--mc-muted); font-size: .66rem; font-weight: 700; }
.mc-detail-item strong { color: var(--mc-ink); }
.mc-detail-pending strong { color: var(--mc-amber); }
.mc-panel-note { margin: 17px 0 0; color: var(--mc-muted); font-size: .72rem; }
.mc-panel-note i { margin-right: 6px; color: var(--mc-green-2); }
.mc-booking-aside { position: sticky; top: 20px; display: grid; gap: 20px; }
.mc-payment-summary > .mc-eyebrow { margin-bottom: 18px; }
.mc-payment-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--mc-line); }
.mc-payment-summary > div span { color: var(--mc-muted); font-size: .71rem; }
.mc-payment-summary > div strong { max-width: 55%; text-align: right; font-size: .75rem; }
.mc-payment-summary .btn { margin-top: 20px; }
.mc-paid-badge { display: block; margin-top: 20px; padding: 12px; border-radius: 12px; background: var(--mc-mint); color: var(--mc-green); text-align: center; font-size: .75rem; font-weight: 800; }
.mc-help-card { padding: 27px; border-radius: var(--mc-radius); background: var(--mc-mint); }
.mc-help-card > span { display: grid; width: 46px; height: 46px; margin-bottom: 18px; place-items: center; border-radius: 50%; background: var(--mc-green); color: var(--mc-lime); }
.mc-help-card h2 { margin: 0 0 8px; font-size: 1.15rem; }
.mc-help-card p { color: var(--mc-muted); font-size: .74rem; }
.mc-help-card a { display: block; margin-top: 8px; font-size: .76rem; font-weight: 800; }

/* Authentication */
.mc-auth-layout { display: grid; min-height: 650px; grid-template-columns: 1fr 1fr; margin: 0 calc((100vw - 100%)/-2); background: var(--mc-paper); }
.mc-auth-story { display: flex; flex-direction: column; justify-content: center; padding: 70px max(calc((100vw - 1140px)/2), 40px); padding-right: 8vw; background: var(--mc-green); color: #fff; }
.mc-auth-story .mc-eyebrow { color: var(--mc-lime); }
body.mc-whmcs .mc-auth-story h1 { max-width: 580px; margin: 0 0 20px; color: #fff !important; font-size: clamp(2.6rem, 5vw, 5.3rem); line-height: .98; }
.mc-auth-story > p:not(.mc-eyebrow) { max-width: 520px; color: rgba(255,255,255,.68); }
.mc-auth-story ul { margin: 26px 0; padding: 0; list-style: none; }
.mc-auth-story li { display: flex; align-items: center; gap: 13px; padding: 10px 0; color: rgba(255,255,255,.85); font-size: .82rem; font-weight: 700; }
.mc-auth-story li span { color: var(--mc-lime); font-size: .63rem; letter-spacing: .1em; }
.mc-auth-story > a { color: var(--mc-lime) !important; font-size: .8rem; font-weight: 800; }
.mc-auth-card { align-self: center; width: min(470px, calc(100% - 50px)); margin: 45px auto; padding: 38px; border: 1px solid var(--mc-line); border-radius: var(--mc-radius-lg); background: var(--mc-white); box-shadow: var(--mc-shadow); }
.mc-auth-card h2 { margin: 0 0 8px; font-size: 2rem; }
.mc-auth-intro { margin-bottom: 27px; color: var(--mc-muted); font-size: .78rem; }
.mc-auth-card .form-group { margin-bottom: 19px; }
.mc-auth-card .input-group-text { border-radius: 12px 0 0 12px !important; }
.mc-auth-card .input-group .form-control { border-left: 0 !important; }
.mc-remember { display: flex; align-items: center; gap: 8px; margin: 3px 0 20px; color: var(--mc-muted) !important; font-size: .7rem !important; font-weight: 600 !important; }
.mc-auth-footer { margin-top: 20px; color: var(--mc-muted); text-align: center; font-size: .73rem; }

/* WHMCS landing */
.mc-home-hero { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 65px; min-height: 570px; margin: 0 calc((100vw - 100%)/-2) 75px; padding: 80px max(calc((100vw - 1140px)/2), 24px); overflow: hidden; background: var(--mc-cream); }
.mc-home-copy h1 { max-width: 720px; margin: 0 0 22px; font-size: clamp(3.2rem, 7vw, 6.5rem); line-height: .91; }
.mc-home-copy > p:not(.mc-eyebrow) { max-width: 620px; color: var(--mc-muted); font-size: 1rem; }
.mc-home-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0; }
.mc-home-trust { display: flex; flex-wrap: wrap; gap: 20px; color: var(--mc-muted); font-size: .68rem; font-weight: 700; }
.mc-home-trust i { margin-right: 5px; color: var(--mc-green-2); }
.mc-route-card { min-height: 390px; padding: 32px; border-radius: 32px; background: var(--mc-green); color: #fff; box-shadow: 0 28px 70px rgba(18,55,42,.22); transform: rotate(2deg); }
.mc-route-card-top { display: flex; justify-content: space-between; color: var(--mc-lime); font-size: .68rem; font-weight: 800; letter-spacing: .13em; }
.mc-route-line { display: flex; align-items: center; margin: 105px 0 15px; }
.mc-route-line span { height: 3px; flex: 1; background: rgba(255,255,255,.25); }
.mc-route-line i { color: var(--mc-lime); }
.mc-route-labels { display: flex; justify-content: space-between; color: rgba(255,255,255,.75); font-size: .67rem; }
.mc-route-labels strong { color: #fff; }
.mc-route-card-bottom { display: flex; justify-content: space-between; margin-top: 95px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.62); font-size: .64rem; }
.mc-booking-steps { margin-bottom: 80px; }
.mc-booking-steps ol { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--mc-line); border-left: 1px solid var(--mc-line); }
.mc-booking-steps li { min-height: 205px; padding: 26px; border-right: 1px solid var(--mc-line); border-bottom: 1px solid var(--mc-line); background: var(--mc-paper); }
.mc-booking-steps li > span { color: var(--mc-green-2); font-size: .67rem; font-weight: 800; letter-spacing: .12em; }
.mc-booking-steps h3 { margin: 52px 0 8px; font-size: 1rem; }
.mc-booking-steps p { margin: 0; color: var(--mc-muted); font-size: .72rem; }
.mc-product-group-card { display: block; height: 100%; min-height: 260px; padding: 27px; border: 1px solid var(--mc-line); border-radius: var(--mc-radius); background: var(--mc-paper); color: var(--mc-ink) !important; text-decoration: none !important; }
.mc-product-group-card:hover { border-color: #b9c7bd; transform: translateY(-3px); box-shadow: var(--mc-shadow); }
.mc-product-group-card > span { display: grid; width: 50px; height: 50px; margin-bottom: 38px; place-items: center; border-radius: 15px; background: var(--mc-mint); color: var(--mc-green); }
.mc-product-group-card h3 { margin: 0 0 8px; font-size: 1.2rem; }
.mc-product-group-card p { min-height: 47px; margin: 0 0 20px; color: var(--mc-muted); font-size: .75rem; }
.mc-product-group-card strong { color: var(--mc-green); font-size: .72rem; }
.mc-home-account { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-bottom: 20px; padding: 48px; border-radius: var(--mc-radius-lg); background: var(--mc-green); color: #fff; }
.mc-home-account .mc-eyebrow { color: var(--mc-lime); }
body.mc-whmcs .mc-home-account h2 { margin: 0 0 9px; color: #fff !important; font-size: 2rem; }
.mc-home-account p:last-child { margin: 0; color: rgba(255,255,255,.68); }
.mc-home-account .btn-light { color: var(--mc-green) !important; white-space: nowrap; }

/* Footer */
.mc-footer { position: relative; z-index: 1; padding: 60px 0 20px; border: 0 !important; background: #0d2a20 !important; color: rgba(255,255,255,.66); }
.mc-footer-grid { display: grid; grid-template-columns: 1.6fr .7fr 1fr; gap: 55px; }
.mc-brand-light { color: #fff !important; }
.mc-brand-light .mc-brand-mark { background: var(--mc-lime); }
.mc-brand-light .mc-brand-mark::before { background: var(--mc-green); }
.mc-brand-light .mc-brand-mark span { background: var(--mc-green); }
.mc-brand-light .mc-brand-mark i { border-color: #0d2a20; background: var(--mc-lime); }
.mc-footer-intro p { max-width: 380px; margin: 20px 0 0; font-size: .77rem; }
.mc-footer-links { display: flex; flex-direction: column; gap: 9px; }
.mc-footer-links strong { margin-bottom: 8px; color: #fff; font-size: .78rem; }
.mc-footer-links a { color: rgba(255,255,255,.65) !important; font-size: .73rem; }
.mc-footer-links a:hover { color: var(--mc-lime) !important; }
.mc-footer-bottom { display: flex; justify-content: space-between; margin-top: 46px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); font-size: .63rem; }

/* Modal and compatibility fixes */
.mc-whmcs .modal-content { border: 1px solid var(--mc-line) !important; border-radius: var(--mc-radius) !important; background: var(--mc-paper) !important; color: var(--mc-ink); }
.mc-whmcs .modal-header,
.mc-whmcs .modal-footer { border-color: var(--mc-line) !important; }
.mc-whmcs .dropdown-menu { border-color: var(--mc-line); background: var(--mc-white); }
.mc-whmcs .dropdown-item { color: var(--mc-ink); }
.mc-whmcs .dropdown-item:hover { background: var(--mc-soft); }
.mc-whmcs .dataTables_wrapper .dataTables_filter input { width: auto; }

@media (max-width: 1199px) {
    .mc-account-stats { grid-template-columns: repeat(2, 1fr); }
    .mc-home-hero { gap: 35px; }
    .mc-booking-layout { grid-template-columns: minmax(0, 1fr) 300px; }
}

@media (max-width: 991px) {
    .mc-navbar .navbar-collapse { padding: 18px 0 8px; border-top: 1px solid var(--mc-line); }
    .mc-primary-nav { align-items: stretch; }
    .mc-primary-nav .nav-link { padding: 11px 0 !important; }
    .mc-primary-nav .nav-link.active::after { display: none; }
    .mc-nav-actions { margin: 12px 0 0; }
    .mc-account-hero { align-items: flex-start; flex-direction: column; }
    .mc-booking-layout { grid-template-columns: 1fr; }
    .mc-booking-aside { position: static; grid-template-columns: 1fr 1fr; }
    .mc-home-hero { grid-template-columns: 1fr; }
    .mc-route-card { width: min(600px, 100%); min-height: 330px; transform: none; }
    .mc-booking-steps ol { grid-template-columns: repeat(2, 1fr); }
    .mc-auth-layout { grid-template-columns: 1fr; }
    .mc-auth-story { min-height: 540px; padding: 70px 45px; }
    .mc-auth-card { margin: 55px auto; }
}

@media (max-width: 767px) {
    .mc-main-body { padding: 30px 0 60px; }
    .mc-utility-inner span { display: none; }
    .mc-utility-inner { justify-content: flex-end; }
    .mc-navbar { min-height: 72px; }
    .mc-account-hero { margin-bottom: 22px; padding-top: 48px; padding-bottom: 40px; }
    .mc-account-hero h1 { font-size: 2.75rem; }
    .mc-account-stats { margin-bottom: 55px; }
    .mc-essentials-grid { grid-template-columns: 1fr; }
    .mc-travel-note { grid-template-columns: 54px 1fr; padding: 23px; }
    .mc-travel-note-icon { width: 54px; height: 54px; }
    .mc-travel-note .btn { grid-column: 1 / -1; }
    .mc-page-heading { align-items: flex-start; flex-direction: column; }
    .mc-trip-card { grid-template-columns: 64px 1fr; }
    .mc-trip-date { width: 64px; height: 78px; }
    .mc-trip-open { grid-column: 2; }
    .mc-booking-hero { grid-template-columns: 1fr; padding: 30px; }
    .mc-ticket-stub { width: min(280px, 100%); min-height: 160px; }
    .mc-booking-aside { grid-template-columns: 1fr; }
    .mc-footer-grid { grid-template-columns: 1fr 1fr; }
    .mc-footer-intro { grid-column: 1 / -1; }
    .mc-home-hero { padding-top: 58px; }
    .mc-home-copy h1 { font-size: 3.7rem; }
    .mc-home-account { align-items: flex-start; flex-direction: column; padding: 34px; }
}

@media (max-width: 575px) {
    .mc-brand-type strong { font-size: .95rem; }
    .mc-book-button { display: none; }
    .mc-account-stats { grid-template-columns: 1fr 1fr; gap: 9px; }
    .mc-stat-card { min-height: 140px; align-items: flex-start; flex-direction: column; padding: 15px; }
    .mc-stat-card > i { display: none; }
    .mc-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
    .mc-essential-card { grid-template-columns: 46px 1fr; padding: 18px; }
    .mc-essential-card > span { width: 46px; height: 46px; }
    .mc-essential-card > i { display: none; }
    .mc-trip-filters { width: 100%; overflow-x: auto; }
    .mc-trip-filters button { flex: 0 0 auto; }
    .mc-trip-card { grid-template-columns: 1fr; padding: 19px; }
    .mc-trip-date { width: 48px; height: 48px; border-radius: 14px; font-size: 1rem; }
    .mc-trip-open { grid-column: auto; }
    .mc-trip-summary { gap: 14px; }
    .mc-detail-grid { grid-template-columns: 1fr; }
    .mc-booking-panel { padding: 21px; }
    .mc-panel-heading { align-items: flex-start; flex-wrap: wrap; }
    .mc-panel-heading > a { width: 100%; margin-left: 60px; }
    .mc-auth-story { min-height: 490px; padding: 55px 23px; }
    .mc-auth-story h1 { font-size: 3.05rem; }
    .mc-auth-card { width: calc(100% - 28px); padding: 25px 20px; }
    .mc-home-copy h1 { font-size: 3.1rem; }
    .mc-home-actions { align-items: stretch; flex-direction: column; }
    .mc-home-actions .btn { width: 100%; }
    .mc-route-card { min-height: 300px; padding: 24px; }
    .mc-route-line { margin-top: 88px; }
    .mc-route-card-bottom { margin-top: 70px; }
    .mc-booking-steps ol { grid-template-columns: 1fr; }
    .mc-booking-steps li { min-height: 170px; }
    .mc-booking-steps h3 { margin-top: 32px; }
    .mc-footer-grid { grid-template-columns: 1fr; }
    .mc-footer-intro { grid-column: auto; }
    .mc-footer-bottom { flex-direction: column; gap: 7px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
