:root {
  --phpc-primary: #02195E;
  --phpc-primary-dark: #011347;
  --phpc-red: #ED1C24;
  --phpc-red-dark: #C81018;
  --phpc-white: #FFFFFF;
  --phpc-light-gray: #E5E7EB;
  --phpc-page-bg: #F8FAFC;
  --phpc-heading: #111827;
  --phpc-text: #374151;
}

/* Global typography */
body {
  font-family: "Inter", Arial, sans-serif;
  color: var(--phpc-text);
  background: var(--phpc-page-bg);
}

a {
  color: var(--phpc-primary);
}

a:hover,
a:focus {
  color: var(--phpc-primary-dark);
}

/* Buttons */
.btn-primary,
.btn-success,
.btn-info {
  background-color: var(--phpc-primary);
  border-color: var(--phpc-primary);
  color: #fff;
  font-weight: 600;
}

.btn-primary:hover,
.btn-success:hover,
.btn-info:hover,
.btn-primary:focus,
.btn-success:focus,
.btn-info:focus {
  background-color: var(--phpc-primary-dark);
  border-color: var(--phpc-primary-dark);
  color: #fff;
}

/* Red action buttons */
.btn-warning,
.btn-default.btn-sm,
a.btn-warning,
.bg-color-gold,
.btn.bg-color-gold,
a.bg-color-gold,
.btn-default.bg-color-gold,
.btn-xs.bg-color-gold {
  background-color: var(--phpc-red) !important;
  border-color: var(--phpc-red) !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

.btn-warning:hover,
.btn-default.btn-sm:hover,
a.btn-warning:hover,
.bg-color-gold:hover,
.btn.bg-color-gold:hover,
a.bg-color-gold:hover,
.btn-default.bg-color-gold:hover,
.btn-xs.bg-color-gold:hover {
  background-color: var(--phpc-red-dark) !important;
  border-color: var(--phpc-red-dark) !important;
  color: #FFFFFF !important;
}

/* Header */
header.header {
  background: #fff;
  border-bottom: 1px solid #e6e6e6;
  min-height: auto !important;
}

header.header .navbar {
  min-height: auto !important;
  align-items: center;
}

header.header .navbar a.navbar-brand {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

header.header img.logo-img {
  max-height: 120px !important;
  width: auto !important;
}

/* Main navigation */
.navbar-main {
  background-color: #fff;
  border-bottom: 1px solid #e6e6e6;
}

.navbar-main .navbar-nav > li > a {
  color: var(--phpc-text);
  font-weight: 500;
}

.navbar-main .navbar-nav > li > a:hover,
.navbar-main .navbar-nav > li.active > a {
  color: var(--phpc-red);
}

/* Page headings */
h1,
h2,
h3,
h4 {
  color: var(--phpc-heading);
  font-weight: 700;
}

/* Panels and cards */
.panel,
.card,
.sidebar .panel,
#order-standard_cart .products .product {
  border-radius: 8px;
  border-color: #e2e2e2;
}

/* Sidebar headers */
.panel-sidebar .panel-heading,
.sidebar .panel-heading {
  background: var(--phpc-primary) !important;
  color: #FFFFFF !important;
  border-color: var(--phpc-primary) !important;
}

.panel-sidebar .panel-heading a,
.sidebar .panel-heading a,
.panel-sidebar .panel-title,
.sidebar .panel-title,
.panel-sidebar .panel-heading i,
.sidebar .panel-heading i {
  color: #FFFFFF !important;
}

/* Forms */
.form-control,
select,
input[type="text"],
input[type="email"],
input[type="password"] {
  border-radius: 5px;
}

.form-control:focus {
  border-color: var(--phpc-primary);
  box-shadow: 0 0 0 3px rgba(2, 25, 94, 0.15);
}

/* PHPC Trust Bar */
.phpc-trust-bar {
  background: var(--phpc-primary);
  color: #FFFFFF;
  text-align: center;
  padding: 14px 20px;
  font-family: "Inter", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

.phpc-trust-bar strong {
  font-weight: 700;
  margin-right: 10px;
}

.phpc-trust-bar span {
  color: #E5E7EB;
}

@media (max-width: 768px) {
  .phpc-trust-bar strong,
  .phpc-trust-bar span {
    display: block;
    margin-right: 0;
  }
}

/* Dashboard icons */
.client-home-panels i,
.client-home .stat i,
.client-home .tile i,
.tiles .tile i,
.stat i,
.tile i,
.client-home i.fa {
  color: var(--phpc-primary) !important;
  opacity: 1 !important;
}

.client-home-panels .stat:hover i,
.client-home-panels .tile:hover i,
.tiles .tile:hover i,
.stat:hover i,
.tile:hover i,
.client-home i.fa:hover {
  color: var(--phpc-red) !important;
  opacity: 1 !important;
}

/* Store product cards */
#order-standard_cart .products .product,
#order-standard_cart .products .product header,
#order-standard_cart .products .product div.product-desc,
#order-standard_cart .products .product footer,
#order-standard_cart .products .product .product-pricing {
  font-family: "Inter", Arial, sans-serif;
}

#order-standard_cart .products .product {
  background: #FFFFFF;
  border: 1px solid #E5E7EB !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.08);
  overflow: hidden;
}

#order-standard_cart .products .product:hover {
  box-shadow: 0 12px 32px rgba(17, 24, 39, 0.14);
  transform: translateY(-2px);
  transition: all 0.2s ease;
}

#order-standard_cart .products .product header {
  background: #F8FAFC !important;
  border-bottom: 1px solid #E5E7EB !important;
  padding: 18px 20px !important;
}

#order-standard_cart .products .product header span,
#order-standard_cart .products .product header h2,
#order-standard_cart .products .product header h3 {
  color: var(--phpc-primary) !important;
  font-weight: 700 !important;
}

#order-standard_cart .products .product .product-desc {
  padding: 18px 20px !important;
  color: #374151 !important;
  line-height: 1.55;
}

#order-standard_cart .products .product .price,
#order-standard_cart .products .product .product-pricing {
  color: #111827 !important;
  font-weight: 700 !important;
}

#order-standard_cart .products .product .btn,
#order-standard_cart .products .product .btn-success,
#order-standard_cart .products .product .btn-primary,
#order-standard_cart .btn-success,
#order-standard_cart .btn-primary {
  background: var(--phpc-red) !important;
  border-color: var(--phpc-red) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
}

#order-standard_cart .products .product .btn:hover,
#order-standard_cart .products .product .btn-success:hover,
#order-standard_cart .products .product .btn-primary:hover,
#order-standard_cart .btn-success:hover,
#order-standard_cart .btn-primary:hover {
  background: var(--phpc-red-dark) !important;
  border-color: var(--phpc-red-dark) !important;
  color: #FFFFFF !important;
}

/* Store sidebar */
#order-standard_cart .sidebar-collapsed,
#order-standard_cart .categories-collapsed,
#order-standard_cart .panel-sidebar {
  border-radius: 8px;
}

#order-standard_cart .panel-sidebar > .panel-heading,
#order-standard_cart .sidebar .panel-heading {
  background: var(--phpc-primary) !important;
  color: #FFFFFF !important;
  border-color: var(--phpc-primary) !important;
}

#order-standard_cart .panel-sidebar > .panel-heading i,
#order-standard_cart .sidebar .panel-heading i {
  color: #FFFFFF !important;
}

#order-standard_cart .list-group-item.active,
#order-standard_cart .list-group-item.active:hover,
#order-standard_cart .list-group-item.active:focus {
  background-color: var(--phpc-primary) !important;
  border-color: var(--phpc-primary) !important;
  color: #FFFFFF !important;
}

/* Order summary */
#order-standard_cart .order-summary,
#order-standard_cart .summary-container {
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.08);
}

#order-standard_cart .order-summary h2,
#order-standard_cart .order-summary .header-lined,
#order-standard_cart .summary-container .header-lined {
  background: var(--phpc-primary) !important;
  color: #FFFFFF !important;
}

/* Hide WHMCS default footer */
section#footer,
#footer,
.footer,
footer.footer,
.main-footer {
  display: none !important;
}

/* PHPC Footer CTA */
.phpc-footer-cta {
  background: var(--phpc-primary);
  color: #FFFFFF;
  text-align: center;
  padding: 45px 20px 35px;
  font-family: "Inter", Arial, sans-serif;
  margin-top: 0 !important;
}

.phpc-footer-cta h2 {
  color: #FFFFFF;
  font-size: 32px;
  font-weight: 700;
  margin: 0 0 18px;
}

.phpc-footer-cta p {
  color: #E5E7EB;
  font-size: 17px;
  margin-bottom: 28px;
}

.phpc-footer-buttons {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.phpc-footer-links {
  margin: 25px 0 15px;
}

.phpc-footer-links a {
  color: #FFFFFF !important;
  text-decoration: none;
  margin: 0 10px;
}

.phpc-footer-links a:hover {
  color: #ED1C24 !important;
}

.phpc-footer-links span {
  color: rgba(255,255,255,.35);
}

.phpc-btn {
  display: inline-block;
  padding: 14px 30px;
  border-radius: 6px;
  font-weight: 700;
  text-decoration: none !important;
}

.phpc-btn-red {
  background: var(--phpc-red);
  border: 2px solid var(--phpc-red);
  color: #FFFFFF !important;
}

.phpc-btn-red:hover {
  background: var(--phpc-red-dark);
  border-color: var(--phpc-red-dark);
  color: #FFFFFF !important;
}

.phpc-btn-outline {
  background: transparent;
  border: 2px solid #FFFFFF;
  color: #FFFFFF !important;
}

.phpc-btn-outline:hover {
  background: #FFFFFF;
  color: var(--phpc-primary) !important;
}

.phpc-footer-email a {
  color: #E5E7EB !important;
}

.phpc-footer-legal {
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.15);
}

.phpc-footer-legal p {
  margin: 8px 0;
  color: #CBD5E1;
}

.phpc-footer-legal a {
  color: #FFFFFF !important;
}

.phpc-footer-legal a:hover {
  color: var(--phpc-red) !important;
}

/* =========================
   v16 Dashboard Polish
   ========================= */

.client-home .panel,
.client-home .card,
.client-home-panels .panel {
    border-radius: 10px !important;
    border: 1px solid #E5E7EB !important;
    box-shadow: 0 4px 12px rgba(17, 24, 39, 0.06);
    overflow: hidden;
}

.client-home .panel-heading,
.client-home-panels .panel-heading {
    background: #FFFFFF !important;
    border-bottom: 1px solid #E5E7EB !important;
    font-weight: 700 !important;
}

.client-home .panel-heading i,
.client-home-panels .panel-heading i {
    color: #02195E !important;
}

.client-home .panel-body {
    padding: 18px !important;
}

.client-home .panel-footer {
    background: #F8FAFC !important;
    border-top: 1px solid #E5E7EB !important;
}

/* Sidebar cards */

.client-home .sidebar .panel,
.client-home .panel-sidebar {
    box-shadow: 0 4px 12px rgba(17, 24, 39, 0.06);
    border-radius: 10px !important;
}

/* Dashboard stat tiles */

.client-home-panels .stat,
.client-home .tile {
    border-radius: 10px !important;
    transition: all .2s ease;
}

.client-home-panels .stat:hover,
.client-home .tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(17, 24, 39, 0.10);
}

/* =========================
   v17 Dashboard Cleanup
   Hide Recent News panel
   ========================= */

#announcementsPanel {
  display: none !important;
}

/* =========================
   v18 Dashboard Button Branding
   ========================= */

/* My Services button */
.client-home .btn-success,
.client-home a.btn-success {
    background: #ED1C24 !important;
    border-color: #ED1C24 !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
}

.client-home .btn-success:hover,
.client-home a.btn-success:hover {
    background: #C81018 !important;
    border-color: #C81018 !important;
    color: #FFFFFF !important;
}

/* New Contact button */
.client-home .btn-danger,
.client-home a.btn-danger {
    background: #ED1C24 !important;
    border-color: #ED1C24 !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
}

.client-home .btn-danger:hover,
.client-home a.btn-danger:hover {
    background: #C81018 !important;
    border-color: #C81018 !important;
    color: #FFFFFF !important;
}

/* =========================
   v18 Ticket Button Branding
   ========================= */

#ticketsPanel .bg-color-blue,
#ticketsPanel .btn.bg-color-blue,
#ticketsPanel a.bg-color-blue {
    background: #ED1C24 !important;
    border-color: #ED1C24 !important;
    color: #FFFFFF !important;
}

#ticketsPanel .bg-color-blue:hover,
#ticketsPanel .btn.bg-color-blue:hover,
#ticketsPanel a.bg-color-blue:hover {
    background: #C81018 !important;
    border-color: #C81018 !important;
    color: #FFFFFF !important;
}

/* =========================
   v20 Dashboard Tile Polish
   ========================= */

.client-home .tile {
    border-radius: 8px !important;
    transition: all 0.2s ease;
}

.client-home .tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(17, 24, 39, 0.10);
}

