/* ============================================
   Digital Hosting - Dark Theme
   ============================================ */

:root {
  --dh-bg: #0a0a0a;
  --dh-bg-soft: #111111;
  --dh-bg-card: #161616;
  --dh-bg-card-hover: #1c1c1c;
  --dh-border: #2a2a2a;
  --dh-text: #ffffff;
  --dh-text-muted: #e8e8e8;
  --dh-text-dim: #b0b0b0;
  --dh-accent: #8c32ff;
  --dh-accent-hover: #a855f7;

  /* WHMCS inner pages: unificar variables claras → oscuras */
  --gray-light: #1a1a1a;
  --primary-light: #2a1545;
  --body-color: #e8e8e8;
  --heading-color: #ffffff;
  --border-color-inner: #2a2a2a;
  --border-color: #2a2a2a;
}

/* --- Base --- */
html,
body,
.main-page-wrapper {
  background-color: var(--dh-bg) !important;
  color: var(--dh-text) !important;
}

body {
  color: var(--dh-text-muted) !important;
}

h1, h2, h3, h4, h5, h6,
.hero-heading,
.title-eleven h2,
.plane-name,
.pr-column .price,
.pr-column h6,
.card-style-eleven h4,
.fact-feature h3 {
  color: var(--dh-text) !important;
}

.main-page-wrapper > section p,
.main-page-wrapper > section li,
.main-page-wrapper > section span:not(.badge):not(.btn):not(.tag),
.main-page-wrapper .hero-banner-eight p,
.main-page-wrapper .hero-banner-eight li,
.main-page-wrapper .block-feature-twentyFive p,
.main-page-wrapper .block-feature-twentySix p,
.main-page-wrapper .section-gap p,
.main-page-wrapper .fs-20,
.main-page-wrapper .fs-22,
.main-page-wrapper .fs-24,
.main-page-wrapper .fs-28 {
  color: #ffffff !important;
}

.opacity-75 {
  opacity: 1 !important;
  color: #ffffff !important;
}

a {
  color: var(--dh-accent);
}

a:hover {
  color: var(--dh-accent-hover);
}

/* --- Header / Nav --- */
.theme-main-menu,
.theme-main-menu.fixed,
.theme-main-menu .inner-content,
.theme-main-menu.menu-overlay {
  background: rgba(10, 10, 10, 0.95) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--dh-border);
}

.theme-main-menu .nav-link,
.theme-main-menu .download-btn-one,
.theme-main-menu .btn-eighteen,
.theme-main-menu .language-header {
  color: var(--dh-text) !important;
}

.theme-main-menu.menu-style-nine .navbar .dropdown-menu {
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

.navbar .dropdown-menu .dropdown-item,
.mega-menu-title {
  color: var(--dh-text-muted) !important;
}

.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item.active {
  background: var(--dh-bg-soft) !important;
  color: var(--dh-accent) !important;
}

/* --- Menú Hosting compacto --- */
.theme-main-menu .nav-item.hosting-menu {
  position: relative;
}

.theme-main-menu .nav-item.hosting-menu > .dropdown-menu {
  min-width: 240px;
  width: max-content;
  max-width: 280px;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  padding: 8px 0;
  margin-top: 12px;
}

.theme-main-menu .nav-item.hosting-menu > .dropdown-menu .dropdown-item {
  white-space: nowrap;
  padding-left: 18px;
  padding-right: 18px;
}

/* --- Header compacto --- */
.theme-main-menu .gap-one {
  padding: 10px 24px !important;
}

.theme-main-menu.fixed .gap-one {
  padding: 8px 24px !important;
}

.theme-main-menu .top-header {
  min-height: 0 !important;
}

.theme-main-menu .btn.language-header,
.theme-main-menu .download-btn-one {
  line-height: 38px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
}

/* --- Logo --- */
.theme-main-menu .logo img,
header .logo img,
.navbar-collapse .logo img {
  max-height: 52px !important;
  max-width: 210px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}

footer .logo img {
  max-height: 48px !important;
  max-width: 200px !important;
}

.theme-main-menu .logo {
  max-width: 230px;
  flex-shrink: 0;
}

.theme-main-menu .logo a {
  display: flex;
  align-items: center;
  line-height: 1;
}

/* --- Hero / Home --- */
.bg-twelve,
.hero-banner-eight,
.hero-banner-nine {
  background: var(--dh-bg) !important;
}

.hero-banner-eight:before {
  opacity: 0.15 !important;
}

.hero-banner-eight .hero-heading span:before {
  background: var(--dh-accent) !important;
}

.hero-banner-eight.bg-twelve {
  padding-top: 90px !important;
  padding-bottom: 30px !important;
}

.homepage-pricing-tight {
  padding-top: 20px !important;
  margin-top: 0 !important;
}

.homepage-pricing-tight .pr-column .plane-name {
  font-size: 22px !important;
  letter-spacing: -0.5px !important;
}

.homepage-pricing-tight .pr-column {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.homepage-pricing-tight .pr-column .price.homepage-price,
.homepage-pricing-tight .pr-column .homepage-price {
  font-size: 36px !important;
  letter-spacing: -1px !important;
  margin-bottom: 0 !important;
}

.homepage-pricing-tight .pr-column .price.homepage-price sub,
.homepage-pricing-tight .pr-column .homepage-price sub {
  font-size: 14px !important;
}

.block-feature-twentyFour {
  background: var(--dh-bg-soft) !important;
}

/* Domain search: tarjetas debajo del buscador, sin solapar */
.domain-search-hero {
  padding-bottom: 60px !important;
}

.domain-search-hero .home-domain {
  position: relative;
  z-index: 5;
}

.domain-search-services.block-feature-twentyFour {
  margin-top: 0 !important;
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.domain-search-services .card-style-eleven {
  margin-top: 0 !important;
}

.domain-transfer-form {
  max-width: 720px;
  gap: 12px;
}

.domain-transfer-form input[type="text"] {
  flex: 1;
  min-width: 200px;
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
  color: var(--dh-text) !important;
  border-radius: 12px 0 0 12px;
  padding: 0 20px;
  height: 70px;
}

.domain-transfer-tld {
  height: 70px;
  padding: 0 20px;
  min-width: 110px;
  color: var(--dh-text) !important;
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
  border-radius: 0;
}

.domain-transfer-form button[type="submit"] {
  background: var(--dh-accent) !important;
  color: #fff !important;
  border: 0;
  border-radius: 0 12px 12px 0;
  padding: 0 28px;
  height: 70px;
  font-weight: 500;
}

.domain-tld-prices-section {
  background: var(--dh-bg) !important;
}

/* --- Cards --- */
.card-style-eleven,
.pricing-section-six .pr-column,
.pr-column {
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

.card-style-eleven:hover,
.pricing-section-six .pr-column:hover {
  border-color: var(--dh-accent) !important;
  background: var(--dh-bg-card-hover) !important;
}

.card-style-eleven {
  border-radius: 20px !important;
}

/* --- Domain search --- */
.home-domain form {
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
}

.home-domain form input {
  background: transparent !important;
  color: var(--dh-text) !important;
}

.home-domain form input::placeholder {
  color: #666 !important;
}

.home-domain form button {
  background: var(--dh-accent) !important;
  color: #fff !important;
}

.home-domain form button:hover {
  background: #000 !important;
  color: var(--dh-accent) !important;
}

.home-domain-tlds {
  margin-top: 8px;
  gap: 18px !important;
}

.home-domain-tld {
  color: #ffffff !important;
  font-size: 24px;
  font-weight: 600;
  text-decoration: none;
  line-height: 1;
  transition: color 0.2s ease;
}

.home-domain-tld:hover {
  color: var(--dh-accent) !important;
}

.language-header .currency-symbol {
  font-weight: 700;
  margin-right: 2px;
}

/* --- Pricing --- */
.pricing-section-six,
.pricing-section-six .pr-column .price,
.pricing-section-six .pr-column .plane-name,
.pricing-section-six .pr-column .package-feature li,
.pricing-section-six .pr-column h6 {
  color: var(--dh-text) !important;
}

.pricing-section-six .pr-column h6 {
  border-bottom-color: var(--dh-border) !important;
}

.pricing-section-six .pr-column {
  border-color: var(--dh-border) !important;
}

.pricing-section-six .pr-column .btn-eleven {
  border-color: var(--dh-accent) !important;
  color: var(--dh-text) !important;
  background: transparent !important;
}

.pricing-section-six .pr-column .btn-eleven:hover {
  background: var(--dh-accent) !important;
  border-color: var(--dh-accent) !important;
  color: #fff !important;
}

.pricing-section-six .pr-column .btn-eleven .icon {
  background: var(--dh-accent) !important;
  color: #fff !important;
}

.pricing-nav-four .nav-link {
  color: var(--dh-text-muted) !important;
  border-color: var(--dh-border) !important;
}

.pricing-nav-four .nav-link.active {
  background: var(--dh-accent) !important;
  color: #fff !important;
  border-color: var(--dh-accent) !important;
}

/* --- Buttons --- */
.btn-eighteen,
.btn-eleven {
  border-color: var(--dh-accent) !important;
}

.btn-eighteen:hover {
  background: var(--dh-accent) !important;
  color: #fff !important;
}

/* --- WHMCS client area --- */
#main-body,
.primary-content,
section#main-body {
  background: var(--dh-bg) !important;
  color: var(--dh-text-muted) !important;
}

.card,
.panel,
.panel-default,
.panel-body,
.well,
.list-group-item,
.table,
.modal-content {
  background: var(--dh-bg-card) !important;
  color: var(--dh-text-muted) !important;
  border-color: var(--dh-border) !important;
}

.table thead th,
.table td,
.table th {
  border-color: var(--dh-border) !important;
  color: var(--dh-text-muted) !important;
}

.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
select,
textarea {
  background: var(--dh-bg-soft) !important;
  border-color: var(--dh-border) !important;
  color: var(--dh-text) !important;
}

.form-control:focus {
  border-color: var(--dh-accent) !important;
  box-shadow: 0 0 0 0.2rem rgba(140, 50, 255, 0.2) !important;
}

/* --- Footer --- */
footer,
.footer-area,
.footer-bottom {
  background: var(--dh-bg-soft) !important;
  border-top: 1px solid var(--dh-border);
  color: var(--dh-text-muted) !important;
}

footer h5,
footer h6,
footer .footer-title {
  color: var(--dh-text) !important;
}

footer a {
  color: var(--dh-text-muted) !important;
}

footer a:hover {
  color: var(--dh-accent) !important;
}

/* --- Modal idioma --- */
#modalChooseLanguage {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999 !important;
  overflow-x: hidden;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.65);
  padding: 1rem;
}

#modalChooseLanguage.hostinza-locale-open {
  display: block !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.hostinza-locale-active {
  overflow: hidden !important;
}

#modalChooseLanguage .modal-dialog {
  pointer-events: auto !important;
  position: relative;
  z-index: 100000 !important;
  margin: 1.75rem auto;
  max-width: 800px;
}

#modalChooseLanguage .modal-content,
#modalChooseLanguage .modal-body,
#modalChooseLanguage .modal-footer,
#modalChooseLanguage .item,
#modalChooseLanguage button,
#modalChooseLanguage a {
  pointer-events: auto !important;
}

/* Ocultar backdrops de Bootstrap que bloquean clics */
body.hostinza-locale-active .modal-backdrop {
  display: none !important;
}

.modal-content {
  background: var(--dh-bg-card) !important;
}

.modal-localisation .item {
  background: var(--dh-bg-soft) !important;
  color: var(--dh-text) !important;
  border: 1px solid var(--dh-border) !important;
}

.modal-localisation .item.active,
.modal-localisation .item:hover {
  background: var(--dh-accent) !important;
  color: #fff !important;
}

/* Evita pantalla bloqueada si queda un backdrop huérfano (BS4 + BS5) */
body:not(.modal-open) .modal-backdrop {
  display: none !important;
}

body:not(.modal-open) {
  overflow: auto !important;
  padding-right: 0 !important;
}

/* Modales WHMCS (BS4) con tema BS5: clics y capas correctas */
body.modal-open .modal-backdrop {
  z-index: 10060 !important;
}

body.modal-open .modal.show,
body.modal-open .modal.fade.show {
  z-index: 10070 !important;
  pointer-events: none;
}

body.modal-open .modal.show .modal-dialog,
body.modal-open .modal.fade.show .modal-dialog,
body.modal-open .modal.show .modal-content,
body.modal-open .modal.fade.show .modal-content,
body.modal-open .modal.show button,
body.modal-open .modal.fade.show button,
body.modal-open .modal.show a,
body.modal-open .modal.fade.show a,
body.modal-open .modal.show input,
body.modal-open .modal.fade.show input,
body.modal-open .modal.show select,
body.modal-open .modal.fade.show select {
  pointer-events: auto;
}

body.modal-open #hostinza-mobile-nav-backdrop {
  display: none !important;
}

/* --- Order form / cart --- */
#order-standard_cart,
.view-cart-items,
.panel-check,
.product-info {
  background: var(--dh-bg) !important;
  color: #ffffff !important;
}

/* Cajas claras del carrito: fondo oscuro + texto legible */
#order-standard_cart .domain-selection-options .option {
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
}

#order-standard_cart .domain-selection-options .option-selected {
  background: rgba(140, 50, 255, 0.14) !important;
  border-color: var(--dh-accent) !important;
}

#order-standard_cart .domain-selection-options .option label {
  color: #ffffff !important;
}

#order-standard_cart .domain-selection-options .input-group-text {
  background: var(--dh-bg-soft) !important;
  color: #ffffff !important;
  border-color: var(--dh-border) !important;
}

#order-standard_cart .products .product,
#order-standard_cart .products .product header {
  background: var(--dh-bg-card) !important;
  color: #ffffff !important;
  border-color: var(--dh-border) !important;
}

#order-standard_cart .products .product header span,
#order-standard_cart .products .product div.product-desc {
  color: #ffffff !important;
}

#order-standard_cart .domain-checker-container .input-group-box {
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
}

#order-standard_cart .domain-checker-bg {
  background: var(--dh-bg-card) !important;
  background-image: none !important;
}

#order-standard_cart .field,
#order-standard_cart .form-control {
  background: var(--dh-bg) !important;
  color: #ffffff !important;
  border-color: var(--dh-border) !important;
}

#order-standard_cart .btn-primary,
#order-standard_cart .domain-check-availability {
  background: var(--dh-accent) !important;
  border-color: var(--dh-accent) !important;
}

.bg-white.tt-domain-list-wrap {
  background: var(--dh-bg-card) !important;
}

/* --- Misc sections --- */
.pricing-section-six,
.block-feature-twentyFour,
.block-feature-seven,
.feedback-section-five {
  background: var(--dh-bg) !important;
}

.text-dark {
  color: var(--dh-text) !important;
}

.bg-white,
.white-bg {
  background: var(--dh-bg-card) !important;
}

/* --- Scroll top --- */
.scroll-top {
  background: var(--dh-accent) !important;
  color: #fff !important;
}

/* --- Testimonios --- */
.feedback-section-nine {
  background: var(--dh-bg) !important;
}

.feedback-section-nine .wrapper {
  width: 100% !important;
  max-width: 960px;
  margin: 0 auto;
  left: auto !important;
  transform: none !important;
  position: relative !important;
  padding: 0 24px;
}

.feedback-section-nine .feedback-slider-six .slick-slide {
  display: flex !important;
  justify-content: center;
}

.feedback-section-nine .feedback-slider-six .slick-slide > div {
  width: 100%;
  display: flex;
  justify-content: center;
}

.feedback-section-nine .feedback-block .icon {
  display: none !important;
}

.feedback-section-nine h2 {
  color: #ffffff !important;
}

.feedback-section-nine p {
  color: #ffffff !important;
}

.feedback-section-nine .feedback-block {
  background: var(--dh-bg-card) !important;
  border-color: var(--dh-border) !important;
  text-align: center;
  max-width: 920px;
  margin: 0 auto;
  padding: 40px 48px;
}

.feedback-section-nine .feedback-slider-six .item {
  padding: 0 12px;
}

.feedback-section-nine .feedback-block blockquote {
  color: #ffffff !important;
  text-align: center;
  margin: 0 auto 24px;
  max-width: 780px;
  font-size: 22px;
  line-height: 1.6;
}

.feedback-section-nine .feedback-block .feedback-author,
.feedback-section-nine .feedback-block .name {
  color: #ffffff !important;
  text-align: center;
  justify-content: center;
  width: 100%;
}

.feedback-section-nine .slick-center .feedback-block {
  background: var(--dh-bg-card-hover) !important;
}

.feedback-section-nine .slider-arrows {
  display: flex !important;
  visibility: visible !important;
  position: relative;
  z-index: 5;
}

.feedback-section-nine .slider-arrows li {
  border-color: var(--dh-border) !important;
  color: #ffffff !important;
  background: var(--dh-bg-card) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.feedback-section-nine .slider-arrows li:hover {
  background: var(--dh-accent) !important;
  border-color: var(--dh-accent) !important;
  color: #ffffff !important;
}

/* --- Footer oscuro --- */
.footer-three.dark-version {
  background: var(--dh-bg) !important;
}

.footer-three.dark-version .address-wrapper h2 {
  color: #ffffff !important;
}

.footer-three.dark-version .address-wrapper .block {
  background: var(--dh-bg-card) !important;
}

.footer-three.dark-version .address-wrapper .block .text,
.footer-three.dark-version .address-wrapper .block .text .title,
.footer-three.dark-version .address-wrapper .block .text span {
  color: #ffffff !important;
}

.footer-three.dark-version .footer-nav-link a,
.footer-three.dark-version .social-icon li a,
.footer-three.dark-version .fs-6 {
  color: #ffffff !important;
}

.footer-three.dark-version .copyright-text {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* --- Tarjetas de características (6 cards) --- */
.section-gap {
  background: var(--dh-bg) !important;
}

.card-one {
  background-color: var(--dh-bg-card) !important;
  border-color: var(--dh-border) !important;
}

.card-one .icon-width-heading h4,
.card-one .icon-width-heading h4 span,
.card-one p {
  color: #ffffff !important;
}

.card-one .icon-width-heading div.icon {
  background-color: rgba(140, 50, 255, 0.15) !important;
  border-color: var(--dh-border) !important;
}

.card-one .icon-width-heading div.icon i {
  color: var(--dh-accent) !important;
}

/* --- Bloque "Por qué elegirnos" --- */
.block-feature-twentySix .block-one,
.block-feature-twentySix .block-two,
.block-feature-twentySix .block-four {
  background: var(--dh-bg-card) !important;
  border-color: var(--dh-border) !important;
}

.block-feature-twentySix .block-one h3,
.block-feature-twentySix .block-two h3,
.block-feature-twentySix .block-four h3 {
  color: #ffffff !important;
}

/* --- Tarjetas soporte / dominio / SSL --- */
.block-feature-twentyFive {
  background: var(--dh-bg) !important;
}

.block-feature-twentyFive .border-top,
.block-feature-twentyFive .border-bottom {
  border-color: var(--dh-border) !important;
}

.card-style-twelve h4,
.card-style-twelve p {
  color: #ffffff !important;
}

/* --- FAQ --- */
.faq-section-three {
  background: var(--dh-bg) !important;
  padding-bottom: 80px;
}

.faq-section-three .accordion-style-two .accordion-item {
  border-bottom-color: var(--dh-border) !important;
}

.faq-section-three .accordion-style-two .accordion-item .accordion-button,
.faq-section-three .accordion-style-two .accordion-item .accordion-button::after {
  color: #ffffff !important;
}

.faq-section-three .accordion-style-two .accordion-item .accordion-body,
.faq-section-three .accordion-style-two .accordion-item .accordion-body p {
  color: #ffffff !important;
}

/* ============================================
   Contraste global: cuadros, tablas, sidebar
   ============================================ */

/* --- Pasos dominio (promos / transfer) --- */
.card-style-twelve.save-line,
.card-style-twelve.B.save-line {
  background: var(--dh-bg-card) !important;
  border: 2px dashed var(--dh-border) !important;
  color: #ffffff !important;
  line-height: 1.5 !important;
}

.card-style-twelve.save-line h4,
.card-style-twelve.save-line p,
.card-style-twelve.B h4,
.card-style-twelve.B p {
  color: #ffffff !important;
}

.card-style-twelve.B .tag {
  background: var(--dh-accent) !important;
  color: #ffffff !important;
}

.title-four h2,
.title-eleven h2 {
  color: #ffffff !important;
}

/* --- Precios TLD --- */
.domain-tld-price {
  background: var(--dh-bg-card) !important;
  border-color: var(--dh-accent) !important;
}

.domain-tld-price .name {
  color: var(--dh-accent) !important;
}

.domain-tld-price .price .starting {
  color: var(--dh-text-dim) !important;
}

.domain-tld-price .price .tldprice {
  color: #ffffff !important;
}

.domain-tld-price .link {
  color: #ffffff !important;
}

/* --- Migas de pan --- */
.breadcrumb-item a,
.breadcrumb-item.active,
.list-inline-item.breadcrumb-item a,
.banner ol.list-inline > li.breadcrumb-item a,
.banner ol.list-inline > li.breadcrumb-item.active {
  color: rgba(255, 255, 255, 0.9) !important;
}

.breadcrumb-item a:hover,
.list-inline-item.breadcrumb-item a:hover {
  color: var(--dh-accent) !important;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--dh-text-dim) !important;
}

/* --- Área cliente WHMCS --- */
#main-body h1,
#main-body h2,
#main-body h3,
#main-body h4,
#main-body .card-title,
.primary-content > p,
.primary-content .lead {
  color: #ffffff !important;
}

#main-body p,
#main-body li,
#main-body td,
#main-body th,
#main-body label,
#main-body .custom-control-label,
#main-body .form-check-label {
  color: var(--dh-text-muted) !important;
}

/* Sidebar */
.sidebar .card-header,
.sidebar .card-sidebar .card-header {
  background: var(--dh-bg-soft) !important;
  border-bottom: 1px solid var(--dh-border) !important;
}

.sidebar .card-sidebar .card-header .card-title,
.sidebar .card-title,
.sidebar .collapsable-card-body a,
.sidebar .list-group-item {
  color: #ffffff !important;
}

.sidebar .card-body,
.sidebar .collapsable-card-body {
  background: var(--dh-bg-card) !important;
  color: #ffffff !important;
}

.sidebar .custom-control-label,
.sidebar label {
  color: #ffffff !important;
}

.sidebar .list-group-item.active,
.sidebar .list-group-item.active:hover {
  color: #ffffff !important;
  background: rgba(140, 50, 255, 0.18) !important;
  border-left-color: var(--dh-accent) !important;
}

/* Tablas / DataTables */
.dataTables_wrapper > .listtable {
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
  box-shadow: none !important;
}

.dataTables_wrapper table.table-list {
  background: var(--dh-bg-card) !important;
  border-color: var(--dh-border) !important;
}

.dataTables_wrapper table.table-list thead th,
.dataTables_wrapper table.table-list thead th.sorting_asc,
.dataTables_wrapper table.table-list thead th.sorting_desc,
table.table-list thead th,
.table thead th {
  background: var(--dh-bg-soft) !important;
  color: #ffffff !important;
  border-color: var(--dh-border) !important;
  font-weight: 600 !important;
}

table.table-list tbody td,
.table td,
.table tbody td {
  background: var(--dh-bg-card) !important;
  color: #ffffff !important;
  border-color: var(--dh-border) !important;
}

.table-list > tbody > tr:hover > td,
table.table-list tbody tr:hover td {
  background: var(--dh-bg-card-hover) !important;
  color: #ffffff !important;
}

.table-list > tbody > tr > td a,
table.table-list tbody td a {
  color: var(--dh-accent) !important;
}

/* Buscador y paginación DataTables */
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label {
  color: #ffffff !important;
}

.dataTables_wrapper .dataTables_filter input.form-control,
.dataTables_wrapper .dataTables_length select.form-control,
.dataTables_wrapper .dataTables_filter label .form-control {
  background: var(--dh-bg-soft) !important;
  border: 1px solid var(--dh-border) !important;
  color: #ffffff !important;
  min-width: 180px;
}

.dataTables_wrapper .dataTables_info {
  color: var(--dh-text-dim) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  color: #ffffff !important;
  background: var(--dh-bg-soft) !important;
  border: 1px solid var(--dh-border) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: var(--dh-accent) !important;
  border-color: var(--dh-accent) !important;
  color: #ffffff !important;
}

/* Cards área cliente */
.primary-content .card,
.primary-content .card-header,
.primary-content .card-body,
.primary-content .card-footer {
  background: var(--dh-bg-card) !important;
  border-color: var(--dh-border) !important;
  color: #ffffff !important;
}

.primary-content .card-header {
  background: var(--dh-bg-soft) !important;
}

.primary-content .card-header .card-title {
  color: #ffffff !important;
}

/* Checkboxes / radios */
.custom-control-label::before {
  background: var(--dh-bg-soft) !important;
  border-color: var(--dh-border) !important;
}

.custom-control-input:checked ~ .custom-control-label::before {
  background: var(--dh-accent) !important;
  border-color: var(--dh-accent) !important;
}

/* Badges estado facturas */
.badge,
.label {
  color: #ffffff !important;
}

/* Sidebar: contadores Activo/Pendiente/etc. (whmcs.css los pone blancos) */
.sidebar .list-group-item .badge,
.sidebar .list-group-item-action .badge,
.sidebar a.list-group-item .badge {
  background: var(--dh-accent) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  font-weight: 600;
}

.sidebar .list-group-item.active .badge {
  background: #ffffff !important;
  color: var(--dh-accent) !important;
}

/* DataTables: paginación y selector de entradas */
.dataTables_wrapper .dataTables_paginate .pagination > li > a,
.dataTables_wrapper .dataTables_paginate .pagination > li > span,
.dataTables_wrapper .dataTables_paginate .paginate_button {
  background: var(--dh-bg-soft) !important;
  color: #ffffff !important;
  border: 1px solid var(--dh-border) !important;
}

.dataTables_wrapper .dataTables_paginate .pagination > .active > a,
.dataTables_wrapper .dataTables_paginate .pagination > .active > span,
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: var(--dh-accent) !important;
  border-color: var(--dh-accent) !important;
  color: #ffffff !important;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_length .form-control {
  background: #1e1e1e !important;
  color: #ffffff !important;
  border-color: var(--dh-border) !important;
}

/* Etiquetas de estado en tablas (Activo, Pendiente, etc.) */
table.table-list .label.status,
table.table-list .status {
  color: #ffffff !important;
}

#tableServicesList .status.status-custom,
#tableDomainsList .status.status-custom,
#tableInvoicesList .status.status-custom {
  background: var(--dh-bg-soft) !important;
  color: #ffffff !important;
  border: 1px solid var(--dh-border) !important;
}

/* Paneles legacy */
.panel-heading,
.panel-default > .panel-heading {
  background: var(--dh-bg-soft) !important;
  color: #ffffff !important;
  border-color: var(--dh-border) !important;
}

.panel-body {
  color: #ffffff !important;
}

/* ============================================
   Mobile / responsive fixes
   ============================================ */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

@media (max-width: 991px) {
  /* Header en flujo normal: el hero ya no queda debajo del menú absoluto */
  .theme-main-menu.menu-overlay {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }

  .hero-banner-eight.bg-twelve,
  .hero-banner-eight.pt-90,
  .domain-search-hero {
    padding-top: 20px !important;
    margin-top: 0 !important;
  }

  .theme-main-menu .gap-one {
    padding: 10px 16px !important;
  }

  /* Una sola fila: menú + logo */
  .hostinza-header-row {
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    width: 100%;
  }

  .hostinza-header-row .navbar-toggler {
    flex-shrink: 0;
    margin-right: 0 !important;
  }

  .hostinza-header-row .logo {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    width: auto;
  }

  .theme-main-menu .logo img {
    max-height: 38px !important;
    max-width: 100% !important;
  }

  /* Idioma y cuenta dentro del drawer móvil */
  .hostinza-mobile-drawer-head {
    width: 100%;
    list-style: none;
    padding: 0 0 8px;
    margin-bottom: 4px;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.15);
  }

  .hostinza-mobile-drawer-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 4px 12px;
  }

  .hostinza-mobile-lang-btn {
    height: 44px !important;
    font-size: 14px !important;
    justify-content: center !important;
    max-width: none !important;
    border: 1px solid var(--dh-border) !important;
    background: var(--dh-bg-card) !important;
    color: var(--dh-text) !important;
  }

  .hostinza-mobile-account-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
  }

  .hostinza-mobile-nav-btn {
    display: block;
    width: 100%;
    text-align: center;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 500;
    line-height: 44px;
    padding: 0 16px;
    text-decoration: none !important;
  }

  .hostinza-mobile-nav-btn-primary {
    background: var(--dh-accent) !important;
    color: #fff !important;
  }

  .hostinza-mobile-nav-btn-secondary {
    background: transparent !important;
    color: var(--dh-text) !important;
    border: 1px solid var(--dh-border) !important;
  }

  .hostinza-mobile-nav-link {
    display: block;
    padding: 10px 4px;
    color: var(--dh-text-muted) !important;
    font-size: 15px;
    text-decoration: none !important;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
  }

  .hostinza-mobile-nav-link:last-child {
    border-bottom: none;
  }

  .hostinza-mobile-nav-link-muted {
    font-size: 14px;
    color: var(--dh-text-dim) !important;
    border-bottom: none;
    padding-top: 4px;
  }

  .theme-main-menu .navbar-toggler {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0;
    border-radius: 8px;
  }

  .theme-main-menu .navbar-toggler::before,
  .theme-main-menu .navbar-toggler::after {
    left: 8px !important;
    width: 22px !important;
  }

  .theme-main-menu .navbar-toggler span {
    left: 8px !important;
    width: 22px !important;
  }

  .theme-main-menu .navbar-toggler::before {
    transform: translate3d(0, -7px, 0) scale3d(1, 1, 1) !important;
  }

  .theme-main-menu .navbar-toggler::after {
    transform: translate3d(0, 6px, 0) scale3d(1, 1, 1) !important;
  }

  .theme-main-menu .navbar {
    flex: 0 0 0;
    width: 0;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible;
  }

  /* Drawer móvil: fondo oscuro y texto visible */
  .theme-main-menu .navbar-collapse {
    background: var(--dh-bg) !important;
    border-right: 1px solid var(--dh-border);
    width: min(300px, calc(100vw - 56px));
    max-width: min(300px, calc(100vw - 56px));
    transform: translateX(-100%);
    visibility: hidden;
    pointer-events: none;
    padding: 16px 0 24px;
    box-shadow: none;
  }

  .theme-main-menu .navbar-collapse.show {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
    box-shadow: 12px 0 32px rgba(0, 0, 0, 0.45);
  }

  .theme-main-menu .navbar-collapse .navbar-nav {
    width: 100%;
    padding: 0 16px;
  }

  .theme-main-menu .navbar-collapse .nav-link {
    color: var(--dh-text) !important;
    font-size: 17px;
  }

  .theme-main-menu .navbar-collapse .dropdown-menu {
    background: var(--dh-bg-soft) !important;
    border: none !important;
    border-top: 1px dashed rgba(255, 255, 255, 0.12) !important;
    position: static !important;
    float: none;
    transform: none !important;
    box-shadow: none !important;
  }

  .theme-main-menu .navbar-collapse .dropdown-item,
  .theme-main-menu .navbar-collapse .dropdown-item span {
    color: var(--dh-text-muted) !important;
  }

  .theme-main-menu .navbar-collapse .dropdown-item:hover,
  .theme-main-menu .navbar-collapse .dropdown-item:focus {
    background: var(--dh-bg-card) !important;
    color: var(--dh-accent) !important;
  }

  .theme-main-menu .navbar-collapse .btn-eighteen {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
  }

  .theme-main-menu .nav-item.hosting-menu > .dropdown-menu {
    left: 0 !important;
    transform: none !important;
    width: 100%;
    max-width: 100%;
  }

  body.hostinza-mobile-nav-open {
    overflow: hidden !important;
  }

  body.hostinza-mobile-nav-open .theme-main-menu {
    z-index: 10050 !important;
  }

  body.hostinza-mobile-nav-open .theme-main-menu .navbar-collapse.show {
    z-index: 10051 !important;
  }

  #hostinza-mobile-nav-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10040;
    border: 0;
    padding: 0;
    cursor: pointer;
  }

  #hostinza-mobile-nav-backdrop.is-visible {
    display: block;
  }
}

@media (max-width: 767px) {
  .container,
  .container-fluid {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .hero-banner-eight,
  .domain-search-hero {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 12px !important;
  }

  .hero-banner-eight .hero-heading {
    font-size: 28px !important;
    line-height: 1.15em !important;
    letter-spacing: -0.5px;
    padding: 0 4px;
    word-break: break-word;
  }

  .hero-banner-eight .fs-28,
  .hero-banner-eight p.fs-28 {
    font-size: 16px !important;
    line-height: 1.5em !important;
    padding-top: 12px !important;
    padding-bottom: 8px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  .home-domain,
  .home-domain-search-form {
    width: 100%;
    padding: 0 4px;
  }

  .home-domain form,
  .home-domain-search-form,
  .domain-transfer-form {
    flex-direction: column !important;
    align-items: stretch !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 24px 0 16px !important;
    gap: 10px;
  }

  .home-domain form input,
  .home-domain-search-form input,
  .domain-transfer-form input[type="text"] {
    width: 100% !important;
    height: 52px !important;
    font-size: 16px !important;
    border-radius: 12px !important;
  }

  .home-domain form button,
  .home-domain-search-form button,
  .domain-transfer-form button[type="submit"] {
    width: 100% !important;
    height: 52px !important;
    font-size: 16px !important;
    border-radius: 12px !important;
  }

  .domain-transfer-tld {
    width: 100% !important;
    border-radius: 12px !important;
    height: 52px !important;
  }

  .home-domain-tlds {
    padding: 0 8px;
    gap: 10px 14px !important;
    justify-content: center !important;
  }

  .home-domain-tld {
    font-size: 17px !important;
  }

  .section-gap,
  .homepage-pricing-tight {
    padding-left: 0;
    padding-right: 0;
  }

  .title-eleven h2 {
    font-size: 28px !important;
    line-height: 1.2em;
  }

  .pricing-section-six .pr-column .plane-name {
    font-size: 22px !important;
  }

  .pricing-section-six .pr-column .price,
  .homepage-pricing-tight .pr-column .homepage-price {
    font-size: 32px !important;
  }
}

@media (max-width: 575px) {
  .hero-banner-eight .hero-heading {
    font-size: 26px !important;
  }
}

/* ============================================
   cPanel hosting dashboard (product details)
   ============================================ */
.primary-content > .tab-content.margin-bottom {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Botones secundarios: whmcs.css pone texto #333 sobre fondo oscuro */
#main-body .btn-default,
.primary-content .btn-default,
#cPanelPackagePanel .btn-default,
#cPanelWordPress .btn-default,
#cPanelExtrasPurchasePanel .btn-default,
.card-sidebar .modulebutton.btn-default {
  color: #ffffff !important;
  background-color: var(--dh-accent) !important;
  border-color: var(--dh-accent) !important;
}

#main-body .btn-default:hover,
#main-body .btn-default:focus,
.primary-content .btn-default:hover,
.primary-content .btn-default:focus,
#cPanelPackagePanel .btn-default:hover,
#cPanelWordPress .btn-default:hover {
  color: #ffffff !important;
  background-color: var(--dh-accent-hover) !important;
  border-color: var(--dh-accent-hover) !important;
}

/* Sidebar producto: enlace activo legible */
.sidebar .list-group-item,
.sidebar .list-group-item-action {
  color: #ffffff !important;
  background: transparent !important;
  border-color: var(--dh-border) !important;
}

.sidebar .list-group-item.active,
.sidebar .list-group-item.active:focus,
.sidebar .list-group-item.active:hover,
.sidebar a.list-group-item.active {
  color: #ffffff !important;
  background: rgba(140, 50, 255, 0.18) !important;
  border-left-color: var(--dh-accent) !important;
}

.sidebar .list-group-item-action:hover,
.sidebar .list-group-item-action:focus {
  color: #ffffff !important;
  background: rgba(140, 50, 255, 0.12) !important;
}

#cPanelPackagePanel .card-header,
#cPanelUsagePanel .card-header,
#cPanelExtrasPurchasePanel .card-header,
#cPanelQuickShortcutsPanel .card-header,
#cPanelQuickEmailPanel .card-header,
#cPanelBillingOverviewPanel .card-header,
#cPanelWordPress .card-header,
#cPanelGetSitejet .card-header {
  background: var(--dh-bg-soft) !important;
  border-bottom: 1px solid var(--dh-border) !important;
}

#cPanelPackagePanel .card-title,
#cPanelUsagePanel .card-title,
#cPanelExtrasPurchasePanel .card-title,
#cPanelQuickShortcutsPanel .card-title,
#cPanelQuickEmailPanel .card-title,
#cPanelBillingOverviewPanel .card-title,
#cPanelWordPress .card-title,
#cPanelGetSitejet .card-title {
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff !important;
}

.cpanel-package-details em {
  color: var(--dh-text-dim) !important;
}

.cpanel-package-details h4 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-top: 0.35rem;
  color: #ffffff !important;
}

.cpanel-package-details a {
  color: var(--dh-accent-hover) !important;
}

.cpanel-package-details a:hover {
  color: #ffffff !important;
}

.cpanel-usage-stats strong,
.cpanel-usage-stats .limit-near,
#cPanelBillingOverviewPanel .row > div {
  color: var(--dh-text-muted) !important;
}

.cpanel-usage-stats .usage-dial {
  font-weight: 700;
  color: #ffffff !important;
}

#cPanelQuickShortcutsPanel .cpanel-feature-row a {
  display: block;
  padding: 12px 8px;
  border-radius: 10px;
  text-decoration: none;
  color: #ffffff !important;
  transition: background 0.2s ease, color 0.2s ease;
}

#cPanelQuickShortcutsPanel .cpanel-feature-row a:hover,
#cPanelQuickShortcutsPanel .cpanel-feature-row a:focus {
  background: rgba(140, 50, 255, 0.2) !important;
  color: #ffffff !important;
}

#cPanelQuickShortcutsPanel .cpanel-feature-row img {
  max-height: 42px;
  width: auto;
}

#cPanelQuickEmailPanel .form-control {
  background: var(--dh-bg-soft) !important;
  border-color: var(--dh-border) !important;
  color: #ffffff !important;
}

#cPanelQuickEmailPanel .form-control::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
  opacity: 1;
}

#cPanelQuickEmailPanel .input-group-text {
  background: var(--dh-bg-soft) !important;
  border-color: var(--dh-border) !important;
  color: var(--dh-text-muted) !important;
}

#cPanelQuickEmailPanel .input-group-text small {
  color: var(--dh-text-muted) !important;
}

#cPanelQuickEmailPanel .form-inline .form-control {
  margin-bottom: 8px;
}

#cPanelBillingOverviewPanel .table {
  margin-bottom: 0;
}

#cPanelWordPress .panel-body .row:not(:last-of-type):not(.no-margin) {
  border-bottom-color: var(--dh-border) !important;
}

.card-sidebar .modulebutton {
  width: 100%;
  margin-bottom: 8px;
}

.card-sidebar .modulebutton:last-child {
  margin-bottom: 0;
}

@media (max-width: 991px) {
  #cPanelQuickShortcutsPanel .cpanel-feature-row > div {
    margin-bottom: 4px;
  }
}

/* ============================================
   Gestión de dominios (nameservers, DNSSEC)
   ============================================ */
#main-body .alert-info,
.primary-content .alert-info,
.tab-content .alert-info {
  background: rgba(140, 50, 255, 0.12) !important;
  border-color: rgba(140, 50, 255, 0.45) !important;
  color: #e8e8e8 !important;
}

#main-body .alert-danger,
.primary-content .alert-danger,
.tab-content .alert-danger {
  background: rgba(220, 53, 69, 0.18) !important;
  border-color: rgba(220, 53, 69, 0.5) !important;
  color: #ffc2c7 !important;
}

#main-body .alert-warning,
.primary-content .alert-warning,
.tab-content .alert-warning {
  background: rgba(255, 193, 7, 0.12) !important;
  border-color: rgba(255, 193, 7, 0.45) !important;
  color: #ffe08a !important;
}

#main-body .alert-success,
.primary-content .alert-success,
.tab-content .alert-success {
  background: rgba(25, 135, 84, 0.15) !important;
  border-color: rgba(25, 135, 84, 0.45) !important;
  color: #9fdfb7 !important;
}

#tabNameservers .form-check-label,
#tabNameservers .col-form-label,
.tab-content .form-check-label,
.tab-content .col-form-label {
  color: #ffffff !important;
}

#tabNameservers .form-check-input,
.tab-content .form-check-input {
  border-color: var(--dh-border) !important;
  background-color: var(--dh-bg-soft) !important;
}

#tabNameservers .form-check-input:checked,
.tab-content .form-check-input:checked {
  background-color: var(--dh-accent) !important;
  border-color: var(--dh-accent) !important;
}

#tabNameservers .domnsinputs,
#tabNameservers .form-control,
.tab-content .domnsinputs {
  background: #1e1e1e !important;
  border: 1px solid rgba(140, 50, 255, 0.45) !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

#tabNameservers .domnsinputs:focus,
#tabNameservers .form-control:focus,
.tab-content .domnsinputs:focus {
  border-color: var(--dh-accent) !important;
  box-shadow: 0 0 0 0.2rem rgba(140, 50, 255, 0.2) !important;
}

#tabNameservers .domnsinputs::placeholder,
.tab-content .form-control::placeholder {
  color: rgba(255, 255, 255, 0.45) !important;
  opacity: 1;
}

/* Nameservers privados: sufijo .dominio en input-group */
#main-body .input-group-text,
.primary-content .input-group-text,
.tab-content .input-group-text {
  background: var(--dh-bg-soft) !important;
  border-color: var(--dh-border) !important;
  color: var(--dh-text-muted) !important;
}

#main-body .input-group .form-control,
.primary-content .input-group .form-control {
  background: #1e1e1e !important;
  border-color: rgba(140, 50, 255, 0.45) !important;
  color: #ffffff !important;
}

#main-body .col-form-label,
.primary-content .col-form-label {
  color: #ffffff !important;
}

/* Prefijo telefónico y desplegables globales */
.intl-tel-input .country-list,
.iti__country-list {
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5) !important;
  z-index: 10060 !important;
}

.intl-tel-input .country-list .country,
.intl-tel-input .country-list .country .country-name,
.iti__country-list .iti__country,
.iti__country-list .iti__country-name {
  color: #ffffff !important;
}

.intl-tel-input .country-list .country .dial-code,
.iti__country-list .iti__dial-code {
  color: rgba(255, 255, 255, 0.65) !important;
}

.intl-tel-input .country-list .country.highlight,
.intl-tel-input .country-list .country:hover,
.iti__country-list .iti__country--highlight {
  background: rgba(140, 50, 255, 0.2) !important;
}

.intl-tel-input.separate-dial-code .selected-dial-code {
  color: #ffffff !important;
}

#main-body input:-webkit-autofill,
#main-body input:-webkit-autofill:hover,
#main-body input:-webkit-autofill:focus,
#order-standard_cart input:-webkit-autofill,
#order-standard_cart input:-webkit-autofill:hover,
#order-standard_cart input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #161616 inset !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff;
}

/* ============================================
   Contraste global: cuadros blancos / texto invisible
   (tickets, contacto, perfil, facturas, etc.)
   ============================================ */
#main-body .form-control,
.primary-content .form-control,
#main-body .custom-select,
.primary-content .custom-select,
#main-body input.form-control,
#main-body select.form-control,
#main-body textarea.form-control,
.primary-content textarea,
#main-body textarea,
#main-body input[type="text"],
#main-body input[type="email"],
#main-body input[type="password"],
#main-body input[type="search"],
#main-body input[type="tel"],
#main-body input[type="url"],
#main-body input[type="number"],
#main-body input[type="date"],
#main-body input[type="datetime-local"],
#main-body select,
.contact-form .form-control,
.view-ticket .form-control {
  background: #1e1e1e !important;
  background-color: #1e1e1e !important;
  border-color: var(--dh-border) !important;
  color: #ffffff !important;
  color-scheme: dark;
}

#main-body .form-control:focus,
.primary-content .form-control:focus,
#main-body textarea:focus,
#main-body select:focus {
  background: #1e1e1e !important;
  border-color: var(--dh-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 0.2rem rgba(140, 50, 255, 0.2) !important;
}

#main-body .form-control::placeholder,
.primary-content .form-control::placeholder,
#main-body textarea::placeholder {
  color: rgba(255, 255, 255, 0.45) !important;
  opacity: 1;
}

#main-body .custom-file-label,
.primary-content .custom-file-label,
.view-ticket .custom-file-label {
  background: #1e1e1e !important;
  border: 1px solid var(--dh-border) !important;
  color: rgba(255, 255, 255, 0.75) !important;
}

#main-body .custom-file-input:focus ~ .custom-file-label,
#main-body .custom-file-input:hover ~ .custom-file-label,
.primary-content .custom-file-input:focus ~ .custom-file-label {
  border-color: var(--dh-accent) !important;
  color: #ffffff !important;
}

#main-body .md-editor,
.primary-content .md-editor,
.view-ticket .md-editor {
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
  border-radius: 8px;
  overflow: hidden;
}

#main-body .md-editor .md-header,
.primary-content .md-editor .md-header,
.view-ticket .md-editor .md-header {
  background: var(--dh-bg-soft) !important;
  border-bottom: 1px solid var(--dh-border) !important;
}

#main-body .md-editor > textarea.markdown-editor,
#main-body .md-editor > .md-preview,
.primary-content .md-editor > textarea.markdown-editor,
.primary-content .md-editor > .md-preview,
.view-ticket .md-editor > textarea.markdown-editor,
.view-ticket .md-editor > .md-preview {
  background: #1e1e1e !important;
  color: #ffffff !important;
  border-color: var(--dh-border) !important;
}

#main-body .md-editor .btn,
.primary-content .md-editor .btn,
.view-ticket .md-editor .btn {
  background: var(--dh-bg-soft) !important;
  border-color: var(--dh-border) !important;
  color: #ffffff !important;
}

#main-body .md-editor .btn span,
.primary-content .md-editor .btn span,
.view-ticket .md-editor .btn span {
  color: #ffffff !important;
  opacity: 1;
}

#main-body .md-editor .btn:hover,
.primary-content .md-editor .btn:hover {
  background: rgba(140, 50, 255, 0.2) !important;
  border-color: var(--dh-accent) !important;
}

#main-body .well,
.primary-content .well,
#main-body .panel-footer,
.primary-content .panel-footer {
  background: var(--dh-bg-soft) !important;
  border-color: var(--dh-border) !important;
  color: var(--dh-text-muted) !important;
}

#main-body label,
.primary-content label,
#main-body .col-form-label,
.primary-content .col-form-label,
#main-body .form-group label {
  color: #ffffff !important;
}

#main-body .text-muted,
.primary-content .text-muted {
  color: rgba(255, 255, 255, 0.65) !important;
}

#main-body .dropdown-menu,
.primary-content .dropdown-menu {
  background: var(--dh-bg-card) !important;
  border-color: var(--dh-border) !important;
}

#main-body .dropdown-menu .dropdown-item,
.primary-content .dropdown-menu .dropdown-item {
  color: #ffffff !important;
}

#main-body .dropdown-menu .dropdown-item:hover,
#main-body .dropdown-menu .dropdown-item:focus,
.primary-content .dropdown-menu .dropdown-item:hover {
  background: rgba(140, 50, 255, 0.15) !important;
  color: #ffffff !important;
}

/* Stripe checkout: fondo blanco en campos de tarjeta */
#order-standard_cart #stripeCreditCard,
#order-standard_cart #stripeExpiryDate,
#order-standard_cart #stripeCvc,
#order-standard_cart #stripeElements .form-control,
#order-standard_cart .StripeElement {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: #ced4da !important;
  color-scheme: light !important;
  color: #212529 !important;
}

/* ============================================
   MarketConnect - Inicio (complementos)
   ============================================ */
.dh-mc-home {
  background: var(--dh-bg) !important;
}

.dh-mc-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  max-width: 100%;
  margin: 0;
}

.dh-mc-card {
  border: 1px solid var(--dh-border);
  border-radius: 12px;
  background: var(--dh-bg-soft);
  height: 100%;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.dh-mc-card:hover {
  border-color: rgba(140, 50, 255, 0.45);
  transform: translateY(-2px);
}

.dh-mc-card-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  min-height: 260px;
  padding: 1.75rem 1.25rem;
  text-align: center;
  text-decoration: none !important;
  transition: background 0.2s ease;
}

.dh-mc-card-link:hover {
  background: var(--dh-bg-card-hover);
}

.dh-mc-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  margin-bottom: 1rem;
}

.dh-mc-logo img {
  max-height: 56px;
  max-width: 100%;
}

.dh-mc-title {
  color: #b8c4ff !important;
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 0.6rem;
  letter-spacing: 0.02em;
}

.dh-mc-body {
  color: #ffffff !important;
  font-size: 0.95rem;
  margin: 0 0 1rem;
  line-height: 1.45;
  flex: 1;
}

.dh-mc-more {
  color: var(--dh-accent) !important;
  font-weight: 500;
  font-size: 0.9rem;
  margin-top: auto;
}

.dh-mc-more i {
  margin-left: 0.35rem;
}

@media (max-width: 1199.98px) {
  .dh-mc-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575.98px) {
  .dh-mc-list {
    grid-template-columns: 1fr;
  }

  .dh-mc-card-link {
    min-height: 0;
  }
}

/* ============================================
   MarketConnect - Páginas store y promos
   ============================================ */
#main-body .landing-page,
#main-body .landing-page.bg-white {
  background-color: var(--dh-bg) !important;
  color: #e8e8e8 !important;
}

#main-body .landing-page h1,
#main-body .landing-page h2,
#main-body .landing-page h3,
#main-body .landing-page h4,
#main-body .landing-page h5,
#main-body .landing-page h6,
#main-body .landing-page p,
#main-body .landing-page span,
#main-body .landing-page li,
#main-body .landing-page strong,
#main-body .landing-page td,
#main-body .landing-page th,
#main-body .landing-page label {
  color: inherit !important;
}

#main-body .landing-page.nordvpn,
#main-body .landing-page.sitelock,
#main-body .landing-page.weebly,
#main-body .landing-page.spamexperts,
#main-body .landing-page.socialbee,
#main-body .landing-page.sitebuilder,
#main-body .landing-page.codeguard,
#main-body .landing-page.marketgoo,
#main-body .landing-page.ox {
  background-color: var(--dh-bg) !important;
}

#main-body .landing-page .hero,
#main-body .landing-page .feature,
#main-body .landing-page .content-block {
  background: transparent !important;
  color: #ffffff !important;
}

#main-body .landing-page .light-grey-bg,
#main-body .landing-page.nordvpn .feature.logo {
  background: var(--dh-bg-soft) !important;
}

#main-body .landing-page.nordvpn .comparison .col-12:nth-child(odd):not(:first-child):not(:last-child) {
  background-color: #1a1a1a !important;
}

#main-body .landing-page.nordvpn .comparison .col-12 .col-2:nth-of-type(2) {
  background: #1a2540 !important;
  border-color: #4e86ff !important;
  color: #ffffff !important;
}

#main-body .landing-page.nordvpn .comparison .col-2 span,
#main-body .landing-page.nordvpn .comparison .col-2 {
  color: #ffffff !important;
}

#main-body .landing-page.nordvpn .comparison h1,
#main-body .landing-page.nordvpn .feature.comparison h1 {
  color: #ffffff !important;
}

#main-body .landing-page.nordvpn .keep-data-safe-card,
#main-body .landing-page.nordvpn .feature.threat .threats-div .col-10 {
  background: var(--dh-bg-card) !important;
  border-color: var(--dh-border) !important;
  color: #ffffff !important;
}

#main-body .landing-page .card,
#main-body .landing-page .card-header,
#main-body .landing-page .card-body {
  background: var(--dh-bg-card) !important;
  border-color: var(--dh-border) !important;
  color: #ffffff !important;
}

#main-body .promo-banner,
.cart-body .promo-banner,
.primary-content .promo-banner,
#order-standard_cart .promo-banner {
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
  border-radius: 8px;
  margin-bottom: 14px;
  color: #ffffff !important;
}

#main-body .promo-banner h3,
#main-body .promo-banner h4,
#main-body .promo-banner p,
.cart-body .promo-banner h3,
.cart-body .promo-banner h4,
.cart-body .promo-banner p,
.primary-content .promo-banner h3,
.primary-content .promo-banner h4,
.primary-content .promo-banner p {
  color: #ffffff !important;
}

#main-body .promo-banner h3 small,
#main-body .promo-banner h3 small a,
.cart-body .promo-banner a,
.primary-content .promo-banner a {
  color: var(--dh-accent) !important;
  text-decoration: none !important;
}

#main-body .promo-banner .btn,
.cart-body .promo-banner .btn,
.primary-content .promo-banner .btn {
  background: var(--dh-accent) !important;
  border-color: var(--dh-accent) !important;
  color: #ffffff !important;
}

#main-body .mc-promo .header,
.cart-body .mc-promo .header,
#order-standard_cart .mc-promo .header {
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
  color: #ffffff !important;
}

#main-body .mc-promo .headline,
#main-body .mc-promo .tagline,
.cart-body .mc-promo .headline,
.cart-body .mc-promo .tagline {
  color: #ffffff !important;
}

#main-body .mc-promo .body,
.cart-body .mc-promo .body {
  background: var(--dh-bg-soft) !important;
  border: 1px solid var(--dh-border) !important;
  color: #e8e8e8 !important;
}

#order-standard_cart .mc-promo {
  background: var(--dh-bg-card) !important;
  border: 1px solid var(--dh-border) !important;
  border-bottom: 4px solid var(--dh-accent) !important;
}

#order-standard_cart .mc-promo .headline,
#order-standard_cart .mc-promo .tagline,
#order-standard_cart .mc-promo .price {
  color: #ffffff !important;
}

#order-standard_cart .mc-promo .body {
  background: var(--dh-bg-soft) !important;
  border-top-color: var(--dh-border) !important;
  color: #e8e8e8 !important;
}

#order-standard_cart .mc-promo .btn-add {
  background: var(--dh-accent) !important;
  border-color: var(--dh-accent) !important;
  color: #ffffff !important;
}

/* Superficies claras: tablas y cuadros de precios legibles */
#main-body .landing-page .plan,
#main-body .landing-page .plans .plan .footer,
#main-body .landing-page .plans .plan ul,
#main-body .landing-page .pricing-table,
#main-body .landing-page .pricing-table-row,
#main-body .landing-page .pricing-table-container,
#main-body .landing-page .pricing-item,
#main-body .landing-page .product-options .item,
#main-body .landing-page.marketgoo .plan,
#main-body .landing-page.marketgoo .feature-wrapper,
#main-body .landing-page.weebly .pricing-item,
#main-body .landing-page.weebly .weebly-lite-plan,
#main-body .landing-page.ssl .row-pricing-table,
#main-body .landing-page.ssl .validation-levels .item,
#main-body .landing-page.ssl .detailed-info .card-body,
#main-body .landing-page .tab-content,
#main-body .landing-page.mail-services .get-started,
#main-body .landing-page .currency-selector,
#main-body .landing-page .templates,
#main-body .landing-page .templates .tplname {
  color: #333333 !important;
}

#main-body .landing-page .plans .plan ul li,
#main-body .landing-page .plans .plan ul li span,
#main-body .landing-page .plans .plan .footer,
#main-body .landing-page .plans .plan .footer select,
#main-body .landing-page .pricing-table div,
#main-body .landing-page .pricing-table-row div,
#main-body .landing-page .pricing-table span,
#main-body .landing-page .pricing-table-row span,
#main-body .landing-page .pricing-item ul li,
#main-body .landing-page .pricing-item .price,
#main-body .landing-page .pricing-item .header h4,
#main-body .landing-page.marketgoo .plan ul li,
#main-body .landing-page.marketgoo .plan .pricing,
#main-body .landing-page.marketgoo .plan .header h4,
#main-body .landing-page.weebly .pricing-item ul li,
#main-body .landing-page.ssl .row-pricing-table ul li,
#main-body .landing-page.ssl .row-pricing-table .header h4,
#main-body .landing-page.ssl .validation-levels .item h4,
#main-body .landing-page.ssl .validation-levels .item p,
#main-body .landing-page .product-options .item h4,
#main-body .landing-page .product-options .item p,
#main-body .landing-page .product-options .item span,
#main-body .landing-page .product-options .price,
#main-body .landing-page .tab-content p,
#main-body .landing-page .tab-content li,
#main-body .landing-page.sitebuilder .faq,
#main-body .landing-page.sitebuilder .faq-block,
#main-body .landing-page.sitebuilder .templates .tplname {
  color: #444444 !important;
}

#main-body .landing-page .plans .plan .header,
#main-body .landing-page .plans .plan .header p,
#main-body .landing-page .plans .plan .header h4,
#main-body .landing-page .plans .plan .header span {
  color: #ffffff !important;
}

#main-body .landing-page.sitelock .plans h2,
#main-body .landing-page.sitelock .plans h3,
#main-body .landing-page.sitelock .emergency h2,
#main-body .landing-page.sitelock .emergency h3 {
  color: #ffffff !important;
}

#main-body .landing-page.sitebuilder .pricing h2,
#main-body .landing-page.sitebuilder .pricing p {
  color: #ffffff !important;
}

#main-body .landing-page.codeguard .pricing,
#main-body .landing-page.codeguard .pricing h2,
#main-body .landing-page.codeguard .pricing-container .price {
  color: #ffffff !important;
}

/* SocialBee */
#main-body .social-bee,
#main-body .social-bee h2,
#main-body .social-bee h3,
#main-body .social-bee p,
#main-body .social-bee span,
#main-body .social-bee li,
#main-body .social-bee td,
#main-body .social-bee th,
#main-body .social-bee label,
#main-body .social-bee .pricing-table__cell,
#main-body .social-bee .pricing-table__header-cell,
#main-body .social-bee .pricing-table__feature-name,
#main-body .social-bee .pricing-table__feature-header,
#main-body .social-bee .tab__content,
#main-body .social-bee .tab__content p,
#main-body .social-bee .tab__content li,
#main-body .social-bee .content-block h2,
#main-body .social-bee .pricing__header h2,
#main-body .social-bee .hero h2,
#main-body .social-bee .hero__description,
#main-body .social-bee .features .features__item p {
  color: #212533 !important;
}

#main-body .social-bee .tab__label,
#main-body .social-bee .tab__label span {
  color: #212533 !important;
}

#main-body .social-bee .planner,
#main-body .social-bee .planner * {
  color: #ffffff !important;
}

/* Carrusel promos área cliente */
.primary-content .promo-container,
#main-body .promo-container,
.client-home-cards .promo-container {
  background: var(--dh-bg-card) !important;
  border-color: var(--dh-border) !important;
}

.primary-content .promo-container .carousel-inner,
#main-body .promo-container .carousel-inner,
.client-home-cards .promo-container .carousel-inner {
  background: var(--dh-bg-card) !important;
}

.primary-content .promo-container .promo-banner,
#main-body .promo-container .promo-banner,
.client-home-cards .promo-container .promo-banner {
  background: var(--dh-bg-card) !important;
  color: #e8e8e8 !important;
}

.primary-content .promo-container .header,
#main-body .promo-container .header,
.client-home-cards .promo-container .header {
  background: var(--dh-bg-soft) !important;
  border-bottom: 1px solid var(--dh-border) !important;
}

.primary-content .promo-container .header h3,
#main-body .promo-container .header h3,
.client-home-cards .promo-container .header h3 {
  color: #ffffff !important;
}

/* OX / Email profesional */
#main-body .landing-page.ox .stand-out {
  background: var(--dh-bg-soft) !important;
  color: #e8e8e8 !important;
}

#main-body .landing-page.ox .stand-out h2,
#main-body .landing-page.ox .stand-out p,
#main-body .landing-page.ox .stand-out li {
  color: #ffffff !important;
}

#main-body .landing-page.ox .features h3 {
  color: var(--dh-accent) !important;
}

#main-body .landing-page.ox .features p,
#main-body .landing-page.ox .features .title {
  color: #e8e8e8 !important;
}

#main-body .landing-page.ox .pricing h3 {
  color: #ffffff !important;
}

#main-body .landing-page.ox .pricing table {
  color: #e8e8e8 !important;
}

#main-body .landing-page.ox .pricing td:not(.no-border),
#main-body .landing-page.ox .pricing th {
  border-color: var(--dh-border) !important;
  background-color: var(--dh-bg-card) !important;
  color: #e8e8e8 !important;
}

#main-body .landing-page.ox .pricing th {
  background-color: #2a4f7a !important;
  color: #ffffff !important;
}

#main-body .landing-page.ox .pricing th.feature {
  background-color: #2a6b4f !important;
}

#main-body .landing-page.ox .pricing table tr td:first-child,
#main-body .landing-page.ox .pricing table tr:nth-child(even) td:first-child {
  background-color: var(--dh-bg-soft) !important;
  color: #e8e8e8 !important;
}

#main-body .landing-page.ox .pricing td.no-bg {
  background-color: transparent !important;
}

#main-body .landing-page.ox .pricing .pricing-label {
  color: #ffffff !important;
}

#main-body .landing-page.ox .faqs {
  background: var(--dh-bg-soft) !important;
  color: #e8e8e8 !important;
}

#main-body .landing-page.ox .faqs p,
#main-body .landing-page.ox .faqs small {
  color: #c8c8c8 !important;
}

#main-body .landing-page.ox .faqs .question {
  color: #ffffff !important;
}
