/* Lazy Dog Hosting | Twenty-One child theme | WHMCS 8.1+
   Retains parent templates and native validation, payment and status behavior.
   Palette matches the Lazy Dog Hosting landing page. */
:root {
  --ld-navy: #102c3c;
  --ld-navy-light: #183c4d;
  --ld-gold: #ffd269;
  --ld-gold-hover: #ffe29c;
  --ld-white: #f5f8fa;
  --ld-muted: #bacbd4;
  --ld-line: #36505f;
  --ld-link: #086aa5;
}
body.primary-bg-color {
  background: var(--ld-navy);
  color: #243746;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
a { color: var(--ld-link); }
a:hover { color: #044b77; }
h1, h2, h3, h4, h5, h6 { font-family: Arial, Helvetica, sans-serif; }
h1, h2 { letter-spacing: -.025em; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
  outline: 3px solid #087ebd;
  outline-offset: 3px;
}
/* Navy brand surround; logo supplied separately via WHMCS logo settings. */
#header.header, #header .navbar, #header .topbar {
  background: var(--ld-navy);
  color: var(--ld-white);
}
#header .topbar { border-bottom: 1px solid var(--ld-line); }
#header .navbar-brand { color: var(--ld-white); font-weight: 700; }
#header .navbar-brand img.logo-img {
  width: 190px;
  max-width: 100%;
  height: auto;
  max-height: none;
}
#header .main-navbar-wrapper {
  background: var(--ld-navy-light);
  border-top: 1px solid var(--ld-line);
  border-bottom: 1px solid var(--ld-line);
}
#header .navbar-nav > .nav-item > .nav-link,
#header .topbar .btn, #header .topbar .input-group-text {
  color: var(--ld-white);
}
#header .navbar-nav > .nav-item > .nav-link:hover,
#header .navbar-nav > .nav-item > .nav-link:focus,
#header .navbar-nav > .active > .nav-link {
  color: var(--ld-gold);
}
#header .topbar .input-group-text { background: transparent; }
#header a:focus-visible, #header button:focus-visible {
  outline-color: var(--ld-gold);
}
.dropdown-menu { border-color: #d9e2e8; border-radius: 8px; }
.dropdown-item { color: #243746; }
.dropdown-item:hover, .dropdown-item:focus { background: #eef4f7; color: var(--ld-navy); }
.dropdown-item.active, .dropdown-item:active { background: var(--ld-navy); color: white; }
.master-breadcrumb { background: var(--ld-navy); border: 0; }
.master-breadcrumb .breadcrumb { background: transparent; }
.master-breadcrumb .breadcrumb a { color: var(--ld-gold); }
.master-breadcrumb .breadcrumb-item.active,
.master-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: var(--ld-muted); }
/* Light work surface keeps invoice, support and checkout content readable. */
section#main-body { background: var(--ld-white); padding-top: 32px; padding-bottom: 48px; }
section#main-body .primary-content { min-width: 0; }
.card { border-color: #d9e2e8; border-radius: 10px; box-shadow: 0 3px 12px rgb(16 44 60 / 4%); }
.card-header { background: #edf3f6; border-bottom-color: #d9e2e8; color: var(--ld-navy); }
.card-header:first-child { border-radius: 9px 9px 0 0; }
.card-title { color: var(--ld-navy); font-weight: 700; }
.card-footer { background: #f6f9fb; border-top-color: #d9e2e8; }
.list-group-item.active { background: var(--ld-navy); border-color: var(--ld-navy); color: white; }
.list-group-item-action:hover { background: #edf3f6; color: var(--ld-navy); }
.list-group-item-action.active:hover { background: var(--ld-navy-light); color: white; }
/* Gold primary actions. Preserve success/danger colors for semantic actions. */
.btn { border-radius: 8px; font-weight: 600; }
.btn-primary, #order-standard_cart .btn-primary {
  background-color: var(--ld-gold);
  border-color: var(--ld-gold);
  color: var(--ld-navy);
}
.btn-primary:hover, .btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
#order-standard_cart .btn-primary:hover, #order-standard_cart .btn-primary:focus {
  background-color: var(--ld-gold-hover);
  border-color: var(--ld-gold-hover);
  color: var(--ld-navy);
}
.btn-primary.disabled, .btn-primary:disabled {
  background-color: var(--ld-gold); border-color: var(--ld-gold); color: var(--ld-navy); opacity: .6;
}
.btn-outline-primary { color: var(--ld-navy); border-color: var(--ld-navy); }
.btn-outline-primary:hover, .btn-outline-primary:active {
  color: white; background-color: var(--ld-navy); border-color: var(--ld-navy);
}
.btn-link { color: var(--ld-link); }
.form-control, .custom-select { border-color: #9cabb5; border-radius: 6px; }
.form-control:focus, .custom-select:focus {
  border-color: #087ebd; box-shadow: 0 0 0 .2rem rgb(8 126 189 / 18%);
}
.nav-tabs .nav-link { color: var(--ld-link); }
.nav-tabs .nav-link.active { color: var(--ld-navy); border-top: 3px solid var(--ld-gold); font-weight: 700; }
.page-item.active .page-link { background: var(--ld-navy); border-color: var(--ld-navy); color: white; }
.page-link { color: var(--ld-link); }
.table thead th { color: var(--ld-navy); background: #edf3f6; }
/* Standard Cart accents; native cart structure is inherited unchanged. */
#order-standard_cart .order-summary { background: var(--ld-navy); border-color: var(--ld-navy); }
#order-standard_cart .order-summary h2 { color: var(--ld-white); }
#order-standard_cart .summary-container { background: #fff; color: #243746; }
#order-standard_cart .products .product { border-color: #d9e2e8; border-radius: 10px; }
#order-standard_cart .products .product header { background: #edf3f6; color: var(--ld-navy); }
footer.footer, #footer { background: var(--ld-navy); color: var(--ld-muted); border-top: 1px solid var(--ld-line); }
footer.footer a, #footer a { color: var(--ld-gold); }
footer.footer a:hover, #footer a:hover { color: var(--ld-gold-hover); }
@media (max-width: 575.98px) {
  #header .navbar-brand img.logo-img { width: 145px; }
  section#main-body { padding-top: 22px; }
}
@media print {
  body.primary-bg-color, section#main-body { background: white; color: black; }
  .card { box-shadow: none; }
}
