:root {
  --ddx-primary: #6C63FF;
  --ddx-secondary: #00C896;
  --ddx-text: #1A1A2E;
  --ddx-soft: #F8F8F8;
  --ddx-white: #FFFFFF;
  --ddx-black: #000000;
  --ddx-tint: #00C89617;
  --ddx-muted: #5b6472;
  --ddx-line: #dde5ef;
  --ddx-danger: #dc2626;
  --ddx-warning: #b46900;
  --ddx-success: #008f6a;
  --ddx-shadow: 0 22px 60px rgba(26, 26, 46, .10);
  --ddx-radius: 8px;
}

html,
body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ddx-text);
  background: var(--ddx-white);
  letter-spacing: 0;
}

body.dedanix-theme {
  overflow-x: hidden;
}

body.dedanix-theme a {
  color: var(--ddx-primary);
}

body.dedanix-theme a:hover,
body.dedanix-theme a:focus {
  color: #574ff0;
}

body.dedanix-theme h1,
body.dedanix-theme h2,
body.dedanix-theme h3,
body.dedanix-theme h4,
body.dedanix-theme h5,
body.dedanix-theme h6 {
  color: var(--ddx-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}

body.dedanix-theme input,
body.dedanix-theme select,
body.dedanix-theme textarea,
body.dedanix-theme button {
  font-family: inherit;
}

body.dedanix-theme ::selection {
  color: var(--ddx-text);
  background: rgba(0, 200, 150, .28);
}

.dedanix-theme .site-main,
.dedanix-theme .page-content,
.dedanix-theme .entry-content {
  color: var(--ddx-text);
}

.dedanix-theme .entry-content > :where(p, ul, ol, table, form, .woocommerce) {
  margin-bottom: 0;
}

/* Buttons */
.dedanix-theme button,
.dedanix-theme input[type="button"],
.dedanix-theme input[type="submit"],
.dedanix-theme .button,
.dedanix-theme .elementor-button,
.dedanix-theme .woocommerce a.button,
.dedanix-theme .woocommerce button.button,
.dedanix-theme .woocommerce input.button,
.dedanix-theme .woocommerce #respond input#submit,
.dedanix-theme .woocommerce #payment #place_order {
  min-height: 46px;
  border: 1px solid transparent !important;
  border-radius: var(--ddx-radius) !important;
  background: var(--ddx-primary) !important;
  color: #fff !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: 0 14px 28px rgba(108, 99, 255, .18);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.dedanix-theme button:hover,
.dedanix-theme button:focus,
.dedanix-theme input[type="button"]:hover,
.dedanix-theme input[type="button"]:focus,
.dedanix-theme input[type="submit"]:hover,
.dedanix-theme input[type="submit"]:focus,
.dedanix-theme .button:hover,
.dedanix-theme .button:focus,
.dedanix-theme .elementor-button:hover,
.dedanix-theme .elementor-button:focus,
.dedanix-theme .woocommerce a.button:hover,
.dedanix-theme .woocommerce a.button:focus,
.dedanix-theme .woocommerce button.button:hover,
.dedanix-theme .woocommerce button.button:focus,
.dedanix-theme .woocommerce input.button:hover,
.dedanix-theme .woocommerce input.button:focus,
.dedanix-theme .woocommerce #payment #place_order:hover,
.dedanix-theme .woocommerce #payment #place_order:focus {
  background: #5b54e8 !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(108, 99, 255, .24);
}

.dedanix-theme .woocommerce a.button.alt,
.dedanix-theme .woocommerce button.button.alt,
.dedanix-theme .woocommerce input.button.alt,
.dedanix-theme .woocommerce #payment #place_order {
  background: var(--ddx-secondary) !important;
  color: var(--ddx-text) !important;
  box-shadow: 0 14px 28px rgba(0, 200, 150, .18);
}

.dedanix-theme .woocommerce a.button.alt:hover,
.dedanix-theme .woocommerce button.button.alt:hover,
.dedanix-theme .woocommerce input.button.alt:hover,
.dedanix-theme .woocommerce #payment #place_order:hover {
  background: #00b989 !important;
  color: var(--ddx-text) !important;
}

.dedanix-theme .woocommerce a.remove {
  color: var(--ddx-danger) !important;
  border-radius: 999px;
}

.dedanix-theme .woocommerce a.remove:hover {
  color: #fff !important;
  background: var(--ddx-danger) !important;
}

/* Forms */
.dedanix-theme input[type="text"],
.dedanix-theme input[type="email"],
.dedanix-theme input[type="url"],
.dedanix-theme input[type="password"],
.dedanix-theme input[type="tel"],
.dedanix-theme input[type="number"],
.dedanix-theme input[type="search"],
.dedanix-theme select,
.dedanix-theme textarea,
.dedanix-theme .select2-container--default .select2-selection--single,
.dedanix-theme .select2-container--default .select2-selection--multiple {
  min-height: 46px;
  border: 1px solid var(--ddx-line) !important;
  border-radius: var(--ddx-radius) !important;
  background: #fff !important;
  color: var(--ddx-text) !important;
  box-shadow: none !important;
  outline: none !important;
}

.dedanix-theme textarea {
  min-height: 110px;
}

.dedanix-theme input:focus,
.dedanix-theme select:focus,
.dedanix-theme textarea:focus,
.dedanix-theme .select2-container--default.select2-container--open .select2-selection--single,
.dedanix-theme .select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: var(--ddx-primary) !important;
  box-shadow: 0 0 0 3px rgba(108, 99, 255, .14) !important;
}

.dedanix-theme label,
.dedanix-theme .woocommerce form .form-row label {
  color: var(--ddx-text);
  font-weight: 760;
}

.dedanix-theme .woocommerce form .form-row .required {
  color: var(--ddx-danger);
}

/* WooCommerce layout */
.dedanix-theme.woocommerce-page .site-main,
.dedanix-theme.woocommerce .site-main,
.dedanix-theme .woocommerce {
  color: var(--ddx-text);
}

.dedanix-theme .woocommerce {
  --ddx-wc-gap: 22px;
}

.dedanix-theme .woocommerce .woocommerce-breadcrumb {
  color: var(--ddx-muted);
  font-size: 14px;
}

.dedanix-theme .woocommerce .woocommerce-breadcrumb a {
  color: var(--ddx-primary);
  font-weight: 700;
}

.dedanix-theme .woocommerce-notices-wrapper,
.dedanix-theme .woocommerce-NoticeGroup {
  width: min(1180px, calc(100vw - 40px));
  margin: 18px auto;
}

.dedanix-theme .woocommerce-message,
.dedanix-theme .woocommerce-info,
.dedanix-theme .woocommerce-error {
  border: 1px solid var(--ddx-line);
  border-top: 0;
  border-left: 4px solid var(--ddx-primary);
  border-radius: var(--ddx-radius);
  background: #fff;
  color: var(--ddx-text);
  box-shadow: 0 12px 30px rgba(26, 26, 46, .06);
}

.dedanix-theme .woocommerce-message::before,
.dedanix-theme .woocommerce-info::before {
  color: var(--ddx-primary);
}

.dedanix-theme .woocommerce-error {
  border-left-color: var(--ddx-danger);
}

.dedanix-theme .woocommerce-error::before {
  color: var(--ddx-danger);
}

/* Tables */
.dedanix-theme .woocommerce table.shop_table,
.dedanix-theme .woocommerce table.shop_table_responsive,
.dedanix-theme .woocommerce table.my_account_orders {
  overflow: hidden;
  border: 1px solid var(--ddx-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(26, 26, 46, .05);
}

.dedanix-theme .woocommerce table.shop_table th,
.dedanix-theme .woocommerce table.shop_table td,
.dedanix-theme .woocommerce table.my_account_orders th,
.dedanix-theme .woocommerce table.my_account_orders td {
  border-color: var(--ddx-line);
  color: var(--ddx-text);
}

.dedanix-theme .woocommerce table.shop_table th,
.dedanix-theme .woocommerce table.my_account_orders th {
  background: var(--ddx-soft);
  color: var(--ddx-text);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.dedanix-theme .woocommerce table.shop_table td.product-name a,
.dedanix-theme .woocommerce table.my_account_orders td a {
  color: var(--ddx-text);
  font-weight: 800;
}

/* Cart */
.dedanix-theme.woocommerce-cart .woocommerce,
.dedanix-theme.woocommerce-checkout .woocommerce,
.dedanix-theme.woocommerce-account .woocommerce {
  width: min(1180px, calc(100vw - 40px));
  margin: 38px auto 70px;
}

.dedanix-theme.woocommerce-cart .cart_totals,
.dedanix-theme.woocommerce-checkout #order_review,
.dedanix-theme.woocommerce-checkout #payment,
.dedanix-theme.woocommerce-account .woocommerce-MyAccount-content,
.dedanix-theme.woocommerce-account .woocommerce-MyAccount-navigation {
  border: 1px solid var(--ddx-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--ddx-shadow);
}

.dedanix-theme.woocommerce-cart .cart_totals {
  padding: 24px;
}

.dedanix-theme.woocommerce-cart .cart_totals h2,
.dedanix-theme.woocommerce-checkout h3,
.dedanix-theme.woocommerce-account h2,
.dedanix-theme.woocommerce-account h3 {
  margin-bottom: 16px;
  color: var(--ddx-text);
  font-weight: 900;
}

.dedanix-theme.woocommerce-cart table.cart img {
  width: 72px;
  border-radius: 8px;
  border: 1px solid var(--ddx-line);
}

.dedanix-theme .woocommerce .quantity .qty {
  width: 82px;
  text-align: center;
}

.dedanix-theme .woocommerce-cart-form .coupon {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.dedanix-theme .woocommerce-cart-form .coupon .input-text {
  min-width: 220px;
}

/* Checkout */
.dedanix-theme.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
  gap: 26px;
  align-items: start;
}

.dedanix-theme.woocommerce-checkout #customer_details,
.dedanix-theme.woocommerce-checkout #order_review_heading,
.dedanix-theme.woocommerce-checkout #order_review {
  min-width: 0;
}

.dedanix-theme.woocommerce-checkout #customer_details {
  display: grid;
  gap: 22px;
}

.dedanix-theme.woocommerce-checkout .col2-set .col-1,
.dedanix-theme.woocommerce-checkout .col2-set .col-2 {
  float: none;
  width: 100%;
  padding: 24px;
  border: 1px solid var(--ddx-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(26, 26, 46, .05);
}

.dedanix-theme.woocommerce-checkout .col2-set {
  width: 100%;
}

.dedanix-theme.woocommerce-checkout #order_review {
  padding: 22px;
}

.dedanix-theme.woocommerce-checkout #order_review_heading {
  grid-column: 2;
  margin: 0;
}

.dedanix-theme.woocommerce-checkout #payment {
  background: var(--ddx-soft);
  border-radius: 12px;
}

.dedanix-theme.woocommerce-checkout #payment ul.payment_methods {
  border-bottom-color: var(--ddx-line);
}

.dedanix-theme.woocommerce-checkout #payment div.payment_box {
  background: #fff;
  border: 1px solid var(--ddx-line);
  border-radius: 8px;
  color: var(--ddx-text);
}

.dedanix-theme.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #fff;
}

/* Product */
.dedanix-theme.single-product .product {
  width: min(1180px, calc(100vw - 40px));
  margin: 38px auto 72px;
}

.dedanix-theme.single-product .woocommerce div.product div.images img {
  border-radius: 14px;
  border: 1px solid var(--ddx-line);
  background: #fff;
  box-shadow: 0 18px 50px rgba(26, 26, 46, .08);
}

.dedanix-theme.single-product .woocommerce div.product .summary {
  padding: 24px;
  border: 1px solid var(--ddx-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--ddx-shadow);
}

.dedanix-theme.single-product .woocommerce div.product .product_title {
  color: var(--ddx-text);
  font-weight: 900;
  letter-spacing: 0;
}

.dedanix-theme .woocommerce div.product p.price,
.dedanix-theme .woocommerce div.product span.price,
.dedanix-theme .woocommerce ul.products li.product .price {
  color: var(--ddx-primary);
  font-weight: 900;
}

.dedanix-theme .woocommerce div.product form.cart {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 24px;
}

.dedanix-theme .woocommerce div.product .woocommerce-tabs ul.tabs {
  padding-left: 0;
}

.dedanix-theme .woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-color: var(--ddx-line);
  border-radius: 8px 8px 0 0;
  background: var(--ddx-soft);
}

.dedanix-theme .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #fff;
  border-bottom-color: #fff;
}

.dedanix-theme .woocommerce div.product .woocommerce-tabs .panel {
  padding: 24px;
  border: 1px solid var(--ddx-line);
  border-radius: 0 12px 12px;
  background: #fff;
}

/* Product grids */
.dedanix-theme .woocommerce ul.products li.product {
  padding: 16px;
  border: 1px solid var(--ddx-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(26, 26, 46, .05);
}

.dedanix-theme .woocommerce ul.products li.product a img {
  border-radius: 10px;
  background: var(--ddx-soft);
}

.dedanix-theme .woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--ddx-text);
  font-weight: 850;
}

/* My account */
.dedanix-theme.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.dedanix-theme.woocommerce-account .woocommerce::before,
.dedanix-theme.woocommerce-account .woocommerce::after {
  display: none;
}

.dedanix-theme.woocommerce-account .woocommerce-MyAccount-navigation {
  padding: 14px;
}

.dedanix-theme.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.dedanix-theme.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  margin: 4px 0;
  padding: 12px 13px;
  border-radius: 8px;
  color: var(--ddx-text);
  font-weight: 800;
  text-decoration: none;
}

.dedanix-theme.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.dedanix-theme.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.dedanix-theme.woocommerce-account .woocommerce-MyAccount-navigation li a:focus {
  background: var(--ddx-tint);
  color: var(--ddx-text);
}

.dedanix-theme.woocommerce-account .woocommerce-MyAccount-content {
  padding: 26px;
}

/* Empty states */
.dedanix-theme .woocommerce-info .button,
.dedanix-theme .woocommerce-message .button {
  margin-left: 12px;
}

/* Responsive WooCommerce */
@media (max-width: 980px) {
  .dedanix-theme.woocommerce-checkout form.checkout,
  .dedanix-theme.woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }

  .dedanix-theme.woocommerce-checkout #order_review_heading {
    grid-column: auto;
  }

  .dedanix-theme.woocommerce-account .woocommerce-MyAccount-navigation,
  .dedanix-theme.woocommerce-account .woocommerce-MyAccount-content {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .dedanix-theme.woocommerce-cart .woocommerce,
  .dedanix-theme.woocommerce-checkout .woocommerce,
  .dedanix-theme.woocommerce-account .woocommerce,
  .dedanix-theme.single-product .product,
  .dedanix-theme .woocommerce-notices-wrapper,
  .dedanix-theme .woocommerce-NoticeGroup {
    width: min(100% - 28px, 1180px);
  }

  .dedanix-theme .woocommerce table.shop_table_responsive tr,
  .dedanix-theme .woocommerce-page table.shop_table_responsive tr {
    border-bottom: 1px solid var(--ddx-line);
  }

  .dedanix-theme .woocommerce table.shop_table_responsive tr td::before,
  .dedanix-theme .woocommerce-page table.shop_table_responsive tr td::before {
    color: var(--ddx-text);
    font-weight: 850;
  }

  .dedanix-theme .woocommerce-cart-form .coupon,
  .dedanix-theme .woocommerce-cart-form .coupon .input-text,
  .dedanix-theme .woocommerce-cart-form .coupon button {
    width: 100%;
  }

  .dedanix-theme.single-product .woocommerce div.product .summary,
  .dedanix-theme.woocommerce-checkout .col2-set .col-1,
  .dedanix-theme.woocommerce-checkout .col2-set .col-2,
  .dedanix-theme.woocommerce-checkout #order_review,
  .dedanix-theme.woocommerce-account .woocommerce-MyAccount-content {
    padding: 20px;
  }
}
