/* Modern HostBS front website alignment layer.
   This file intentionally layers over the original Bootstrap 3/front-site CSS instead of replacing it. */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body.hostbs-front-site { color: var(--hostbs-text); }
body.hostbs-front-site a { transition: color var(--hostbs-transition), background var(--hostbs-transition), border-color var(--hostbs-transition), transform var(--hostbs-transition); }
body.hostbs-front-site a:focus,
body.hostbs-front-site button:focus,
body.hostbs-front-site input:focus,
body.hostbs-front-site select:focus,
body.hostbs-front-site textarea:focus { outline: none; box-shadow: var(--hostbs-focus); }

/* Header / top navigation intentionally uses the original front-site menu styling. */

/* Unified button language aligned with the WHMCS theme. */
body.hostbs-front-site .btn,
body.hostbs-front-auth .btn,
body.hostbs-front-site .cm-link,
body.hostbs-front-site .tab-order a,
body.hostbs-front-site input[type="submit"].btn,
body.hostbs-front-site .ts-bt { border-radius: 999px; font-weight: 700; letter-spacing: .01em; transition: color var(--hostbs-transition), background var(--hostbs-transition), border-color var(--hostbs-transition), transform var(--hostbs-transition); }
body.hostbs-front-site .btn-green,
body.hostbs-front-site .btn-blue,
body.hostbs-front-site .btn-primary,
body.hostbs-front-site .cm-link,
body.hostbs-front-site .tab-order a,
body.hostbs-front-site input[type="submit"].btn,
body.hostbs-front-auth .btn,
body.hostbs-front-site .ts-bt.cta-compare { color: #fff !important; background: var(--hostbs-orange-gradient) !important; border-color: var(--hostbs-orange) !important; }
body.hostbs-front-site .btn-green:hover,
body.hostbs-front-site .btn-blue:hover,
body.hostbs-front-site .btn-primary:hover,
body.hostbs-front-site .cm-link:hover,
body.hostbs-front-site .tab-order a:hover,
body.hostbs-front-site input[type="submit"].btn:hover,
body.hostbs-front-auth .btn:hover,
body.hostbs-front-site .ts-bt.cta-compare:hover,
body.hostbs-front-site .btn-green:focus,
body.hostbs-front-site .btn-blue:focus,
body.hostbs-front-site .btn-primary:focus,
body.hostbs-front-site .cm-link:focus,
body.hostbs-front-auth .btn:focus { color: #fff !important; background: var(--hostbs-navy) !important; border-color: var(--hostbs-navy) !important; text-decoration: none; }
body.hostbs-front-site .btn:hover,
body.hostbs-front-site .cm-link:hover,
body.hostbs-front-site .ts-bt:hover { transform: translateY(-1px); }
body.hostbs-front-site .btn-group .btn,
body.hostbs-front-site .input-group .btn,
body.hostbs-front-site .pagination .btn { transform: none; }

/* Hero / page sections */
body.hostbs-front-site .wgt-hero { position: relative; overflow: hidden; }
body.hostbs-front-site .wgt-hero:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,37,65,.80), rgba(15,37,65,.22)); pointer-events: none; }
body.hostbs-front-site .wgt-hero .container,
body.hostbs-front-site .wgt-hero .hero-text-container { position: relative; z-index: 999; }
body.hostbs-front-site .wgt-hero h1,
body.hostbs-front-site .wgt-hero h2,
body.hostbs-front-site .wgt-hero h3 { color: #fff; }
body.hostbs-front-site .hero-text-container p { color: rgba(255,255,255,.90); }

/* Homepage alignment */
body.hostbs-front-home .home-sportlight .bnr-content { border-radius: var(--hostbs-radius-lg); }
body.hostbs-front-home .bnr-head h1 span,
body.hostbs-front-home .bnr-head h2 span { color: var(--hostbs-orange-soft); }
body.hostbs-front-home .bnr-plan .starting-at { border-radius: var(--hostbs-radius-lg); box-shadow: var(--hostbs-shadow-sm); }
body.hostbs-front-site .home-pricing .pricing,
body.hostbs-front-site .pricing,
body.hostbs-front-site .shared-features .feature,
body.hostbs-front-site .hero-about,
body.hostbs-front-site .list-group-item { border-radius: var(--hostbs-radius-md); border-color: var(--hostbs-border); box-shadow: none; }
body.hostbs-front-site .home-pricing .pricing:hover { border-color: rgba(255,35,0,.35); }
body.hostbs-front-site .pricing h2,
body.hostbs-front-site .home-pricing h2,
body.hostbs-front-site .section-title h2 { color: var(--hostbs-navy); }

/* Domain search block */
body.hostbs-front-site .domain-hero { background: url(../img/domain-bg.jpg) no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
body.hostbs-front-site .domains-wrap { border-radius: var(--hostbs-radius-lg); box-shadow: none; }
body.hostbs-front-site .domains-wrap .form-control { border-radius: 999px; border-color: transparent; min-height: 46px; }
body.hostbs-front-site .domains-wrap .btn,
body.hostbs-front-site .domains-wrap input[type="submit"] { min-height: 46px; padding-left: 24px; padding-right: 24px; }
body.hostbs-front-site .domain-hero h2,
body.hostbs-front-site .domain-hero p { color: #fff; }

/* Product/comparison tables: light modernization without changing markup. */
body.hostbs-front-site table { border-color: var(--hostbs-border); }
body.hostbs-front-site .reseller-plan table,
body.hostbs-front-site .ts-pricing-table-compare table { border-radius: var(--hostbs-radius-md); overflow: hidden; }
body.hostbs-front-site .reseller-plan table tr th,
body.hostbs-front-site .ts-pricing-table-compare table tr th { background-color: var(--hostbs-navy); }
body.hostbs-front-site .reseller-plan table tr td:first-child { color: var(--hostbs-navy); }
body.hostbs-front-site p.dollar-amount,
body.hostbs-front-site p.dollar-amount span { color: var(--hostbs-navy); }

/* Footer aligned with the modern WHMCS footer order/feel. */
body.hostbs-front-site footer.hostbs-front-footer { background: #0f2541 url(../img/footer-bg.png) no-repeat scroll center bottom; color: rgba(255,255,255,.78); padding-top: 56px; }
body.hostbs-front-site footer.hostbs-front-footer h3 { color: #fff; font-weight: 700; margin-bottom: 16px; position: relative; }
body.hostbs-front-site footer.hostbs-front-footer h3:after { content: ""; display: block; width: 42px; height: 3px; margin-top: 8px; border-radius: 4px; background: var(--hostbs-orange-gradient); }
body.hostbs-front-site footer.hostbs-front-footer a { color: rgba(255,255,255,.82); }
body.hostbs-front-site footer.hostbs-front-footer a:hover,
body.hostbs-front-site footer.hostbs-front-footer a:focus { color: #fff; text-decoration: none; }
body.hostbs-front-site footer.hostbs-front-footer .payments { display: flex; flex-wrap: wrap; gap: 10px; }
body.hostbs-front-site footer.hostbs-front-footer .payments i { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 34px; border-radius: 10px; background: rgba(255,255,255,.08); color: #fff; font-size: 22px; }
body.hostbs-front-site footer.hostbs-front-footer .footer-site hr { border-color: rgba(255,255,255,.14); }
body.hostbs-front-site footer.hostbs-front-footer .footer-site p { color: rgba(255,255,255,.72); }

/* Login/password reset bridge to modern WHMCS auth styling. */
body.hostbs-front-auth.login,
body.hostbs-front-auth.pwreset { background: var(--hostbs-navy); }
body.hostbs-front-auth #login-form,
body.hostbs-front-auth #pwreset { border-radius: var(--hostbs-radius-lg); box-shadow: var(--hostbs-shadow-md); border: 1px solid rgba(255,255,255,.18); }
body.hostbs-front-auth input.input,
body.hostbs-front-auth .form-control { border-radius: 999px; min-height: 44px; border-color: var(--hostbs-border-strong); }
body.hostbs-front-auth .navbar-brand img { max-width: 180px; }

@media (max-width: 767px) {
  body.hostbs-front-site .domain-hero .domains-wrap .form-control,
  body.hostbs-front-site .domain-hero .domains-wrap .btn,
  body.hostbs-front-site .domain-hero .domains-wrap input[type="submit"] { width: 100%; margin-bottom: 10px; }
  body.hostbs-front-site footer.hostbs-front-footer { padding-top: 36px; }
  body.hostbs-front-site footer.hostbs-front-footer .col-xs-6 { min-height: 210px; }
}
