/*
 * ============================================================
 *  DJ Sushe Axello — WP Easy Cart Custom Theme
 *  Version: 3.0.0 — Built from real HTML source
 *  File: djsusie-wpeasyCart.css
 *  Load: wp_enqueue_style priority 999 OR append to sonaar css
 * ============================================================
 */

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
  --dj-bg-deep:        #0d0010;
  --dj-bg-card:        #1e0028;
  --dj-bg-input:       #160020;
  --dj-purple-neon:    #9b1dbf;
  --dj-purple-glow:    #c44dff;
  --dj-purple-brand:   #853da0;
  --dj-gold:           #f0c030;
  --dj-pink:           #ff99ff;
  --dj-white:          #ffffff;
  --dj-grey:           #cccccc;
  --dj-error:          #ff4455;
  --dj-success:        #44ffaa;
  --dj-border:         rgba(155, 29, 191, 0.45);
  --dj-border-focus:   #c44dff;
  --dj-radius:         8px;
  --dj-radius-lg:      14px;
  --dj-font-display:   'Roboto', sans-serif;
  --dj-font-body:      'Roboto', sans-serif;
  --dj-glow-purple:    0 0 12px rgba(196, 77, 255, 0.55);
  --dj-glow-gold:      0 0 12px rgba(240, 192, 48, 0.55);
}

/* ============================================================
   GLOBAL FONT DEFAULT — 16px Roboto para todos os elementos EC
   ============================================================ */
#wpeasycart_cart_holder,
#wpeasycart_cart_holder *,
section.ec_cart_page,
section.ec_cart_page *,
section.ec_product_details_page,
section.ec_product_details_page *,
.ec_product_page,
.ec_product_page * {
  font-family: 'Roboto', sans-serif !important;
  font-size: 16px !important;
}

/* ============================================================
   CART PAGE WRAPPER
   ============================================================ */
section.ec_cart_page {
  background: #00000059 !important;
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 16px !important;
  padding: 20px 0 !important;
}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.ec_cart_breadcrumbs {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 28px !important;
  flex-wrap: wrap !important;
  background: transparent !important;
  padding: 10px 0 !important;
}

.ec_cart_breadcrumb {
  font-family: var(--dj-font-display) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--dj-purple-glow) !important;
  padding: 6px 14px !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: 20px !important;
}

.ec_cart_breadcrumb a {
  color: var(--dj-purple-glow) !important;
  text-decoration: none !important;
}

.ec_cart_breadcrumb a:hover {
  color: var(--dj-pink) !important;
}

.ec_cart_breadcrumb.ec_inactive {
  color: var(--dj-grey) !important;
  border-color: rgba(204,204,204,0.25) !important;
}

.ec_cart_breadcrumb_divider {
  color: var(--dj-purple-neon) !important;
  font-size: 14px !important;
}

/* ============================================================
   TWO-COLUMN LAYOUT
   ============================================================ */
.ec_cart_left,
.ec_cart_right {
  background: var(--dj-bg-card) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius-lg) !important;
  padding: 28px 24px !important;
}

/* Forçar fundo escuro em toda a tabela de produtos do carrinho */
.ec_cart_left table,
.ec_cart_left tr,
.ec_cart_left td,
.ec_cart_left th,
.ec_cart_left tbody,
.ec_cart_left thead {
  background: var(--dj-bg-card) !important;
  background-color: var(--dj-bg-card) !important;
  border-color: rgba(155, 29, 191, 0.25) !important;
}

.ec_cart_right {
  background: linear-gradient(160deg, #1e0028 0%, #2a003c 100%) !important;
}

/* ============================================================
   SECTION HEADERS
   ============================================================ */
.ec_cart_header {
  font-family: var(--dj-font-display) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--dj-gold) !important;
  border-bottom: 1px solid var(--dj-border) !important;
  padding-bottom: 10px !important;
  margin-bottom: 18px !important;
  margin-top: 24px !important;
}

.ec_cart_header.ec_top {
  margin-top: 0 !important;
}

.ec_cart_header input[type="checkbox"] {
  accent-color: var(--dj-purple-neon) !important;
  margin-right: 8px !important;
  cursor: pointer !important;
  width: 16px !important;
  height: 16px !important;
}

/* ============================================================
   INPUT ROWS
   ============================================================ */
.ec_cart_input_row {
  margin-bottom: 16px !important;
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
}

.ec_cart_input_row label {
  display: block !important;
  font-family: var(--dj-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--dj-purple-glow) !important;
  margin-bottom: 6px !important;
}

.ec_cart_input_left_half,
.ec_cart_input_right_half {
  display: inline-block !important;
  width: 48% !important;
  vertical-align: top !important;
}

.ec_cart_input_left_half {
  margin-right: 2% !important;
}

/* ============================================================
   TEXT INPUTS
   ============================================================ */
.ec_cart_billing_input_text,
.ec_cart_shipping_input_text,
.ec_cart_input_row input[type="text"],
.ec_cart_input_row input[type="email"],
.ec_cart_input_row input[type="tel"],
.ec_cart_input_row textarea,
#ec_coupon_code,
#ec_gift_card {
  display: block !important;
  width: 100% !important;
  background: var(--dj-bg-input) !important;
  color: var(--dj-white) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius) !important;
  padding: 10px 14px !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color 0.25s, box-shadow 0.25s !important;
}

.ec_cart_billing_input_text:focus,
.ec_cart_shipping_input_text:focus,
#ec_coupon_code:focus,
#ec_gift_card:focus {
  border-color: var(--dj-border-focus) !important;
  box-shadow: var(--dj-glow-purple) !important;
}

/* ============================================================
   SELECT DROPDOWNS  —  country + all state selects
   ============================================================ */
select.ec_cart_billing_input_text,
select.ec_cart_shipping_input_text,
#ec_cart_billing_country,
#ec_cart_shipping_country,
#ec_cart_billing_state_AR, #ec_cart_billing_state_AU,
#ec_cart_billing_state_BR, #ec_cart_billing_state_CA,
#ec_cart_billing_state_CN, #ec_cart_billing_state_GB,
#ec_cart_billing_state_IN, #ec_cart_billing_state_JP,
#ec_cart_billing_state_US,
#ec_cart_shipping_state_AR, #ec_cart_shipping_state_AU,
#ec_cart_shipping_state_BR, #ec_cart_shipping_state_CA,
#ec_cart_shipping_state_CN, #ec_cart_shipping_state_GB,
#ec_cart_shipping_state_IN, #ec_cart_shipping_state_JP,
#ec_cart_shipping_state_US {
  display: block !important;
  width: 100% !important;
  background: var(--dj-bg-input) !important;
  color: var(--dj-white) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius) !important;
  padding: 10px 14px !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  outline: none !important;
  cursor: pointer !important;
}

select.ec_cart_billing_input_text:focus,
select.ec_cart_shipping_input_text:focus,
#ec_cart_billing_country:focus,
#ec_cart_shipping_country:focus {
  border-color: var(--dj-border-focus) !important;
  box-shadow: var(--dj-glow-purple) !important;
}

#ec_cart_billing_country option,
#ec_cart_shipping_country option {
  background: var(--dj-bg-card) !important;
  color: var(--dj-white) !important;
}

/* ============================================================
   ERROR ROWS
   ============================================================ */
.ec_cart_error_row {
  color: var(--dj-error) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  margin-top: 4px !important;
  padding: 4px 8px !important;
  border-left: 3px solid var(--dj-error) !important;
  background: rgba(255, 68, 85, 0.08) !important;
  border-radius: 0 4px 4px 0 !important;
}

/* ============================================================
   SHIPPING FORM
   ============================================================ */
#ec_shipping_form {
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--dj-border) !important;
}

/* ============================================================
   BUTTON ROWS
   ============================================================ */
.ec_cart_button_row {
  margin-top: 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.ec_cart_button,
input[type="submit"].ec_cart_button,
input[type="submit"].ec_checkout_details_submit,
.ec_cart_button_row > .ec_cart_button,
.ec_cart_button_row input[type="button"],
.ec_cart_button_row a.ec_cart_button,
.ec_cart_header.wpeasycart_create_account {
  display: inline-block !important;
  background: linear-gradient(135deg, var(--dj-purple-neon) 0%, var(--dj-purple-glow) 100%) !important;
  color: var(--dj-white) !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 12px 28px !important;
  font-family: var(--dj-font-display) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: var(--dj-glow-purple) !important;
  transition: background 0.25s, box-shadow 0.25s, transform 0.15s !important;
}

.ec_cart_button:hover,
input[type="submit"].ec_cart_button:hover,
input[type="submit"].ec_checkout_details_submit:hover,
.ec_cart_button_row > .ec_cart_button:hover,
.ec_cart_button_row input[type="button"]:hover,
.ec_cart_button_row a.ec_cart_button:hover {
  background: linear-gradient(135deg, var(--dj-purple-glow) 0%, var(--dj-pink) 100%) !important;
  box-shadow: 0 0 20px rgba(255, 153, 255, 0.65) !important;
  transform: translateY(-1px) !important;
}

.ec_cart_button_row > .ec_account_button {
  background: linear-gradient(135deg, var(--dj-purple-neon) 0%, var(--dj-purple-glow) 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 11px 26px !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.ec_cart_button_row > .ec_account_button:hover {
  background: linear-gradient(135deg, var(--dj-purple-glow) 0%, var(--dj-pink) 100%) !important;
  color: #ffffff !important;
}

.ec_cart_button_row a.ec_account_login_link {
  background: none !important;
  color: var(--dj-purple-glow) !important;
  text-decoration: underline !important;
  font-family: var(--dj-font-body) !important;
  font-size: 16px !important;
}

.ec_cart_button_row a.ec_account_login_link:hover {
  color: var(--dj-pink) !important;
}

/* Apply coupon / gift card */
#ec_apply_coupon,
#ec_apply_gift_card {
  display: inline-block !important;
  background: linear-gradient(135deg, var(--dj-purple-neon) 0%, var(--dj-purple-glow) 100%) !important;
  color: var(--dj-white) !important;
  border-radius: 20px !important;
  padding: 9px 20px !important;
  font-family: var(--dj-font-display) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

#ec_apply_coupon:hover,
#ec_apply_gift_card:hover {
  background: linear-gradient(135deg, var(--dj-purple-glow) 0%, var(--dj-pink) 100%) !important;
}

#ec_applying_coupon,
#ec_applying_gift_card {
  color: var(--dj-purple-glow) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
}

/* ============================================================
   PRICE ROWS  (cart right column)
   ============================================================ */
.ec_cart_price_row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(155, 29, 191, 0.18) !important;
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
}

.ec_cart_price_row_label {
  color: var(--dj-grey) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
  flex: 1 !important;
  padding-right: 12px !important;
}

.ec_cart_price_row_total {
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.ec_order_total .ec_cart_price_row_label {
  color: var(--dj-gold) !important;
  font-family: var(--dj-font-display) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.ec_order_total .ec_cart_price_row_total {
  color: var(--dj-gold) !important;
  font-family: var(--dj-font-display) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-shadow: var(--dj-glow-gold) !important;
}

.ec_no_discount {
  opacity: 0.45 !important;
}

/* ============================================================
   ERROR / SUCCESS MESSAGES
   ============================================================ */
.ec_cart_error > div {
  background: rgba(255, 68, 85, 0.12) !important;
  border: 1px solid var(--dj-error) !important;
  border-radius: var(--dj-radius) !important;
  color: var(--dj-error) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  padding: 12px 16px !important;
  margin-bottom: 16px !important;
}

.ec_cart_error_message {
  color: var(--dj-error) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
  padding: 4px 0 !important;
}

.ec_cart_success_message {
  color: var(--dj-success) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
  padding: 4px 0 !important;
}

/* ============================================================
   GENERAL LINKS
   ============================================================ */
.ec_cart_page a {
  color: var(--dj-purple-glow) !important;
  text-decoration: none !important;
}

.ec_cart_page a:hover {
  color: var(--dj-pink) !important;
}

.ec_cart_input_row > a,
.ec_cart_input_row > b,
.ec_cart_input_row > strong {
  color: var(--dj-purple-glow) !important;
}

.ec_cart_input_row > a:hover {
  color: var(--dj-pink) !important;
}

/* ============================================================
   ORDER SUCCESS PAGE
   ============================================================ */
.ec_cart_success_title {
  font-family: var(--dj-font-display) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--dj-gold) !important;
  text-shadow: var(--dj-glow-gold) !important;
  margin-bottom: 12px !important;
}

.ec_cart_success_subtitle,
.ec_cart_success_order_number {
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 15px !important;
}

.ec_cart_success_continue_shopping_button > a {
  display: inline-block !important;
  background: linear-gradient(135deg, var(--dj-purple-neon) 0%, var(--dj-purple-glow) 100%) !important;
  color: var(--dj-white) !important;
  border-radius: 25px !important;
  padding: 12px 28px !important;
  font-family: var(--dj-font-display) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: var(--dj-glow-purple) !important;
  margin-top: 16px !important;
}

.ec_cart_success_continue_shopping_button > a:hover {
  background: linear-gradient(135deg, var(--dj-purple-glow) 0%, var(--dj-pink) 100%) !important;
}

/* ============================================================
   CART TABLE (shopping cart step)
   ============================================================ */
.ec_cart > thead > tr {
  border-bottom: 2px solid var(--dj-purple-neon) !important;
}

.ec_cart > thead > tr > th {
  font-family: var(--dj-font-display) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--dj-gold) !important;
  padding: 10px 8px !important;
}

.ec_cartitem_title {
  color: var(--dj-purple-glow) !important;
  font-family: var(--dj-font-body) !important;
  font-weight: 600 !important;
}

td.ec_cartitem_price,
td.ec_cartitem_quantity,
td.ec_cartitem_total {
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
}

.ec_cartitem_quantity_table .ec_minus,
.ec_cartitem_quantity_table .ec_plus,
.ec_cartitem_update_button {
  background-color: var(--dj-purple-neon) !important;
  color: var(--dj-white) !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 5px 10px !important;
  cursor: pointer !important;
}

.ec_cartitem_quantity_table .ec_minus:hover,
.ec_cartitem_quantity_table .ec_plus:hover,
.ec_cartitem_update_button:hover {
  background-color: var(--dj-purple-glow) !important;
}

.ec_cartitem_delete > span {
  color: var(--dj-error) !important;
  cursor: pointer !important;
}

/* cart table v2 */
.ec_cart_table_checkout_button {
  display: inline-block !important;
  background: linear-gradient(135deg, var(--dj-purple-neon) 0%, var(--dj-purple-glow) 100%) !important;
  color: var(--dj-white) !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 12px 28px !important;
  font-family: var(--dj-font-display) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: var(--dj-glow-purple) !important;
}

.ec_cart_table_checkout_button:hover {
  background: linear-gradient(135deg, var(--dj-purple-glow) 0%, var(--dj-pink) 100%) !important;
}

.ec_cart_table_continue_shopping {
  color: var(--dj-purple-glow) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
  cursor: pointer !important;
}

.ec_cart_table_continue_shopping:hover {
  color: var(--dj-pink) !important;
}

.ec_cart_table_subtotal_label {
  color: var(--dj-grey) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
}

.ec_cart_table_subtotal_amount {
  color: var(--dj-gold) !important;
  font-family: var(--dj-font-display) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* ============================================================
   EMPTY CART
   ============================================================ */
.ec_cart_empty {
  color: var(--dj-grey) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 16px !important;
  text-align: center !important;
  padding: 40px 0 !important;
}

a.ec_cart_empty_button {
  display: inline-block !important;
  background: var(--dj-purple-neon) !important;
  color: var(--dj-white) !important;
  border-radius: 25px !important;
  padding: 10px 24px !important;
  font-family: var(--dj-font-display) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  margin-top: 12px !important;
}

a.ec_cart_empty_button:hover {
  background: var(--dj-purple-glow) !important;
}

/* ============================================================
   SHIPPING NOTICE / ADDRESS DISPLAY
   ============================================================ */
.ec_cart_address_display {
  background: var(--dj-bg-input) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius) !important;
  padding: 14px 16px !important;
  margin-bottom: 12px !important;
}

.ec_cart_address_display_header {
  font-family: var(--dj-font-display) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--dj-gold) !important;
  margin-bottom: 8px !important;
}

.ec_cart_address_display_line {
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.ec_cart_shipping_method_row > span {
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
}

.ec_cart_shipping_method_row > span.price {
  color: var(--dj-gold) !important;
  font-weight: 600 !important;
}

/* ============================================================
   NOTICE ROW / PAYMENT
   ============================================================ */
.ec_cart_notice_row {
  background: rgba(155, 29, 191, 0.12) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius) !important;
  color: var(--dj-grey) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  margin-bottom: 12px !important;
}

#ec_card_errors {
  color: var(--dj-error) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
  background: rgba(255, 68, 85, 0.1) !important;
  border: 1px solid var(--dj-error) !important;
  border-radius: var(--dj-radius) !important;
  padding: 10px 14px !important;
  margin-bottom: 12px !important;
}

/* ============================================================
   MY ACCOUNT  —  login / register / dashboard / orders
   ============================================================ */

/* Container principal — mesmo estilo do Cart */
section.ec_account_page,
.ec_account_page {
  background: #00000059 !important;
  border: 1px solid #9b1dbf !important;
  border-radius: 16px !important;
  padding: 20px !important;
  color: var(--dj-white) !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 16px !important;
}

/* Cards interiores left/right — mesmo estilo do Cart */
.ec_account_left,
.ec_account_right,
.ec_account_content,
.ec_account_nav {
  background: var(--dj-bg-card) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius-lg) !important;
  padding: 28px 24px !important;
}

/* Links de navegação da Account — 16px, espaçamento reduzido */
.ec_account_right a,
.ec_account_nav a,
.ec_account_content a,
section.ec_account_page a {
  font-size: 16px !important;
  font-family: 'Roboto', sans-serif !important;
  color: var(--dj-purple-glow) !important;
  text-decoration: none !important;
  display: block !important;
  line-height: 1.1 !important;
  margin-bottom: 3px !important;
}

/* Texto geral da Account — branco */
section.ec_account_page p,
section.ec_account_page div,
section.ec_account_page span,
section.ec_account_page label,
.ec_account_left p,
.ec_account_left div,
.ec_account_left span {
  color: #ffffff !important;
}

.ec_account_login_title,
.ec_account_register_title,
.ec_account_dashboard_title,
.ec_account_orders_title,
.ec_account_subscriptions_title,
.ec_account_order_details_title,
.ec_account_subscription_title,
.ec_account_billing_information_title,
.ec_account_shipping_information_title,
.ec_account_personal_information_main_title,
.ec_account_password_main_title,
.ec_account_forgot_password_title {
  font-family: var(--dj-font-display) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--dj-gold) !important;
  border-bottom: 1px solid var(--dj-border) !important;
  padding-bottom: 10px !important;
  margin-bottom: 16px !important;
}

.ec_account_subheader {
  font-family: var(--dj-font-display) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--dj-purple-glow) !important;
  margin-bottom: 12px !important;
}

.ec_account_login_row_label,
.ec_account_register_label,
.ec_account_billing_information_label,
.ec_account_shipping_information_label,
.ec_account_personal_information_label,
.ec_account_password_label {
  display: block !important;
  font-family: var(--dj-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--dj-purple-glow) !important;
  margin-bottom: 6px !important;
}

.ec_account_register_input,
.ec_account_billing_information_input,
.ec_account_shipping_information_input,
.ec_account_personal_information_input,
.ec_account_password_input {
  display: block !important;
  width: 100% !important;
  background: var(--dj-bg-input) !important;
  color: var(--dj-white) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius) !important;
  padding: 10px 14px !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  outline: none !important;
  margin-bottom: 12px !important;
}

html body .ec_account_login_button,
html body .ec_account_register_button,
html body .ec_account_forgot_password_button,
html body .ec_account_billing_information_button,
html body .ec_account_shipping_information_button,
html body .ec_account_personal_information_button,
html body .ec_account_password_button,
html body .ec_account_create_account_button,
html body .ec_account_login_create_account_button,
html body .ec_account_button,
html body input.ec_account_button,
html body a.ec_account_login_create_account_button,
html body a.ec_account_create_account_button,
html body input.ec_account_create_account_button,
html body [class*="create_account"] {
  display: inline-block !important;
  background: linear-gradient(135deg, var(--dj-purple-neon) 0%, var(--dj-purple-glow) 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 11px 26px !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transform: none !important;
  transition: background 0.2s ease !important;
}

html body .ec_account_login_button:hover,
html body .ec_account_register_button:hover,
html body .ec_account_forgot_password_button:hover,
html body .ec_account_billing_information_button:hover,
html body .ec_account_shipping_information_button:hover,
html body .ec_account_personal_information_button:hover,
html body .ec_account_password_button:hover,
html body .ec_account_create_account_button:hover,
html body .ec_account_login_create_account_button:hover,
html body .ec_account_button:hover,
html body input.ec_account_button:hover,
html body a.ec_account_login_create_account_button:hover,
html body [class*="create_account"]:hover {
  background: linear-gradient(135deg, var(--dj-purple-glow) 0%, var(--dj-pink) 100%) !important;
  color: #ffffff !important;
  transform: none !important;
  box-shadow: none !important;
}

.ec_account_dashboard_holder {
  background: var(--dj-bg-card) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius) !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
}

.ec_account_dashboard_row {
  padding: 6px 0 !important;
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  border-bottom: 1px solid rgba(155,29,191,0.15) !important;
}

.ec_account_dashboard_row_content {
  color: var(--dj-grey) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
}

.ec_account_dashboard_row_bold,
.ec_account_dashboard_row_bold b {
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-weight: 600 !important;
}

.ec_account_dashboard_row_divider a,
.ec_account_order_line_column5 a,
.ec_account_complete_payment_button,
.ec_account_order_item_buy_button,
.ec_account_order_item_download_button {
  display: inline-block !important;
  background: var(--dj-purple-neon) !important;
  color: var(--dj-white) !important;
  border-radius: 16px !important;
  padding: 5px 14px !important;
  font-family: var(--dj-font-display) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.ec_account_dashboard_row_divider a:hover,
.ec_account_order_line_column5 a:hover,
.ec_account_complete_payment_button:hover,
.ec_account_order_item_buy_button:hover,
.ec_account_order_item_download_button:hover {
  background: var(--dj-purple-glow) !important;
}

.ec_account_order_line_column1_header,
.ec_account_order_line_column2_header,
.ec_account_order_line_column3_header,
.ec_account_order_line_column4_header {
  font-family: var(--dj-font-display) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--dj-gold) !important;
  border-bottom: 1px solid var(--dj-border) !important;
  padding-bottom: 8px !important;
}

.ec_account_order_line_column1,
.ec_account_order_line_column2,
.ec_account_order_line_column3,
.ec_account_order_line_column4 {
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  border-bottom: 1px solid rgba(155,29,191,0.15) !important;
  padding: 8px 0 !important;
}

.ec_account_no_order_found {
  color: var(--dj-grey) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  text-align: center !important;
  padding: 30px 0 !important;
}

.ec_account_error {
  background: rgba(255, 68, 85, 0.1) !important;
  border: 1px solid var(--dj-error) !important;
  border-radius: var(--dj-radius) !important;
  color: var(--dj-error) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  margin-bottom: 12px !important;
}

.ec_account_success {
  background: rgba(68, 255, 170, 0.1) !important;
  border: 1px solid var(--dj-success) !important;
  border-radius: var(--dj-radius) !important;
  color: var(--dj-success) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  margin-bottom: 12px !important;
}

.ec_account_password_error_text {
  color: var(--dj-error) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 12px !important;
}

.ec_account_login_cancel_link,
.ec_account_login_complete_logout_link {
  color: var(--dj-purple-glow) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
  cursor: pointer !important;
}

.ec_account_login_cancel_link:hover,
.ec_account_login_complete_logout_link:hover {
  color: var(--dj-pink) !important;
}

/* ============================================================
   PRODUCT PAGE / SHOP
   ============================================================ */

/* Main store holder — transparent so the page background shows through */
#wpeasycart_cart_holder {
  background: transparent !important;
}

/* Product grid wrapper */
.ec_product_page {
  background: transparent !important;
}

/* Each product card — match the border colour (semi-transparent purple) */
.ec_product_li,
li.ec_product_li {
  background: rgba(30, 0, 40, 0.72) !important;
  border: 1px solid rgba(155, 29, 191, 0.45) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* The space/gap between cards — transparent so page bg shows */
.ec_product_page ul,
ul.ec_product_ul {
  background: transparent !important;
}

/* Category page cards */
.ec_category_li {
  background: rgba(30, 0, 40, 0.72) !important;
  border: 1px solid rgba(155, 29, 191, 0.45) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* ============================================================
   PRODUCT DETAILS PAGE  —  match store page style
   ============================================================ */

/* Wrappers transparentes — cards individuais têm o seu próprio fundo */
section.ec_product_details_page,
.ec_product_details_page {
  background: transparent !important;
  border: 1px solid #FF99FF !important;
  border-radius: 16px !important;
  padding: 20px !important;
}

.ec_details_page_wrap,
.ec_details_main,
.ec_details_content,
.ec_details_left_area,
.ec_details_right_area,
.ec_details_breadcrumbs_container,
.ec_details_magbox,
.ec_details_options_area,
.ec_details_add_to_cart_area {
  background: transparent !important;
}

/* Image panel — semi-transparent card */
.ec_details_images {
  background: rgba(30, 0, 40, 0.72) !important;
  border: 1px solid rgba(155, 29, 191, 0.45) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Right info panel — same card style as left image panel */
/* Maximum specificity to defeat Sonaar/WP Easy Cart overrides */
.ec_details_right,
div.ec_details_right,
div[class*="ec_details_right"],
.ec_details_right[class*="ec_details_right"],
.ec_product_details_page .ec_details_right,
.ec_product_details_page div[class*="ec_details_right"],
section.ec_product_details_page .ec_details_right,
section.ec_product_details_page div[class*="ec_details_right"],
section[data-product-id] .ec_details_right,
section[data-product-id] div[class*="ec_details_right"],
#wpeasycart_cart_holder .ec_details_right,
#wpeasycart_cart_holder div[class*="ec_details_right"],
html body .ec_details_right,
html body div[class*="ec_details_right"],
.hentry .ec_details_right,
.hentry div[class*="ec_details_right"] {
  background: rgba(30, 0, 40, 0.72) !important;
  background-color: rgba(30, 0, 40, 0.72) !important;
  border: 1px solid rgba(155, 29, 191, 0.45) !important;
  border-radius: 12px !important;
  padding: 28px 26px !important;
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

/* Pseudo-element fallback — removed, using direct background instead */

/* Garantir que o form e filhos directos não cobrem o fundo */
html body div[class*="ec_details_right"] > form.ec_add_to_cart_form,
.hentry div[class*="ec_details_right"] > form.ec_add_to_cart_form,
div[class*="ec_details_right"] > form {
  background: transparent !important;
}

/* Clearfix — filhos com float não esticam o pai */
div[class*="ec_details_right"]::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

/* Size swatches */
.wpeasycart-html-swatch {
  background: rgba(155, 29, 191, 0.30) !important;
  color: #ffffff !important;
  border: 1px solid rgba(155, 29, 191, 0.55) !important;
  border-radius: 6px !important;
  padding: 5px 12px !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
  cursor: pointer !important;
}

.wpeasycart-html-swatch.ec_selected,
.wpeasycart-html-swatch:hover {
  background: var(--dj-purple-neon) !important;
  border-color: var(--dj-purple-glow) !important;
}

/* Divider + price label */
.ec_title_divider {
  border-color: rgba(155, 29, 191, 0.35) !important;
}

.ec_details_final_price {
  color: var(--dj-gold) !important;
  font-family: var(--dj-font-display) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.ec_details_price_label {
  color: var(--dj-grey) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 13px !important;
}

/* Related products */
.ec_details_related_products_area > h3 {
  font-family: var(--dj-font-display) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--dj-gold) !important;
  border-bottom: 1px solid rgba(155, 29, 191, 0.35) !important;
  padding-bottom: 10px !important;
}

.ec_details_related_products {
  background: transparent !important;
}

/* Reviews section */
.ec_details_customer_reviews_left > h3,
.ec_details_customer_reviews_form > .ec_details_customer_reviews_form_holder > h3 {
  color: var(--dj-purple-glow) !important;
  font-family: var(--dj-font-display) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
}

.ec_details_customer_review_data {
  color: #ffffff !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
}

.ec_details_customer_review_date {
  color: #cccccc !important;
  font-family: var(--dj-font-body) !important;
  font-size: 12px !important;
}

/* Description + tabs + reviews — card style matching image panel */
/* Use broad selectors to catch WP EasyCart's actual rendered wrappers */
.ec_details_description_area,
.ec_details_tabs_area,
.ec_details_tab_content,
.ec_details_customer_reviews_left,
.ec_details_customer_reviews_form,
.ec_details_customer_review_list,
.ec_details_tabs_wrap,
.ec_details_below_image,
.ec_details_below,
.ec_store_product_details_below {
  background: rgba(30, 0, 40, 0.72) !important;
  border: 1px solid rgba(155, 29, 191, 0.45) !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin-top: 16px !important;
}

/* CONFIRMED REAL DOM: tabs + description wrapper (sibling of .ec_details_content) */
.ec_details_extra_area,
div.ec_details_extra_area,
.ec_product_details_page .ec_details_extra_area,
section.ec_product_details_page .ec_details_extra_area {
  background: rgba(30, 0, 40, 0.72) !important;
  background-color: rgba(30, 0, 40, 0.72) !important;
  border: 1px solid rgba(155, 29, 191, 0.45) !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin-top: 16px !important;
}

/* CONFIRMED REAL DOM: description tab content inside extra area */
.ec_details_description_tab,
div.ec_details_description_tab {
  background: transparent !important;
}

/* CONFIRMED REAL DOM: related products area */
.ec_details_related_products_area,
div.ec_details_related_products_area,
.ec_product_details_page .ec_details_related_products_area {
  background: rgba(30, 0, 40, 0.72) !important;
  background-color: rgba(30, 0, 40, 0.72) !important;
  border: 1px solid rgba(155, 29, 191, 0.45) !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin-top: 16px !important;
}

/* Tabs bar — transparent inside the card, with purple underline */
.ec_details_tabs {
  background: transparent !important;
  border-bottom: 1px solid rgba(155, 29, 191, 0.35) !important;
  margin-bottom: 16px !important;
}

/* Active tab indicator */
.ec_details_tab.ec_active {
  border-top: 3px solid #9b1dbf !important;
  color: #ffffff !important;
  background: transparent !important;
}

/* The whole bottom section wrapper (below the two columns) */
.ec_store_product_details_page > .ec_details_below,
.ec_product_details_page .ec_details_tab_content_wrap,
.ec_product_page_area .ec_details_bottom_wrap {
  background: rgba(30, 0, 40, 0.72) !important;
  border: 1px solid rgba(155, 29, 191, 0.45) !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin-top: 16px !important;
}

/* Breadcrumb bar at top of right column — ocultar */
.ec_details_right > form > .ec_details_breadcrumbs,
.ec_details_right > form > .ec_details_breadcrumbs.ec_small,
#ec_breadcrumbs_type2,
.ec_details_right .ec_details_breadcrumbs {
  display: none !important;
}

/* Description text colour */
.ec_details_description_content,
.ec_details_description_content * {
  color: #ffffff !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

/* ============================================================
   PRODUCT DETAILS  —  title, price, description
   ============================================================ */
.ec_details_title,
div[class*="ec_details_right"] .ec_details_title,
section.ec_product_details_page .ec_details_title,
html body .ec_details_title {
  font-family: var(--dj-font-display) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--dj-white) !important;
}

.ec_details_price > .ec_product_price,
.ec_details_price > .ec_product_sale_price {
  color: var(--dj-gold) !important;
  font-family: var(--dj-font-display) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

.ec_details_description {
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.ec_details_model_number,
.ec_details_stock_total,
.ec_details_categories,
.ec_details_manufacturer {
  color: #ffffff !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}

.ec_details_option_label {
  color: #ffffff !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}

/* Remover primeira linha separadora no topo da coluna direita */
.ec_details_right .ec_title_divider:first-of-type,
.ec_details_right hr:first-of-type,
.ec_details_right > form > hr:first-child,
.ec_details_right > form .ec_title_divider:first-child {
  display: none !important;
}

.ec_details_add_to_cart_area > .ec_details_add_to_cart > input,
.ec_details_add_to_cart_area > .ec_details_add_to_cart > a {
  display: inline-block !important;
  background: linear-gradient(135deg, var(--dj-purple-neon) 0%, var(--dj-purple-glow) 100%) !important;
  color: var(--dj-white) !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 12px 28px !important;
  font-family: var(--dj-font-display) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: var(--dj-glow-purple) !important;
}

.ec_details_add_to_cart_area > .ec_details_add_to_cart > input:hover,
.ec_details_add_to_cart_area > .ec_details_add_to_cart > a:hover {
  background: linear-gradient(135deg, var(--dj-purple-glow) 0%, var(--dj-pink) 100%) !important;
}

.ec_details_add_to_cart_area > .ec_details_quantity > .ec_minus,
.ec_details_add_to_cart_area > .ec_details_quantity > .ec_plus {
  background-color: var(--dj-purple-neon) !important;
  color: var(--dj-white) !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  cursor: pointer !important;
}

.ec_details_breadcrumbs,
.ec_details_breadcrumbs > a {
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 12px !important;
  text-decoration: none !important;
}

.ec_details_tab {
  font-family: 'Roboto', sans-serif !important;
  color: var(--dj-grey) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  padding: 8px 14px !important;
  border-top: 3px solid transparent !important;
}

.ec_details_tab.ec_active {
  border-top-color: var(--dj-purple-neon) !important;
  color: var(--dj-white) !important;
}

/* ============================================================
   CART WIDGETS (sidebar)
   ============================================================ */
.ec_cartwidget a { color: var(--dj-purple-glow) !important; }
.ec_cartwidget a:hover { color: var(--dj-pink) !important; }

.ec_cart_widget_minicart_wrap {
  background: var(--dj-bg-card) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius) !important;
  padding: 12px !important;
}

.ec_cart_widget_minicart_title {
  font-family: var(--dj-font-display) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--dj-gold) !important;
}

.ec_cart_widget_minicart_subtotal {
  color: var(--dj-white) !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* ============================================================
   SEARCH / NEWSLETTER WIDGETS
   ============================================================ */
.ec_search_widget input[type="submit"],
.ec_newsletter_widget input[type="submit"],
input[type="submit"].ec_login_widget_button {
  background: var(--dj-purple-neon) !important;
  color: var(--dj-white) !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 8px 18px !important;
  font-family: var(--dj-font-display) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

.ec_search_widget input[type="submit"]:hover,
.ec_newsletter_widget input[type="submit"]:hover {
  background: var(--dj-purple-glow) !important;
}

/* ============================================================
   MISC
   ============================================================ */
.ec_store_table a { color: var(--dj-purple-glow) !important; }
.ec_store_table a:hover { color: var(--dj-pink) !important; }

.ec_special_heading {
  font-family: var(--dj-font-display) !important;
  color: var(--dj-gold) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
}

#ec_user_login_link,
#ec_user_login_link a { color: var(--dj-purple-glow) !important; }
#ec_user_login_link a:hover { color: var(--dj-pink) !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media only screen and (max-width: 767px) {
  .ec_cart_left,
  .ec_cart_right {
    padding: 18px 14px !important;
    margin-bottom: 16px !important;
  }
  .ec_cart_input_left_half,
  .ec_cart_input_right_half {
    display: block !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 12px !important;
  }
  .ec_cart_breadcrumb {
    font-size: 9px !important;
    padding: 5px 10px !important;
  }
}

@media only screen and (max-width: 480px) {
  .ec_cart_header {
    font-size: 11px !important;
    letter-spacing: 2px !important;
  }
  input[type="submit"].ec_checkout_details_submit {
    width: 100% !important;
    text-align: center !important;
    padding: 13px 20px !important;
  }
  .ec_cart_button_row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
}

/* ============================================================
   SIGN IN + CREATE ACCOUNT — mesmo estilo do Continue to Shipping
   Adicionado no final para máxima prioridade em cascata
   ============================================================ */
#wpeasycart_cart_holder .ec_cart_button_row > input[type="submit"].ec_account_button,
#wpeasycart_cart_holder .ec_cart_button_row input[type="submit"].ec_account_button,
#wpeasycart_cart_holder input[type="submit"].ec_account_button,
section.ec_account_page .ec_cart_button_row input[type="submit"],
section.ec_account_page input[type="submit"].ec_account_button {
  background: linear-gradient(135deg, var(--dj-purple-neon) 0%, var(--dj-purple-glow) 100%) !important;
  background-color: var(--dj-purple-neon) !important;
  color: var(--dj-white) !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 12px 28px !important;
  font-family: var(--dj-font-display) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: var(--dj-glow-purple) !important;
  transition: background 0.25s, box-shadow 0.25s, transform 0.15s !important;
  float: none !important;
}

#wpeasycart_cart_holder .ec_cart_button_row > input[type="submit"].ec_account_button:hover,
#wpeasycart_cart_holder input[type="submit"].ec_account_button:hover,
section.ec_account_page input[type="submit"].ec_account_button:hover {
  background: linear-gradient(135deg, var(--dj-purple-glow) 0%, var(--dj-pink) 100%) !important;
  background-color: var(--dj-purple-glow) !important;
  box-shadow: 0 0 20px rgba(255, 153, 255, 0.65) !important;
  transform: translateY(-1px) !important;
}

#wpeasycart_cart_holder a.ec_account_login_create_account_button,
section.ec_account_page a.ec_account_login_create_account_button {
  display: inline-block !important;
  background: linear-gradient(135deg, var(--dj-purple-neon) 0%, var(--dj-purple-glow) 100%) !important;
  background-color: var(--dj-purple-neon) !important;
  color: var(--dj-white) !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 12px 28px !important;
  min-width: 140px !important;
  text-align: center !important;
  font-family: var(--dj-font-display) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: var(--dj-glow-purple) !important;
  transition: background 0.25s, box-shadow 0.25s, transform 0.15s !important;
}

#wpeasycart_cart_holder a.ec_account_login_create_account_button:hover,
section.ec_account_page a.ec_account_login_create_account_button:hover {
  background: linear-gradient(135deg, var(--dj-purple-glow) 0%, var(--dj-pink) 100%) !important;
  background-color: var(--dj-purple-glow) !important;
  color: var(--dj-white) !important;
  box-shadow: 0 0 20px rgba(255, 153, 255, 0.65) !important;
  transform: translateY(-1px) !important;
}

/* ============================================================
   ACCOUNT NAV — espaçamento reduzido entre links
   ============================================================ */
section.ec_account_page .ec_account_right a,
section.ec_account_page .ec_account_nav a,
section.ec_account_page .ec_account_content a,
.ec_account_page .ec_account_right a,
.ec_account_page .ec_account_nav a {
  line-height: 1.1 !important;
  margin-bottom: 3px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

section.ec_account_page .ec_account_dashboard_holder,
.ec_account_page .ec_account_dashboard_holder,
section.ec_account_page .ec_account_dashboard_row {
  margin-bottom: 4px !important;
  padding: 4px 8px !important;
}

/* Espaçamento reduzido nos links da navegação Account */
section.ec_account_page .ec_account_right .ec_cart_input_row,
section.ec_account_page .ec_account_right div.ec_cart_input_row,
.ec_account_right .ec_cart_input_row {
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
}

/* Espaçamento 5px em ambas as colunas da Account */
section.ec_account_page .ec_account_right .ec_cart_input_row,
section.ec_account_page .ec_account_right div.ec_cart_input_row,
section.ec_account_page .ec_account_left .ec_cart_input_row,
section.ec_account_page .ec_account_left div.ec_cart_input_row,
.ec_account_right .ec_cart_input_row,
.ec_account_left .ec_cart_input_row {
  margin: 5px 0 0 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
}

/* Password inputs — mesmo estilo das billing inputs */
section.ec_account_page .ec_account_password_input,
section.ec_account_page input.ec_account_password_input,
section.ec_account_page input.ec_account_password_input_field,
.ec_account_page .ec_account_password_input,
.ec_account_page input.ec_account_password_input,
.ec_account_page input.ec_account_password_input_field {
  display: block !important;
  width: 100% !important;
  background: var(--dj-bg-input) !important;
  background-color: var(--dj-bg-input) !important;
  color: var(--dj-white) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius) !important;
  padding: 10px 14px !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  outline: none !important;
  margin-bottom: 12px !important;
}



/* ============================================================
   ACCOUNT — selects/combobox (billing, shipping, basic info)
   ============================================================ */
select.ec_account_billing_information_input,
select.ec_account_shipping_information_input,
select.ec_account_personal_information_input,
select.ec_account_billing_information_input_field,
select.ec_account_shipping_information_input_field,
select.ec_account_personal_information_input_field {
  display: block !important;
  width: 100% !important;
  background: var(--dj-bg-input) !important;
  background-color: var(--dj-bg-input) !important;
  color: var(--dj-white) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius) !important;
  padding: 10px 14px !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  outline: none !important;
  cursor: pointer !important;
  margin-bottom: 12px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

select.ec_account_billing_information_input option,
select.ec_account_shipping_information_input option,
select.ec_account_personal_information_input option,
select.ec_account_billing_information_input_field option,
select.ec_account_shipping_information_input_field option,
select.ec_account_personal_information_input_field option {
  background: var(--dj-bg-card) !important;
  color: var(--dj-white) !important;
}

/* UPDATE button — mesmo tamanho que CANCEL */
section.ec_account_page input[type="submit"].ec_account_billing_information_button,
section.ec_account_page input[type="submit"].ec_account_shipping_information_button,
section.ec_account_page input[type="submit"].ec_account_personal_information_button,
section.ec_account_page input[type="submit"].ec_account_password_button,
section.ec_account_page input[type="submit"].ec_account_login_button,
section.ec_account_page input[type="submit"] {
  font-size: 11px !important;
  font-family: var(--dj-font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  min-width: 140px !important;
}

section.ec_account_page a.ec_account_cancel_button,
section.ec_account_page a[class*="cancel"] {
  font-size: 11px !important;
  font-family: var(--dj-font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* ============================================================
   SONAAR THEME — POST CONTAINER
   ============================================================ */
#content article.post,
#content article.hentry,
.content__main article.post,
.content__main article.hentry {
  background: #00000059 !important;
  border: 1px solid #9b1dbf !important;
  border-radius: 16px !important;
  padding: 30px !important;
  margin-bottom: 30px !important;
}

/* SONAAR THEME — SIDEBAR CONTAINER */
aside#sidebar,
aside.sr_it-content-side,
aside.widget-area {
  background: #00000059 !important;
  border: 1px solid #9b1dbf !important;
  border-radius: 16px !important;
  padding: 24px !important;
}

/* CREATE ACCOUNT — forçar mesmo tamanho que SIGN IN */
section.ec_account_page .ec_account_right.ec_account_login .ec_cart_button_row a.ec_account_login_create_account_button,
.ec_account_right.ec_account_login .ec_cart_button_row a.ec_account_login_create_account_button {
  padding: 8px 30px !important;
  font-size: 11px !important;
  font-family: var(--dj-font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  line-height: normal !important;
  box-sizing: border-box !important;
}

/* LOGIN — email e password inputs estilo escuro */
input.ec_account_login_input_field,
section.ec_account_page input.ec_account_login_input_field,
#wpeasycart_cart_holder input.ec_account_login_input_field,
section.ec_account_page .ec_account_left input.ec_account_login_input_field,
.ec_account_left.ec_account_login input.ec_account_login_input_field {
  background: var(--dj-bg-input) !important;
  background-color: var(--dj-bg-input) !important;
  color: var(--dj-white) !important;
  border: 1px solid var(--dj-border) !important;
  border-radius: var(--dj-radius) !important;
  padding: 10px 14px !important;
  font-family: var(--dj-font-body) !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  outline: none !important;
  width: 100% !important;
}

/* Override Chrome autofill background nos login inputs */
input.ec_account_login_input_field:-webkit-autofill,
input.ec_account_login_input_field:-webkit-autofill:hover,
input.ec_account_login_input_field:-webkit-autofill:focus,
input.ec_account_billing_information_input_field:-webkit-autofill,
input.ec_account_shipping_information_input_field:-webkit-autofill,
input.ec_account_password_input_field:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #160020 inset !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
}

/* Texto da opção selecionada (Small, Dark Blue) — branco */
.ec_details_option_label span,
.ec_details_option_label > span,
span.ec_details_selected_option,
.ec_details_options_selected_text,
div[class*="ec_details_option"] span {
  color: #ffffff !important;
}

/* Esconder linha da handling fee */
.ec_details_handling_fee,
.ec_details_handling_fee_row,
div[class*="handling_fee"],
.ec_details_right .ec_details_handling {
  display: none !important;
}
