/* WPForms input text */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form select,
.wpforms-form textarea {
    color: #ffffff !important; /* white text */
    background-color: #0A0A0A !important; /* dark background */
    border: 1px solid #333333 !important;
}

/* Placeholder color */
.wpforms-form ::placeholder {
    color: #B4B4B4 !important;
}

/* Labels */
.wpforms-form .wpforms-field-label {
    color: #ffffff !important;
    font-weight: 600;
}

/* Textarea + select */
.wpforms-form textarea,
.wpforms-form select {
    color: #ffffff !important;
}

/* Submit button */
.wpforms-form button[type="submit"] {
    background-color: #EC7015 !important; /* NXTSTATE orange */
    color: #000000 !important;
    padding: 14px 26px;
    border-radius: 3px;
    font-weight: 600;
    border: none !important;
}

.pum-close {
    display: none !important;
}



/* Blocksy: force sticky header (all rows) to stay black */
.ct-sticky-container,
.ct-sticky-container .ct-header,
.ct-sticky-container [data-row],
.ct-sticky-container [data-row] > div,
.ct-sticky-container .ct-header [class*="row"],
.ct-sticky-container .ct-header [class*="Row"] {
  background: #000 !important;
  background-color: #000 !important;
}

/* Empty cart full-width background wrapper */
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce-info {
  background-color: #F5F7FA !important;
}

/* Text styling inside the notice */
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-info p {
  color: #000000;
}

/* Accent links / emphasis */
.woocommerce-cart .woocommerce-info a,
.woocommerce-cart .woocommerce-info strong {
  color: #EB6F1B;
}

/* Force shop main content area to black */
body.woocommerce-shop #main.site-main,
body.post-type-archive-product #main.site-main,
body.tax-product_cat #main.site-main,
body.tax-product_tag #main.site-main {
  background-color: #000000 !important;
}

/* Remove Jetpack Related Posts from WooCommerce product pages */
.single-product #jp-relatedposts {
  display: none !important;
}
/* WooCommerce notices text color */
.woocommerce-message,
.woocommerce-notice,
.woocommerce-error,
.woocommerce-info {
  color: #000000 !important;
}

/* Ensure links inside notices stay visible */
.woocommerce-message a,
.woocommerce-notice a,
.woocommerce-error a,
.woocommerce-info a {
  color: #EB6F1B;
}

.cookie-notification .ct-cookies-content {
  color: #000000 !important;
}

/* Mobile: force WooCommerce product grids to 2 columns */
@media (max-width: 767px) {
  .woocommerce ul.products {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  .woocommerce ul.products li.product {
    width: calc(50% - 6px) !important;
    margin: 0 !important;
    float: none !important;
  }
}

/* ===== NXTSTATE ANNOUNCEMENT BAR ===== */

.nxtstate-top-banner{
  width:100%;
  background:#000;
  height:36px;
  display:flex;
  align-items:center;
  overflow:hidden;
  font-size:14px;
}

/* Desktop = static centered */
.nxtstate-top-banner__track{
  width:100%;
  display:flex;
  justify-content:center;
  white-space:nowrap;
}

.nxtstate-top-banner__track span{
  color:#EC7015 !important;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* Hide duplicate on desktop */
@media (min-width: 769px){
  .nxtstate-top-banner__track span:nth-child(2){
    display:none;
  }
}

/* ===== Mobile Scroll Only ===== */
@media (max-width: 768px){

  .nxtstate-top-banner{
    height:32px;
    font-size:12px;
  }

  .nxtstate-top-banner__track{
    width:max-content;
    display:inline-flex;
    gap:48px;
    justify-content:flex-start;
    animation:nxtstate-mobile-scroll 14s linear infinite;
    will-change:transform;
  }

  .nxtstate-top-banner__track span:nth-child(2){
    display:inline-block;
  }

  @keyframes nxtstate-mobile-scroll{
    0%{ transform:translateX(0); }
    100%{ transform:translateX(-50%); }
  }
}

/* Login Modal Fix */

.woocommerce-form-login,
.login,
.wp-block-loginout,
.ct-login-form {
    background: #111 !important;
    padding: 30px !important;
    border-radius: 8px !important;
}

.woocommerce-form-login input,
.login input,
.ct-login-form input {
    background: #1a1a1a !important;
    color: #ffffff !important;
    border: 1px solid #333 !important;
}

.woocommerce-form-login label,
.login label,
.ct-login-form label {
    color: #ffffff !important;
}

.woocommerce-form-login button,
.login button,
.ct-login-form button {
    background: #EB6F1B !important;
    color: #fff !important;
    border: none !important;
}
/* Remove white modal background */

.ct-modal,
.ct-login-modal,
.ct-popup,
.ct-popup-inner,
.ct-account-modal {
    background: rgba(0, 0, 0, 0.85) !important;
}

.ct-modal-content,
.ct-popup-content {
    background: transparent !important;
    box-shadow: none !important;
}

.select2-container--default .select2-results__option {
  background-color: #1a1a1a !important;
  color: #ffffff !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #e85d00 !important;
  color: #ffffff !important;
}

.select2-drop,
.select2-dropdown,
.select2-container--default .select2-dropdown {
  background-color: #1a1a1a !important;
  border: 1px solid #e85d00 !important;
}

.select2-search--dropdown .select2-search__field {
  background-color: #2a2a2a !important;
  color: #ffffff !important;
}

/* Tiered Pricing Table — dark theme override */
.tpt__tiered-pricing,
.tiered-pricing-wrapper {
    background: transparent !important;
}

.tiered-pricing-table.shop_table {
    background-color: #111 !important;
    border: 1px solid #2a2a2a !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.tiered-pricing-table.shop_table thead th {
    background-color: #1a1a1a !important;
    color: #fff !important;
    border-bottom: 1px solid #2a2a2a !important;
    font-weight: 600 !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.tiered-pricing-table.shop_table tbody tr td {
    background-color: #111 !important;
    color: #ccc !important;
    border-bottom: 1px solid #1e1e1e !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
}

.tiered-pricing-table.shop_table tbody tr:hover td {
    background-color: #1a1a1a !important;
}

body .tiered-pricing-table.shop_table tbody tr.tiered-pricing--active td,
[id] .tiered-pricing-table tbody tr.tiered-pricing--active td,
.tiered-pricing--active td {
    background-color: rgba(236, 112, 21, 0.15) !important;
    color: #fff !important;
    border-left-color: #EC7015 !important;
}

.tiered-pricing-table.shop_table tbody tr.tiered-pricing--active td:first-child {
    border-left: 3px solid #EC7015 !important;
}

.tiered-pricing-table.shop_table tbody tr td del {
    color: #666 !important;
}

.tiered-pricing-table.shop_table tbody tr td ins {
    color: #EC7015 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.tiered-pricing-dynamic-price-wrapper {
    color: #EC7015 !important;
}

/* Critical mobile hero CSS - prevents flash of unstyled content */
.nxt-hero {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1208 50%, #0a0a0a 100%);
  min-height: 500px;
  overflow: hidden;
  color: #fff;
}
.nxt-hero * {
  color: inherit;
}
.nxt-btn-s {
  background: transparent;
  border: 1px solid #444;
  color: #fff;
  border-radius: 8px;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
}
.nxt-btn-p {
  background: #E86A1A;
  color: #fff;
  border-radius: 8px;
  padding: 16px 32px;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 640px) {
  .nxt-vial-img { display: none !important; }
  .nxt-hero { min-height: auto; }
  .nxt-btns { flex-direction: column; width: 100%; }
  .nxt-btn-p, .nxt-btn-s { width: 100%; }
}

/* Force dark background on all Elementor hero wrappers - prevents mobile FOUC */
.elementor-element-866ad0a,
.elementor-element-866ad0a .elementor-widget-container,
.elementor-element-4a58db2 {
  background-color: #0a0a0a !important;
}
.nxt-btns {
  display: flex;
  gap: 12px;
}
.nxt-btn-s svg {
  display: inline-block;
  vertical-align: middle;
}