/* Native WooCommerce pages share the catalog's visual language and behavior. */
body.de-shop .page-title {
  margin-bottom: 0;
  padding-block: 32px 16px;
  background-image: none !important;
  text-align: left;
}

body.de-shop .wd-page-title-bg {
  display: none;
}

body.de-shop .page-title > .container {
  align-items: flex-start;
  width: 100%;
  max-width: 1268px;
  padding-inline: 24px;
  text-align: left;
}

body.de-shop .page-title .entry-title {
  font: 700 clamp(2.25rem, 4vw, 3rem)/1.1 var(--de-shop-heading);
  text-align: left;
  text-transform: uppercase;
}

/* Keep the native account routes; remove the parent's duplicate heading/tiles. */
body.de-shop .woocommerce-MyAccount-title {
  display: none;
}

body.de-shop .wd-my-account-sidebar,
body.de-shop .woocommerce-MyAccount-navigation,
body.de-shop .woocommerce-MyAccount-navigation ul,
body.de-shop .woocommerce-MyAccount-navigation li {
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.de-shop .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.de-shop .woocommerce-MyAccount-navigation li a {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: var(--de-shop-text);
  font: 700 20px/1.25 var(--de-shop-heading);
  text-transform: uppercase;
  text-decoration: none;
}

body.de-shop .woocommerce-MyAccount-navigation li a:hover,
body.de-shop .woocommerce-MyAccount-navigation li.is-active a,
body.de-shop .woocommerce-MyAccount-navigation a[aria-current="page"] {
  background: transparent;
  color: var(--de-shop-gold);
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
}

body.de-shop .woocommerce-MyAccount-content {
  min-width: 0;
  overflow-wrap: anywhere;
}

body.de-shop .woocommerce-MyAccount-content p a,
body.de-shop .woocommerce-LostPassword a,
body.de-shop .woocommerce-Address-title a.edit {
  color: var(--de-shop-gold);
  text-decoration: underline;
  text-underline-offset: 4px;
}

body.de-shop .woocommerce-MyAccount-content h2,
body.de-shop .woocommerce-MyAccount-content h3,
body.de-shop .customer-login h2,
body.de-shop .woocommerce .u-column1 h2,
body.de-shop .woocommerce .u-column2 h2 {
  font-family: var(--de-shop-heading);
  font-size: 28px;
  font-weight: 700;
}

body.de-shop .woocommerce-MyAccount-content fieldset,
body.de-shop .woocommerce form.login,
body.de-shop .woocommerce form.register,
body.de-shop .woocommerce-Address,
body.de-shop .cart_totals .cart-totals-inner {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.de-shop .woocommerce-MyAccount-content fieldset {
  margin: 24px 0;
  padding: 0;
}

body.de-shop .woocommerce-MyAccount-content legend {
  margin-bottom: 20px;
  border: 0;
  color: var(--de-shop-text);
  font: 700 28px/1.2 var(--de-shop-heading);
}

body.de-shop .woocommerce form.login,
body.de-shop .woocommerce form.register {
  max-width: 40rem;
  padding: 0;
}

body.de-shop .woocommerce form.lost_reset_password {
  max-width: 40rem;
}

/* WooCommerce form styles load after the theme on signed-out account routes. */
body.de-shop .woocommerce form .form-row :is(input.input-text, textarea, select) {
  background: rgba(9, 8, 7, .7);
  color: var(--de-shop-text);
}

body.de-shop .woocommerce form .form-row:not(.woocommerce-invalid) :is(input.input-text, textarea, select) {
  border-color: #91867c;
}

body.de-shop .woocommerce .show-password-input {
  color: var(--de-shop-text);
}

body.de-shop .woocommerce button.show-password-input,
body.de-shop .woocommerce button.show-password-input:hover,
body.de-shop .woocommerce button.show-password-input:focus {
  border: 0;
  background: transparent;
}

/* WooCommerce's button icon is a dark SVG, independent of its text color. */
body.de-shop .woocommerce button.show-password-input::before {
  filter: invert(1);
}

body.de-shop .woocommerce-Address address {
  font-style: normal;
}

/* Preserve totals, error notices and gateway controls; simplify their framing. */
body.de-shop .checkout-order-review {
  border: 0;
  border-radius: 0;

  /* The parent groups this rule with an ID selector inside :is(). */
  background: rgba(9, 8, 7, .7) !important;
  box-shadow: none;
}

body.de-shop .woocommerce .button,
body.de-shop .woocommerce button.button,
body.de-shop .woocommerce input.button {
  font-family: var(--de-shop-font);
  font-size: 16px;
  font-weight: 600;
}

body.de-shop .woocommerce-MyAccount-content .woocommerce-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
}

body.de-shop .woocommerce-MyAccount-content .woocommerce-info .button {
  float: none;
  margin: 0;
}

/* Use the shop's existing 768px layout boundary; keep every account link visible. */
@media (max-width: 767px) {
  body.de-shop .page-title > .container { padding-inline: 16px; }

  body.de-shop .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
    margin-bottom: 24px;
  }

  body.de-shop .woocommerce-MyAccount-navigation li { margin: 0; }

  body.de-shop .wd-my-account-sidebar {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  body.de-shop .cart-totals-inner { padding-inline: 0; }
}
