/* ================================================================
   DS Webhosting Services — partnerconsole custom theme
   ================================================================ */

/* ── RESET BODY ── */
body {
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif !important;
    background: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #333740 !important;
}

/* ================================================================
   HEADER
   ================================================================ */
div.dsw-header {
    background: #ffffff !important;
    border-bottom: 1px solid #dde3ea !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

div.dsw-header-inner {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0.9rem 5vw !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}

a.dsw-logo {
    display: block !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}

a.dsw-logo img {
    height: 52px !important;
    width: auto !important;
    display: block !important;
}

nav.dsw-nav ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    gap: 0.25rem !important;
    align-items: center !important;
}

nav.dsw-nav ul li {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    float: none !important;
}

nav.dsw-nav ul li a {
    display: block !important;
    padding: 0.5rem 0.85rem !important;
    color: #4a4a52 !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    background: none !important;
    border: none !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    transition: color 0.2s, background 0.2s !important;
    white-space: nowrap !important;
}

nav.dsw-nav ul li a:hover {
    color: #1a70c0 !important;
    background: #e8f2fc !important;
    text-decoration: none !important;
}

nav.dsw-nav ul li a.dsw-nav-cta {
    background: #1a70c0 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    padding: 0.5rem 1.1rem !important;
}

nav.dsw-nav ul li a.dsw-nav-cta:hover {
    background: #155a9e !important;
    color: #ffffff !important;
}

/* ── Hide TPP's own default header that renders inside consolebody ── */
div.mainui > div.container_12 > div.header,
div.mainui > div.container_12 > div.header * {
    display: none !important;
}

/* ================================================================
   CONSOLE CONTENT WRAP
   ================================================================ */
div.dsw-console-wrap {
    min-height: 60vh !important;
    padding: 1.5rem 0 2rem !important;
    background: #ffffff !important;
}

/* ── Make the TPP content container respect our layout ── */
div.dsw-console-wrap div.container_12,
div.dsw-console-wrap .container_12 {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 5vw !important;
    width: auto !important;
}

/* ================================================================
   FOOTER
   ================================================================ */
div.dsw-footer {
    background: #2d2d35 !important;
    color: rgba(255,255,255,0.6) !important;
    padding: 2.5rem 5vw 0 !important;
    margin-top: 2rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

div.dsw-footer-inner {
    max-width: 1100px !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 2rem !important;
    padding-bottom: 2rem !important;
}

div.dsw-footer-brand {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

div.dsw-footer-logo {
    font-family: 'Barlow', system-ui, sans-serif !important;
    font-weight: 800 !important;
    font-size: 1.15rem !important;
    color: #ffffff !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 0.6rem !important;
}

div.dsw-footer-logo span {
    color: #1a70c0 !important;
}

div.dsw-footer-brand p {
    font-size: 0.8rem !important;
    line-height: 1.6 !important;
    margin: 0 0 0.3rem !important;
    color: rgba(255,255,255,0.6) !important;
}

div.dsw-footer-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.35rem !important;
}

p.dsw-footer-heading {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: rgba(255,255,255,0.35) !important;
    margin: 0 0 0.4rem !important;
    font-family: 'Inter', system-ui, sans-serif !important;
}

div.dsw-footer-col a {
    color: rgba(255,255,255,0.6) !important;
    font-size: 0.88rem !important;
    text-decoration: none !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    background: none !important;
    padding: 0 !important;
    display: block !important;
}

div.dsw-footer-col a:hover {
    color: #ffffff !important;
    background: none !important;
}

div.dsw-footer-bottom {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 1.25rem 0 !important;
    border-top: 1px solid rgba(255,255,255,0.1) !important;
    font-size: 0.78rem !important;
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    color: rgba(255,255,255,0.6) !important;
}

/* ================================================================
   TPP CONSOLE ELEMENT OVERRIDES
   ================================================================ */

/* ── Buttons ── */
.btn-primary,
input.button,
a.button,
button.button,
.addButton,
.backorderButton,
#continueCart {
    background-color: #1a70c0 !important;
    background-image: none !important;
    border-color: #1a70c0 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.btn-primary:hover,
input.button:hover,
a.button:hover,
.addButton:hover,
#continueCart:hover {
    background-color: #155a9e !important;
    border-color: #155a9e !important;
    color: #ffffff !important;
}

/* ── Links ── */
a { color: #1a70c0 !important; }
a:hover { color: #155a9e !important; }

/* ── Headings ── */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Barlow', system-ui, sans-serif !important;
    color: #2d2d35 !important;
    font-weight: 700 !important;
}

/* ── Form inputs ── */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
select,
textarea {
    border: 1.5px solid #dde3ea !important;
    border-radius: 8px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    color: #333740 !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
    border-color: #1a70c0 !important;
    box-shadow: 0 0 0 3px rgba(26,112,192,0.12) !important;
    outline: none !important;
}

/* ── Tables ── */
.searchResults th,
table.hosting th {
    background-color: #1a70c0 !important;
    color: #ffffff !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
}

/* ── Domain available/unavailable ── */
td.available, .available { color: #16a34a !important; font-weight: 600 !important; }
td.unavailable, .unavailable { color: #dc2626 !important; font-weight: 600 !important; }

/* ── Cart ── */
#shopping-cart-wrapper {
    border: 1px solid #dde3ea !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

/* ── Step/breadcrumb nav ── */
.stepList .current a,
.stepList .current span {
    color: #1a70c0 !important;
    font-weight: 600 !important;
}

/* ── Tabs ── */
.nav-tabs > li.active > a {
    border-bottom-color: #1a70c0 !important;
    color: #1a70c0 !important;
}

/* ── Panels ── */
.panel-primary { border-color: #1a70c0 !important; }
.panel-primary > .panel-heading {
    background-color: #1a70c0 !important;
    border-color: #1a70c0 !important;
}

/* ── Progress bar ── */
.progress-bar { background-color: #1a70c0 !important; }

/* ── Pricing ── */
.price sup, .price span {
    color: #155a9e !important;
    font-family: 'Barlow', system-ui, sans-serif !important;
    font-weight: 700 !important;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    div.dsw-header-inner { flex-wrap: wrap !important; }
    nav.dsw-nav ul { flex-wrap: wrap !important; gap: 0.1rem !important; }
    nav.dsw-nav ul li a { font-size: 0.8rem !important; padding: 0.4rem 0.6rem !important; }
}

/* ================================================================
   ACCOUNT DASHBOARD NAV OVERRIDES
   ================================================================ */

/* ── Top bar (logged in as / account alerts) ── */
.client-top-bar,
.top-bar,
div[class*="top-bar"],
.loggedin-bar {
    background-color: #2d2d35 !important;
    color: rgba(255,255,255,0.85) !important;
}

.client-top-bar a,
.top-bar a,
.loggedin-bar a {
    color: #7ab8f5 !important;
}

/* ── Main dashboard nav bar ── */
.navbar,
.navbar-default,
.client-nav,
ul.client-menu,
div.client-menu,
.account-nav,
.dashboard-nav {
    background-color: #1a70c0 !important;
    background-image: none !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
}

/* ── Nav items ── */
.navbar li a,
.navbar-default li a,
.client-nav li a,
ul.client-menu li a,
.account-nav li a,
.dashboard-nav li a {
    color: rgba(255,255,255,0.9) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 500 !important;
    background: none !important;
    text-shadow: none !important;
}

.navbar li a:hover,
.navbar-default li a:hover,
ul.client-menu li a:hover,
.account-nav li a:hover {
    color: #ffffff !important;
    background-color: #155a9e !important;
}

/* ── Active/current nav item ── */
.navbar li.active a,
.navbar-default li.active a,
ul.client-menu li.active a,
.account-nav li.active a {
    background-color: #155a9e !important;
    color: #ffffff !important;
    border-bottom: 3px solid #ffffff !important;
}

/* ── Dropdown menus in nav ── */
.navbar .dropdown-menu,
.navbar-default .dropdown-menu {
    background-color: #1a70c0 !important;
    border-color: #155a9e !important;
    border-radius: 0 0 8px 8px !important;
}

.navbar .dropdown-menu li a,
.navbar-default .dropdown-menu li a {
    color: rgba(255,255,255,0.9) !important;
}

.navbar .dropdown-menu li a:hover,
.navbar-default .dropdown-menu li a:hover {
    background-color: #155a9e !important;
    color: #ffffff !important;
}

/* ── Account alerts box ── */
.account-alerts,
.alert-box,
div[id*="alerts"] {
    border: 1px solid #f59e0b !important;
    border-radius: 8px !important;
    background: #fffbeb !important;
}

/* ================================================================
   ACCOUNT DASHBOARD — PRECISE OVERRIDES
   ================================================================ */

/* ── Top info bar (logged in as / alerts) ── */
div#accountInfo {
    background-color: #2d2d35 !important;
    padding: 0.75rem 5vw !important;
    border-bottom: none !important;
}

div#accountInfo .account-info p,
div#accountInfo .account-info h2 {
    color: rgba(255,255,255,0.85) !important;
    margin: 0 !important;
}

div#accountInfo .account-info p { font-size: 0.85rem !important; }
div#accountInfo .account-info h2 { font-size: 1rem !important; font-weight: 600 !important; }

div#accountInfo .account-info a {
    color: #7ab8f5 !important;
}

/* ── Alerts box ── */
div.alerts.warning-box {
    background: #fffbeb !important;
    border: 1px solid #f59e0b !important;
    border-radius: 8px !important;
    color: #333740 !important;
}

div.alerts.warning-box h3 {
    color: #333740 !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

div.alerts.warning-box a { color: #1a70c0 !important; }

/* ── Remove the orange line we accidentally introduced ── */
div#accountInfo,
ul.nav.nav-tabs,
ul.nav.nav-tabs li,
ul.nav.nav-tabs li a {
    border-top: none !important;
    outline: none !important;
}

/* ── Nav tabs bar ── */
ul.nav.nav-tabs {
    background-color: #1a70c0 !important;
    border-bottom: none !important;
    margin: 0 !important;
    padding: 0 5vw !important;
    display: flex !important;
    list-style: none !important;
}

ul.nav.nav-tabs > li {
    background: none !important;
    border: none !important;
    margin: 0 !important;
    float: none !important;
}

ul.nav.nav-tabs > li > a {
    color: rgba(255,255,255,0.85) !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0.85rem 1rem !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    white-space: nowrap !important;
    transition: background 0.2s, color 0.2s !important;
}

ul.nav.nav-tabs > li > a:hover {
    background-color: #155a9e !important;
    color: #ffffff !important;
    border: none !important;
}

/* ── Active tab ── */
ul.nav.nav-tabs > li.active > a,
ul.nav.nav-tabs > li.active > a:hover,
ul.nav.nav-tabs > li.active > a:focus {
    background-color: #155a9e !important;
    color: #ffffff !important;
    border: none !important;
    border-bottom: 3px solid #ffffff !important;
    font-weight: 600 !important;
}

/* ── Hide the decorative <div> inside each nav link ── */
ul.nav.nav-tabs > li > a > div {
    display: none !important;
}

/* ── Dropdown menu ── */
ul.nav.nav-tabs .dropdown-menu {
    background-color: #1a70c0 !important;
    border: 1px solid #155a9e !important;
    border-top: none !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15) !important;
    padding: 0.25rem 0 !important;
}

ul.nav.nav-tabs .dropdown-menu li a {
    color: rgba(255,255,255,0.9) !important;
    padding: 0.6rem 1.25rem !important;
    font-size: 0.88rem !important;
    background: none !important;
    display: block !important;
    text-decoration: none !important;
}

ul.nav.nav-tabs .dropdown-menu li a:hover {
    background-color: #155a9e !important;
    color: #ffffff !important;
}

ul.nav.nav-tabs .dropdown-menu .divider {
    border-color: rgba(255,255,255,0.15) !important;
    margin: 0.2rem 0 !important;
}

/* ── Caret ── */
ul.nav.nav-tabs .caret {
    border-top-color: rgba(255,255,255,0.7) !important;
}

/* ── Kill orange line ── */
div#accountInfo,
div#accountInfo *,
div.hero-inner,
div.hero-inner * {
    border-color: transparent !important;
}

/* Restore only the borders we actually want */
div.alerts.warning-box {
    border: 1px solid #f59e0b !important;
}

ul.nav.nav-tabs > li.active > a {
    border-bottom: 3px solid #ffffff !important;
}

ul.nav.nav-tabs .dropdown-menu {
    border: 1px solid #155a9e !important;
}

/* ── Full width background fill ── */
html, body {
    background-color: #ffffff !important;
    min-width: 100% !important;
}

div#wrap {
    background-color: #ffffff !important;
    min-width: 100% !important;
}

/* ── Match body background to dark header so the grey surround looks intentional ── */
body {
    background-color: #2d2d35 !important;
}

/* ── Body background via attribute selector to beat TPP specificity ── */
body[class],
body:not([class]) {
    background-color: #2d2d35 !important;
    background-image: none !important;
}

/* ── Force body/html background ── */
html body,
html body div#wrap,
body.execute2 {
    background: #2d2d35 !important;
    background-color: #2d2d35 !important;
}

/* ── Accept TPP's grey body, ensure content area is clean white ── */
div#wrap {
    background: #ffffff !important;
    max-width: 100% !important;
    box-shadow: none !important;
}
