/*
 * Lone Star Data Ranch client area: 2026 redesign
 * Colors and fonts match lonestardataranch.com (Breakdance Global Settings).
 * Loaded after the Twenty-One theme CSS, so these rules restyle every client area page.
 */

/* ---------- Fonts (self-hosted, same files as the website) ---------- */
@font-face { font-family: "Outfit"; src: url("../fonts/outfit-100-900-latin.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Alfa Slab One"; src: url("../fonts/alfa-slab-one-400-latin.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Zilla Slab"; src: url("../fonts/zilla-slab-500-latin.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Zilla Slab"; src: url("../fonts/zilla-slab-600-latin.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Zilla Slab"; src: url("../fonts/zilla-slab-700-latin.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Rye"; src: url("../fonts/rye-400-latin.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }

/* ---------- Palette (same values as the website's Global Settings) ---------- */
:root {
    --lsdr-gold: #FFCA10;
    --lsdr-gold-deep: #E8B400;
    --lsdr-navy-deep: #0A1823;
    --lsdr-navy: #102232;
    --lsdr-navy-soft: #1A3247;
    --lsdr-cream: #FAF5EA;
    --lsdr-paper: #FFFDF8;
    --lsdr-parchment: #EFE3C8;
    --lsdr-sand: #E2D6BE;
    --lsdr-rust: #B5452F;
    --lsdr-rust-deep: #9A3826;
    --lsdr-blue: #1A6A9E;
    --lsdr-mist: #C9D6E0;
    --lsdr-mist-light: #E2EAF0;
    --lsdr-slate: #52606E;
    --lsdr-text: #1E2B38;
    --lsdr-text-soft: #3C4A57;
    --lsdr-font-body: "Outfit", system-ui, sans-serif;
    --lsdr-font-display: "Alfa Slab One", Georgia, serif;
    --lsdr-font-slab: "Zilla Slab", Georgia, serif;
    --lsdr-font-western: "Rye", Georgia, serif;
    --lsdr-radius: 6px;
    --lsdr-shadow: 4px 4px 0 var(--lsdr-navy-deep);
}

/* ---------- Base ---------- */
body.lsdr, body.primary-bg-color {
    background: var(--lsdr-cream);
    color: var(--lsdr-text);
    font-family: var(--lsdr-font-body);
    font-size: 16px;
}
/* Base link and heading colors use :where() so their specificity is zero: components (card headers, badges, buttons) always win. */
:where(body.lsdr) a { color: var(--lsdr-rust-deep); }
:where(body.lsdr) a:hover, :where(body.lsdr) a:focus { color: var(--lsdr-navy-deep); }
:where(body.lsdr) :is(h1, .h1) { font-family: var(--lsdr-font-display); font-weight: 400; color: var(--lsdr-navy-deep); letter-spacing: .3px; }
:where(body.lsdr) :where(h2, h3, h4, h5, h6, .h2, .h3, .h4, .h5, .h6) { font-family: var(--lsdr-font-slab); font-weight: 700; color: var(--lsdr-navy-deep); }
body.lsdr .text-muted { color: var(--lsdr-slate) !important; }
body.lsdr ::selection { background: var(--lsdr-gold); color: var(--lsdr-navy-deep); }
body.lsdr :focus-visible { outline: 3px solid var(--lsdr-gold); outline-offset: 2px; }

/* ---------- Site header (matches the website) ---------- */
.lsdr-site-header {
    position: relative;
    z-index: 1030;
    background: var(--lsdr-navy-deep);
    border-bottom: 3px solid var(--lsdr-rust);
}
.lsdr-site-header__inner {
    /* Same widths as the Bootstrap .container below, so the logo lines up with the client area menus */
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}
/* The logo hangs below the header like the website. The bars under the header leave room for it (see "Room for the hanging logo"). */
.lsdr-site-logo { position: relative; display: block; width: 112px; height: 72px; flex-shrink: 0; z-index: 5; }
.lsdr-site-logo img {
    position: absolute; top: 6px; left: 0; width: 112px; height: auto;
    filter: drop-shadow(0 12px 18px rgba(0,0,0,.6));
    transition: transform .35s ease;
}
.lsdr-site-logo:hover img, .lsdr-site-logo:focus img { transform: scale(1.05); }
.lsdr-site-nav { flex: 1 1 auto; align-items: center; justify-content: flex-end; gap: 16px; }
.lsdr-site-links { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.lsdr-site-header .lsdr-site-links a {
    display: block;
    padding: 10px 9px;
    color: var(--lsdr-cream);
    font-family: var(--lsdr-font-body);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 2px solid transparent;
}
.lsdr-site-header .lsdr-site-links a:hover, .lsdr-site-header .lsdr-site-links a:focus { color: var(--lsdr-gold); border-bottom-color: var(--lsdr-gold); text-decoration: none; }
.lsdr-site-actions { display: flex; align-items: center; gap: 12px; }

/* Buttons used in the header and footer */
.lsdr-btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 11px 16px;
    border-radius: 4px;
    font-family: var(--lsdr-font-body);
    font-size: 13px; font-weight: 700; line-height: 15.6px;
    letter-spacing: 1.2px; text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    transition: border-color .16s, background-color .16s, color .16s;
}
.lsdr-btn-outline { background: transparent; color: var(--lsdr-cream) !important; border: 2px solid rgba(250,245,234,.55); padding: 9px 14px; }
.lsdr-btn-outline:hover, .lsdr-btn-outline:focus, .lsdr-cp.show .lsdr-btn-outline { border-color: var(--lsdr-cream); color: var(--lsdr-gold) !important; }
.lsdr-btn-gold { background: var(--lsdr-gold); color: var(--lsdr-navy-deep) !important; border: 2px solid var(--lsdr-gold); padding: 9px 14px; }
.lsdr-btn-gold:hover, .lsdr-btn-gold:focus { background: var(--lsdr-gold-deep); border-color: var(--lsdr-gold-deep); }

/* Control Panel dropdown */
.lsdr-cp-menu {
    min-width: 300px;
    margin-top: 10px !important;
    padding: 10px;
    background: var(--lsdr-navy-deep);
    border: 1px solid rgba(255,255,255,.12);
    border-top: 2px solid var(--lsdr-rust);
    border-radius: 6px;
    box-shadow: 0 18px 40px rgba(0,0,0,.45);
}
.lsdr-site-header .lsdr-cp-menu .dropdown-item { display: block; padding: 10px 14px; border-radius: 4px; white-space: normal; color: var(--lsdr-cream) !important; }
.lsdr-cp-menu .dropdown-item strong { display: block; font-size: 16px; font-weight: 700; }
.lsdr-cp-menu .dropdown-item span { display: block; margin-top: 2px; font-size: 13px; color: var(--lsdr-mist); }
.lsdr-cp-menu .dropdown-item:hover, .lsdr-cp-menu .dropdown-item:focus { background: var(--lsdr-navy-soft); }
.lsdr-cp-menu .dropdown-item:hover strong, .lsdr-cp-menu .dropdown-item:focus strong { color: var(--lsdr-gold); }

/* Mobile site menu */
.lsdr-site-toggle {
    margin-left: auto; width: 44px; height: 44px; padding: 10px 8px;
    background: transparent; border: 0; cursor: pointer;
    display: flex; flex-direction: column; justify-content: space-between;
}
.lsdr-site-toggle span { display: block; height: 3px; border-radius: 2px; background: var(--lsdr-cream); }
.lsdr-site-toggle:hover span { background: var(--lsdr-gold); }
@media (max-width: 1199.98px) {
    .lsdr-site-nav { flex-basis: 100%; padding: 8px 0 16px; }
    .lsdr-site-nav.show, .lsdr-site-nav.collapsing { display: block; }
    .lsdr-site-links { flex-direction: column; align-items: stretch; }
    .lsdr-site-header .lsdr-site-links a { padding: 12px 4px; font-size: 16px; border-bottom: 1px solid rgba(255,255,255,.08); }
    .lsdr-site-actions { flex-wrap: wrap; padding-top: 14px; }
    .lsdr-cp-menu { min-width: 260px; }
}
@media (min-width: 992px) and (max-width: 1199.98px) { .lsdr-site-header__inner { max-width: 960px; } }
@media (min-width: 768px) and (max-width: 991.98px) { .lsdr-site-header__inner { max-width: 720px; } }
@media (min-width: 576px) and (max-width: 767.98px) { .lsdr-site-header__inner { max-width: 540px; } }
@media (max-width: 1199.98px) {
    .lsdr-site-header__inner { min-height: 66px; }
    .lsdr-site-logo { width: 96px; height: 66px; }
    .lsdr-site-logo img { width: 96px; }
}
@media (max-width: 767.98px) {
    .lsdr-site-header__inner { min-height: 60px; }
    .lsdr-site-logo { width: 76px; height: 60px; }
    .lsdr-site-logo img { width: 76px; top: 4px; }
}

/* ---------- Client area bar (WHMCS navigation) ---------- */
header.header.lsdr-ca-header { background: transparent; box-shadow: none; }
header.header .topbar { background: var(--lsdr-navy); color: var(--lsdr-mist-light); padding: 4px 0; font-size: 14px; }
header.header .topbar .btn,
header.header .topbar .active-client .input-group-text,
header.header .topbar .active-client .btn { color: var(--lsdr-mist-light); background: transparent; }
header.header .topbar .btn:hover, header.header .topbar .active-client .btn:hover { color: var(--lsdr-gold); }
header.header .topbar .active-client .btn-active-client span { border-bottom: 1px dashed rgba(226,234,240,.5); }

header.header .main-navbar-wrapper {
    background: var(--lsdr-navy-soft);
    padding: 6px 0;
    border-bottom: 1px solid rgba(0,0,0,.25);
}
.lsdr-ca-title { font-family: var(--lsdr-font-slab); font-weight: 700; font-size: 18px; color: var(--lsdr-cream); }
header.header .main-navbar-wrapper .navbar-nav .nav-link,
header.header .main-navbar-wrapper .navbar-nav > li > a {
    color: var(--lsdr-cream);
    font-family: var(--lsdr-font-body);
    font-size: 15px;
    font-weight: 600;
    padding: 10px 12px;
    border-radius: 4px;
}
header.header .main-navbar-wrapper .navbar-nav .nav-link:hover,
header.header .main-navbar-wrapper .navbar-nav .nav-link:focus,
header.header .main-navbar-wrapper .navbar-nav .show > .nav-link,
header.header .main-navbar-wrapper .navbar-nav .active > .nav-link { color: var(--lsdr-gold); background: rgba(255,255,255,.06); }
header.header .main-navbar-wrapper .dropdown-menu {
    margin-top: 6px;
    background: var(--lsdr-paper);
    border: 1px solid var(--lsdr-sand);
    border-top: 3px solid var(--lsdr-rust);
    border-radius: var(--lsdr-radius);
    box-shadow: 0 14px 30px rgba(10,24,35,.18);
}
header.header .main-navbar-wrapper .dropdown-menu .dropdown-item { color: var(--lsdr-text) !important; font-size: 15px; padding: 8px 18px; }
header.header .main-navbar-wrapper .dropdown-menu .dropdown-item:hover,
header.header .main-navbar-wrapper .dropdown-menu .dropdown-item:focus { background: var(--lsdr-parchment); color: var(--lsdr-navy-deep) !important; }
header.header .main-navbar-wrapper .dropdown-divider { border-top-color: var(--lsdr-sand); }
header.header .search .form-control { background: var(--lsdr-navy); border-color: rgba(255,255,255,.18); color: var(--lsdr-cream); border-radius: 0 4px 4px 0; }
header.header .search .form-control::placeholder { color: var(--lsdr-mist); opacity: .8; }
header.header .search .btn { background: var(--lsdr-navy); border-color: rgba(255,255,255,.18); color: var(--lsdr-mist); border-radius: 4px 0 0 4px; }
header.header .toolbar .nav-link, header.header .toolbar .btn { color: var(--lsdr-cream); background: transparent; border: 0; }
header.header .toolbar .nav-link:hover { color: var(--lsdr-gold); }
header.header .cart-btn .badge { background: var(--lsdr-gold); color: var(--lsdr-navy-deep); }
@media (max-width: 1199.98px) {
    header.header .main-navbar-wrapper .container { flex-wrap: wrap; padding-left: 16px; padding-right: 16px; }
    header.header .main-navbar-wrapper .navbar-collapse { flex-basis: 100%; padding: 8px 0; }
    header.header .main-navbar-wrapper .dropdown-menu { background: var(--lsdr-navy); border: 0; box-shadow: none; }
    header.header .main-navbar-wrapper .dropdown-menu .dropdown-item { color: var(--lsdr-cream) !important; }
    header.header .main-navbar-wrapper .dropdown-menu .dropdown-item:hover { background: var(--lsdr-navy-soft); color: var(--lsdr-gold) !important; }
}

/* ---------- Room for the hanging logo ----------
   The logo hangs about 55px (desktop), 45px (tablet) or 30px (phone) below the site header.
   The first content in the bars under it starts to the right of the logo. */
header.header .topbar .container > .d-flex { padding-left: 128px; }
header.header .main-navbar-wrapper > .container { padding-left: 143px; }
@media (max-width: 1199.98px) {
    header.header .topbar .container > .d-flex { padding-left: 112px; }
    header.header .main-navbar-wrapper > .container { padding-left: 15px; }
    header.header .main-navbar-wrapper .lsdr-ca-title { margin-left: 112px; }
    header.header .main-navbar-wrapper .navbar-collapse { margin-top: 8px; }
}
@media (max-width: 767.98px) {
    header.header .topbar .container > .d-flex { padding-left: 92px; }
    header.header .main-navbar-wrapper .lsdr-ca-title { margin-left: 92px; }
}

/* Keep client area menu labels on one line next to the logo */
header.header .main-navbar-wrapper .navbar-nav .nav-link { white-space: nowrap; }
@media (min-width: 1200px) {
    header.header .main-navbar-wrapper .navbar-nav .nav-link { padding-left: 9px; padding-right: 9px; }
    header.header .main-navbar-wrapper .search { width: 262px; }
}

/* Breadcrumb */
.master-breadcrumb { background: var(--lsdr-parchment); border-bottom: 1px solid var(--lsdr-sand); }
.master-breadcrumb .breadcrumb { background: transparent; margin: 0; padding: 12px 0; font-size: 14px; }
.master-breadcrumb .breadcrumb-item a { color: var(--lsdr-rust-deep); font-weight: 600; }
.master-breadcrumb .breadcrumb-item.active { color: var(--lsdr-text-soft); }
.master-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: var(--lsdr-rust); content: "★"; font-size: 11px; }

/* Main body */
section#main-body { background: var(--lsdr-cream); padding: 40px 0 72px; }
.primary-content h1, .primary-content .h1, .header-lined h1 { font-size: 2.1rem; margin-bottom: 1rem; }

/* ---------- Cards ---------- */
.card, .panel {
    background: var(--lsdr-paper);
    border: 1px solid var(--lsdr-sand);
    border-radius: var(--lsdr-radius);
    box-shadow: 0 2px 0 rgba(10,24,35,.04);
}
.card-header, .panel-heading {
    background: var(--lsdr-navy-deep);
    color: var(--lsdr-cream);
    border-bottom: 3px solid var(--lsdr-rust);
    font-family: var(--lsdr-font-slab);
    font-weight: 700;
}
.card-header .card-title, .card-header .panel-title, .card-header h2, .card-header h3, .card-header h4, .card-header h5, .card-header a, .card-header .btn-link { color: var(--lsdr-cream); }
.card-header a:hover, .card-header a:focus { color: var(--lsdr-gold); }
.card-header .badge { background: var(--lsdr-gold); color: var(--lsdr-navy-deep); }
.card-footer { background: var(--lsdr-cream); border-top: 1px solid var(--lsdr-sand); }
.card-title { font-family: var(--lsdr-font-slab); font-weight: 700; }

/* Client area home: the four stat tiles and the panel cards */
.tiles .tile, .tile {
    background: var(--lsdr-paper);
    border: 1px solid var(--lsdr-sand);
    border-radius: var(--lsdr-radius);
    color: var(--lsdr-text);
}
.tiles .tile:hover, .tile:hover { background: var(--lsdr-parchment); }
.tile .stat { font-family: var(--lsdr-font-display); color: var(--lsdr-navy-deep); }
.tile .title { font-family: var(--lsdr-font-body); font-weight: 700; letter-spacing: 1px; text-transform: uppercase; font-size: 13px; color: var(--lsdr-slate); }
.tile i { color: var(--lsdr-mist) !important; }
.tile .highlight { background: var(--lsdr-gold) !important; height: 4px; }
.client-home-cards .card-header { background: var(--lsdr-navy-deep); }
.client-home-cards .card-body { padding-top: 20px; }

/* ---------- Sidebar ---------- */
.sidebar .card { border-radius: var(--lsdr-radius); overflow: hidden; }
.sidebar .card-header { font-size: 16px; }
.sidebar .list-group-item { background: var(--lsdr-paper); border-color: var(--lsdr-sand); color: var(--lsdr-text); font-size: 15px; }
.sidebar .list-group-item:hover, .sidebar .list-group-item:focus { background: var(--lsdr-parchment); color: var(--lsdr-navy-deep); }
.sidebar .list-group-item.active,
.sidebar .list-group-item.active:focus,
.sidebar .list-group-item.active:hover {
    background: var(--lsdr-parchment);
    color: var(--lsdr-navy-deep);
    border-color: var(--lsdr-sand);
    box-shadow: inset 4px 0 0 var(--lsdr-gold);
    font-weight: 700;
}
.sidebar .list-group-item .badge { background: var(--lsdr-navy); color: var(--lsdr-cream); }

/* ---------- Buttons ---------- */
.btn { font-family: var(--lsdr-font-body); font-weight: 700; border-radius: 4px; }
.btn-primary, .btn-success, .btn-order-now, .btn-checkout {
    background: var(--lsdr-gold);
    border-color: var(--lsdr-gold);
    color: var(--lsdr-navy-deep);
    box-shadow: 3px 3px 0 var(--lsdr-rust);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary:not(:disabled):not(.disabled):active,
.btn-success:hover, .btn-success:focus, .btn-success:not(:disabled):not(.disabled):active,
.btn-order-now:hover, .btn-checkout:hover {
    background: var(--lsdr-gold-deep);
    border-color: var(--lsdr-gold-deep);
    color: var(--lsdr-navy-deep);
}
.btn-primary:disabled, .btn-primary.disabled { background: var(--lsdr-parchment); border-color: var(--lsdr-sand); color: var(--lsdr-slate); box-shadow: none; }
.btn-default, .btn-secondary, .btn-outline-primary, .btn-outline-secondary {
    background: transparent;
    border: 2px solid var(--lsdr-navy-deep);
    color: var(--lsdr-navy-deep);
}
.btn-default:hover, .btn-secondary:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover,
.btn-default:focus, .btn-secondary:focus {
    background: var(--lsdr-navy-deep);
    border-color: var(--lsdr-navy-deep);
    color: var(--lsdr-cream);
}
.btn-info { background: var(--lsdr-blue); border-color: var(--lsdr-blue); color: #fff; }
.btn-danger { background: var(--lsdr-rust); border-color: var(--lsdr-rust); color: #fff; }
.btn-danger:hover { background: var(--lsdr-rust-deep); border-color: var(--lsdr-rust-deep); }
.btn-link { color: var(--lsdr-rust-deep); }

/* ---------- Forms ---------- */
.form-control, .custom-select, .input-group-text, select.form-control {
    border-color: var(--lsdr-sand);
    border-radius: 4px;
    background-color: #fff;
    color: var(--lsdr-text);
}
.form-control:focus, .custom-select:focus {
    border-color: var(--lsdr-gold-deep);
    box-shadow: 0 0 0 .2rem rgba(255,202,16,.35);
}
.input-group-text { background: var(--lsdr-parchment); color: var(--lsdr-text-soft); }
label, .control-label { font-weight: 600; color: var(--lsdr-navy-deep); }
.custom-control-input:checked ~ .custom-control-label::before { background-color: var(--lsdr-navy-deep); border-color: var(--lsdr-navy-deep); }

/* ---------- Tables ---------- */
table.table-list thead th,
.dataTables_wrapper table.table-list thead th,
.table thead th {
    background: var(--lsdr-navy-deep);
    color: var(--lsdr-cream);
    border-bottom: 3px solid var(--lsdr-rust);
    font-weight: 700;
}
.dataTables_wrapper table.table-list thead th.sorting_asc,
.dataTables_wrapper table.table-list thead th.sorting_desc { background: var(--lsdr-navy-soft); color: var(--lsdr-gold); }
table.table-list tbody tr:hover td, .table-hover tbody tr:hover { background: var(--lsdr-parchment); }
.table td, .table th { border-color: var(--lsdr-sand); }
.table-container { overflow-x: auto; background: var(--lsdr-paper); border: 1px solid var(--lsdr-sand); border-radius: var(--lsdr-radius); }

/* Pagination */
.page-link { color: var(--lsdr-navy-deep); border-color: var(--lsdr-sand); background: var(--lsdr-paper); }
.page-link:hover { background: var(--lsdr-parchment); color: var(--lsdr-navy-deep); }
.page-item.active .page-link,
.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover,
.pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
    background: var(--lsdr-navy-deep);
    border-color: var(--lsdr-navy-deep);
    color: var(--lsdr-gold);
}

/* ---------- Status labels, alerts, badges ---------- */
.label, .status, .badge { font-family: var(--lsdr-font-body); font-weight: 700; letter-spacing: .4px; border-radius: 3px; }
.badge-info { background: var(--lsdr-blue); }
.status-active, .label-success, .status-paid, .status-open, .status-completed { background: #2E7D4F !important; color: #fff !important; }
.status-pending, .status-unpaid, .label-warning, .status-answered, .status-customer-reply { background: var(--lsdr-gold) !important; color: var(--lsdr-navy-deep) !important; }
.status-suspended, .status-overdue, .label-danger, .status-cancelled, .status-terminated { background: var(--lsdr-rust) !important; color: #fff !important; }
.status-closed, .label-default { background: var(--lsdr-slate) !important; color: #fff !important; }
.alert { border-radius: var(--lsdr-radius); border-width: 1px 1px 1px 5px; }
.alert-info { background: var(--lsdr-mist-light); border-color: var(--lsdr-blue); color: var(--lsdr-navy); }
.alert-success { background: #E8F3EC; border-color: #2E7D4F; color: #1E4A31; }
.alert-warning { background: #FFF6D6; border-color: var(--lsdr-gold-deep); color: #5A4300; }
.alert-danger { background: #F8E4DF; border-color: var(--lsdr-rust); color: var(--lsdr-ember, #3A0F0B); }

/* ---------- Modals and popovers ---------- */
.modal-content { background: var(--lsdr-paper); border: 1px solid var(--lsdr-sand); border-radius: var(--lsdr-radius); }
.modal-header { background: var(--lsdr-navy-deep); color: var(--lsdr-cream); border-bottom: 3px solid var(--lsdr-rust); }
.modal-header .modal-title { color: var(--lsdr-cream); font-family: var(--lsdr-font-slab); }
.modal-header .close { color: var(--lsdr-cream); opacity: .8; text-shadow: none; }
.modal-localisation .modal-content { background: var(--lsdr-navy-deep); }
.modal-localisation .item-selector .item.active { background: var(--lsdr-gold); color: var(--lsdr-navy-deep); }
.popover { border-color: var(--lsdr-sand); }

/* ---------- Domain search (client area home) ---------- */
.home-domain-search, .domain-checker-container {
    background: var(--lsdr-navy-deep) !important;
    border-bottom: 3px solid var(--lsdr-rust);
}
.home-domain-search h2, .domain-checker-container h2 { color: var(--lsdr-cream); font-family: var(--lsdr-font-display); font-weight: 400; }

/* Order form styling lives in templates/orderforms/lonestar_cart/css/custom.css */

/* Knowledgebase and announcements */
.kb-article-title, .announcement-single h1 { font-family: var(--lsdr-font-display); font-weight: 400; }

/* ---------- Site footer (matches the website) ---------- */
footer.footer.lsdr-site-footer {
    background: var(--lsdr-navy-deep);
    color: var(--lsdr-mist-light);
    border-top: 3px solid var(--lsdr-rust);
    padding: 0;
    margin: 0;
    font-family: var(--lsdr-font-body);
}
.lsdr-site-footer__inner {
    max-width: 1248px;
    margin: 0 auto;
    padding: 56px 24px 40px;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px;
}
.lsdr-ft-brand img { width: 120px; height: auto; filter: drop-shadow(0 10px 18px rgba(0,0,0,.55)); }
.lsdr-ft-brand p { margin: 18px 0 12px; font-size: 15px; line-height: 1.6; color: var(--lsdr-mist); max-width: 360px; }
.lsdr-site-footer a.lsdr-ft-email { color: var(--lsdr-gold); font-weight: 600; text-decoration: none; }
.lsdr-site-footer a.lsdr-ft-email:hover { color: var(--lsdr-cream); }
.lsdr-ft-head {
    margin: 0 0 14px;
    font-family: var(--lsdr-font-western);
    font-size: 16px;
    letter-spacing: 1px;
    color: var(--lsdr-gold);
}
.lsdr-ft-col ul { list-style: none; margin: 0; padding: 0; }
.lsdr-ft-col li { margin: 0 0 10px; }
.lsdr-site-footer .lsdr-ft-col a { color: var(--lsdr-mist-light); font-size: 16px; text-decoration: none; }
.lsdr-site-footer .lsdr-ft-col a:hover, .lsdr-site-footer .lsdr-ft-col a:focus { color: var(--lsdr-gold); }
.lsdr-site-footer__bottom {
    max-width: 1248px;
    margin: 0 auto;
    padding: 18px 24px 26px;
    border-top: 1px solid rgba(255,255,255,.1);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.lsdr-site-footer .copyright { margin: 0; font-size: 14px; color: #9FB0BF; }
.lsdr-ft-legal { display: flex; flex-wrap: wrap; gap: 18px; list-style: none; margin: 0; padding: 0; }
.lsdr-site-footer .lsdr-ft-legal a, .lsdr-site-footer .lsdr-ft-locale { color: #9FB0BF; font-size: 14px; text-decoration: none; padding: 0; }
.lsdr-site-footer .lsdr-ft-legal a:hover, .lsdr-site-footer .lsdr-ft-locale:hover { color: var(--lsdr-gold); }
@media (max-width: 991.98px) {
    .lsdr-site-footer__inner { grid-template-columns: 1fr 1fr; }
    .lsdr-ft-brand { grid-column: 1 / -1; }
}
@media (max-width: 479.98px) {
    .lsdr-site-footer__inner { grid-template-columns: 1fr; padding: 40px 16px 28px; gap: 28px; }
    .lsdr-site-footer__bottom { padding: 16px; }
    .lsdr-ft-brand img { width: 88px; }
}

/* Keep the WHMCS "return to admin" button above the footer */
.btn-return-to-admin { z-index: 1040; }

/* ---------- Readability fixes (contrast audit 2026-11-08) ---------- */
.kb-article-item small, .kb-article-item .text-muted { color: var(--lsdr-slate); }
.small-font, .markdown-save, .md-footer { color: var(--lsdr-slate); }
.home-domain-search a, .home-domain-search .btn-link { color: var(--lsdr-gold); }
.home-domain-search a:hover, .home-domain-search a:focus, .home-domain-search .btn-link:hover { color: var(--lsdr-cream); }
.badge-success, .label-success { background-color: #1E7B34; color: #fff; }

/* ---------- Polish pass (2026-11-08, late) ---------- */
/* Knowledgebase: articles repeat their title as a first H1 inside the body; the page already shows it */
.primary-content .card-body > article > h1:first-child { display: none; }
/* Domain pricing page: featured TLD price bars in brand colors */
body .featured-tld .price.price { background: var(--lsdr-navy-deep); color: var(--lsdr-cream); }
/* Home domain search: TLD logos sit on a light chip so dark logos (.net) stay visible */
.home-domain-search .tld-logos img { background: #fff; border-radius: 4px; padding: 3px 6px; }
