/*
Theme Name: Eccents Tailwind Theme
Theme URI: https://example.com/eccents
Author: Eccents
Author URI: https://example.com
Description: A luxury perfume WordPress theme built with Tailwind CSS, featuring a product collection, scent builder, and cart – no React or Vite required at runtime.
Version: 1.0.0
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: eccents
Tags: custom-colors, custom-menu, custom-logo, one-column, responsive-layout, translation-ready
*/

/* Minimal fallback styles for when JavaScript is disabled */
body {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background-color: rgba(12, 10, 9, 0.95);
  color: #e7e5e4;
}

/* Force a consistent near-black background across all wrappers so
 * every page uses the same dark canvas, regardless of Tailwind
 * utility classes applied in templates. */
html,
body,
.site,
#page,
.wp-site-blocks {
  background-color: rgba(12, 10, 9, 0.95) !important;
}

/* Normalize any stone-950 backgrounds to the same dark tone so
 * pages do not appear bluish compared to the core body color. */
.bg-stone-950,
.bg-stone-950\/80,
.bg-stone-950\/95,
.bg-stone-950\/98 {
  background-color: rgba(12, 10, 9, 0.95) !important;
}

/* Ensure the Design Your Scent builder canvas always uses the
 * same near-black background, even if Tailwind utilities or
 * block styles add additional background classes. */
body.page-template-page-design-your-scent,
body.page-template-page-design-your-scent #primary,
body.page-template-page-design-your-scent #eccents-design-builder {
  background-color: rgba(12, 10, 9, 0.95) !important;
}

/* Basic layout for classic templates (blog, pages, sidebar) */
.site {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Ensure main content grows to push footer to the bottom when content is short */
.site > main {
  flex: 1 0 auto;
  margin-bottom: 4rem;
}

/* Neutralize legacy site-main layout; Tailwind utility classes define layout per template now */
.site-main {
  max-width: none;
  padding: 0;
}

.entry-title,
.page-title {
  font-family: "Cinzel", serif;
  margin-bottom: 0.75rem;
}

.entry-content,
.entry-summary {
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

.sidebar {
  padding: 2rem 1.5rem;
  max-width: 320px;
  margin: 0 auto 2rem;
}

.widget-title {
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* Accessibility: screen-reader-only text */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  clip: auto;
  clip-path: none;
  height: auto;
  margin: 0;
  padding: 0.75rem 1rem;
  position: static;
  width: auto;
  z-index: 100000;
  background-color: #0c0a09;
  color: #f5f5f4;
}

/* WooCommerce + global form styling, aligned with dark theme */
.woocommerce form .form-row label {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a8a29e; /* stone-400 */
}

.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea {
  border-radius: 9999px !important;
  border: 1px solid #44403c !important; /* stone-700 */
  padding: 0.75rem 1rem !important;
  background-color: #0c0a09 !important; /* essents black */
  color: #f5f5f4 !important; /* dark white */
}

.woocommerce form textarea {
  border-radius: 1rem !important;
}

.woocommerce form .input-text::placeholder,
.woocommerce form textarea::placeholder {
  color: #78716c !important; /* stone-500 */
}

.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
  outline: none !important;
  border-color: #d4af37 !important; /* essents gold */
  box-shadow: 0 0 0 1px #d4af37 !important;
}

/* Generic front-end inputs (comments, generic forms, etc.) */
.site main input[type="text"],
.site main input[type="email"],
.site main input[type="url"],
.site main input[type="password"],
.site main input[type="search"],
.site main input[type="tel"],
.site main input[type="number"],
.site main textarea,
.site main select {
  border-radius: 9999px;
  border: 1px solid #44403c;
  padding: 0.75rem 1rem;
  background-color: #0c0a09;
  color: #f5f5f4;
}

.site main textarea {
  border-radius: 1rem;
  min-height: 7rem;
}

.site main input::placeholder,
.site main textarea::placeholder {
  color: #78716c;
}

.site main input:focus,
.site main textarea:focus,
.site main select:focus {
  outline: none;
  border-color: #d4af37;
  box-shadow: 0 0 0 1px #d4af37;
}

/* Ensure any other front-end inputs also follow the dark theme */
.site input[type="text"],
.site input[type="email"],
.site input[type="url"],
.site input[type="password"],
.site input[type="search"],
.site input[type="tel"],
.site input[type="number"],
.site textarea,
.site select {
  border-radius: 9999px;
  border: 1px solid #44403c;
  padding: 0.75rem 1rem;
  background-color: #0c0a09;
  color: #f5f5f4;
}

.site input::placeholder,
.site textarea::placeholder {
  color: #78716c;
}

.site input:focus,
.site textarea:focus,
.site select:focus {
  outline: none;
  border-color: #d4af37;
  box-shadow: 0 0 0 1px #d4af37;
}

.woocommerce-checkout .col2-set {
  display: grid;
  gap: 2rem;
}

@media (min-width: 768px) {
.woocommerce-checkout .col2-set {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }
}

/* Checkout form: dark inputs and labels */
.woocommerce-checkout .woocommerce-billing-fields input.input-text,
.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-billing-fields textarea,
.woocommerce-checkout .woocommerce-shipping-fields input.input-text,
.woocommerce-checkout .woocommerce-shipping-fields select,
.woocommerce-checkout .woocommerce-shipping-fields textarea,
.woocommerce-checkout .woocommerce-additional-fields textarea,
.woocommerce-checkout .woocommerce-additional-fields input.input-text,
.woocommerce form .form-row .input-text {
  border-radius: 9999px;
  border: 1px solid #44403c;
  padding: 0.75rem 1rem;
  background-color: #0c0a09;
  color: #f5f5f4;
}

.woocommerce-checkout .woocommerce-additional-fields textarea {
  border-radius: 1rem;
  min-height: 6rem;
}

.woocommerce-checkout .select2-container .select2-selection--single {
  border-radius: 9999px !important;
  border: 1px solid #44403c !important;
  background-color: #0c0a09 !important;
  color: #f5f5f4 !important;
  min-height: 2.75rem;
}

.woocommerce-checkout .select2-container .select2-selection__rendered {
  color: #f5f5f4 !important;
  padding-left: 0.75rem;
  background-color: transparent !important;
}

.woocommerce-checkout .select2-container .select2-selection__arrow {
  height: 100%;
}

.woocommerce-checkout .select2-container .select2-selection__arrow b {
  border-color: #e7e5e4 transparent transparent transparent;
}

.woocommerce-checkout .select2-dropdown {
  background-color: #0c0a09 !important;
  border-color: #44403c !important;
}

.woocommerce-checkout .select2-results__option {
  background-color: #0c0a09 !important;
  color: #f5f5f4 !important;
}

.woocommerce-checkout .select2-results__option--highlighted {
  background-color: #1f2937 !important;
}

.woocommerce-checkout .form-row label {
  color: #e7e5e4;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.woocommerce-checkout-review-order-table {
  border-radius: 0.75rem;
  border: 1px solid #44403c; /* stone-700 */
  background-color: #0c0a09; /* dark */
  padding: 1rem 1.25rem;
  color: #e7e5e4;
}

.woocommerce-checkout-payment {
  border-radius: 0.75rem;
  border: 1px solid #44403c;
  background-color: #0c0a09;
  padding: 1.25rem 1.5rem;
  color: #e7e5e4;
}

.woocommerce-checkout #place_order {
  background-color: #d4af37;
  color: #020617;
  border-radius: 9999px;
  padding: 0.9rem 2.5rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.woocommerce-checkout #place_order:hover {
  background-color: #fefce8;
  color: #0f172a;
}

/* WooCommerce Blocks checkout (wp-block-woocommerce-checkout) – force
 * the same dark, pill-shaped inputs as the rest of the theme. */
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout input[type="number"],
.wp-block-woocommerce-checkout input[type="password"],
.wp-block-woocommerce-checkout input[type="search"],
.wp-block-woocommerce-checkout textarea,
.wp-block-woocommerce-checkout select {
  border-radius: 9999px !important;
  border: 1px solid #44403c !important;
  padding: 0.75rem 1rem !important;
  background-color: #0c0a09 !important;
  color: #f5f5f4 !important;
}

/* Woo Blocks floating labels: increase input top padding so typed text never collides with the label. */
.wp-block-woocommerce-checkout .wc-block-components-text-input input {
  padding-top: 1.75rem !important;
  padding-bottom: 0.6rem !important;
}

.wp-block-woocommerce-checkout .wc-block-components-text-input label {
  background-color: #0c0a09 !important;
  padding: 0 0.35rem;
  z-index: 2;
}

.wp-block-woocommerce-checkout .wc-block-components-text-input label[for] {
  left: 0.9rem !important;
}

.wp-block-woocommerce-checkout textarea {
  border-radius: 1rem !important;
  min-height: 6rem;
}

.wp-block-woocommerce-checkout input::placeholder,
.wp-block-woocommerce-checkout textarea::placeholder {
  color: #78716c !important;
}

.wp-block-woocommerce-checkout input:focus,
.wp-block-woocommerce-checkout textarea:focus,
.wp-block-woocommerce-checkout select:focus {
  outline: none !important;
  border-color: #d4af37 !important;
  box-shadow: 0 0 0 1px #d4af37 !important;
}

/* Woo Blocks select wrapper (country selector, etc.) */
.wp-block-woocommerce-checkout .wc-blocks-components-select__control,
.wp-block-woocommerce-checkout .wc-blocks-components-select {
  background-color: #0c0a09 !important;
  border-radius: 9999px !important;
  border: 1px solid #44403c !important;
}

.wp-block-woocommerce-checkout .wc-blocks-components-select__container {
  background-color: #0c0a09 !important;
  border: none !important;
  border-radius: inherit !important;
  overflow: hidden;
}

.wp-block-woocommerce-checkout select.wc-blocks-components-select__select {
  background-color: #0c0a09 !important;
  color: #f5f5f4 !important;
  border-radius: 9999px !important;
  border: none !important;
  padding: 0.75rem 1rem !important;
}

.wp-block-woocommerce-checkout .wc-blocks-components-select__suffix {
  color: #e5e5e5 !important;
}

/* Hide the default WooCommerce Blocks terms checkbox text; the theme
 * renders its own legal notice with clickable Terms & Conditions and
 * Privacy Policy links for better control over styling and translation. */
.wp-block-woocommerce-checkout .wc-block-checkout__terms {
  display: none !important;
}

/* Checkout: hide the \"Return to cart\" link (both block checkout and classic).
 * Some translated checkout pages may not receive the `woocommerce-checkout`
 * body class, so we also target the Blocks wrapper directly. */
.wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button,
.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button,
.woocommerce-checkout a.wc-backward {
  display: none !important;
}

/* Woo Blocks primary buttons on checkout (Place order, Apply coupon, etc.) */
.wp-block-woocommerce-checkout .wp-element-button,
.wp-block-woocommerce-checkout .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
  border-radius: 9999px !important;
  padding: 0.85rem 2.75rem !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  background-color: #d4af37 !important;
  color: #020617 !important;
  border: 1px solid #d4af37 !important;
}

.wp-block-woocommerce-checkout .wp-element-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background-color: #fefce8 !important;
  border-color: #fefce8 !important;
  color: #020617 !important;
}

/* WooCommerce notices: match dark theme */
.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  margin-bottom: 1.5rem;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.cart-empty.woocommerce-info {
  border-radius: 9999px;
  padding: 0.85rem 1.4rem;
  border: 1px solid #44403c;
  background-color: rgba(12, 10, 9, 0.98);
  color: #f5f5f4;
}

.woocommerce-message:before,
.woocommerce-error:before,
.woocommerce-info:before {
  display: none;
}

.woocommerce-message a,
.woocommerce-error a,
.woocommerce-info a {
  color: #d4af37;
}

/* Empty cart message on the cart page */
.cart-empty.woocommerce-info {
  text-align: center;
}

/* WooCommerce order received / thank you page: make the order summary
 * readable and consistent with the Eccents dark UI. */
.woocommerce-order {
  display: grid;
  gap: 1.25rem;
  margin-top: 1.75rem;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}

.woocommerce-order .woocommerce-thankyou-order-received {
  border-radius: 1.25rem;
  padding: 1rem 1.25rem;
  border: 1px solid #44403c;
  background: rgba(12, 10, 9, 0.92);
  color: #f5f5f4;
  text-align: center;
  font-weight: 600;
}

.woocommerce-order p:not(.woocommerce-notice) {
  margin: 0;
  border-radius: 1.25rem;
  padding: 0.95rem 1.1rem;
  border: 1px solid #292524;
  background: rgba(12, 10, 9, 0.65);
  color: #d6d3d1;
  font-size: 0.9rem;
  line-height: 1.6;
}

.woocommerce-order .woocommerce-order-overview {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

@media (min-width: 640px) {
  .woocommerce-order .woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .woocommerce-order .woocommerce-order-overview {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.woocommerce-order .woocommerce-order-overview li {
  border-radius: 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid #292524; /* stone-800 */
  background: rgba(12, 10, 9, 0.7);
  color: #a8a29e;
  font-size: 0.7rem;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.woocommerce-order .woocommerce-order-overview li strong {
  display: block;
  margin-top: 0.35rem;
  color: #f5f5f4;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: normal;
  text-transform: none;
}

.woocommerce-order .woocommerce-bacs-bank-details,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
  border-radius: 1.5rem;
  border: 1px solid #292524; /* stone-800 */
  background: rgba(12, 10, 9, 0.55);
  padding: 1.25rem 1.25rem;
}

.woocommerce-order .woocommerce-bacs-bank-details h2,
.woocommerce-order .woocommerce-order-details h2,
.woocommerce-order .woocommerce-customer-details h2 {
  margin: 0 0 0.85rem;
  font-family: ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;
  font-size: 1.15rem;
  color: #d4af37;
  letter-spacing: 0.02em;
}

.woocommerce-order .woocommerce-bacs-bank-details h3 {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  color: #e7e5e4;
}

.woocommerce-order .wc-bacs-bank-details {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.5rem;
}

.woocommerce-order .wc-bacs-bank-details li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0.85rem;
  border-radius: 1rem;
  border: 1px solid #292524;
  background: rgba(12, 10, 9, 0.75);
  color: #e7e5e4;
  font-size: 0.9rem;
}

.woocommerce-order .woocommerce-table--order-details {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #292524;
  border-radius: 1.25rem;
  overflow: hidden;
  background: rgba(12, 10, 9, 0.5);
}

.woocommerce-order .woocommerce-table--order-details th,
.woocommerce-order .woocommerce-table--order-details td {
  padding: 0.95rem 1rem;
  border-top: 1px solid #292524;
  vertical-align: top;
}

.woocommerce-order .woocommerce-table--order-details tbody tr:hover td {
  background: rgba(12, 10, 9, 0.88);
}

.woocommerce-order .woocommerce-table--order-details thead th {
  border-top: none;
  background: rgba(12, 10, 9, 0.92);
  color: #a8a29e;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.woocommerce-order .woocommerce-table--order-details tbody td {
  background: rgba(12, 10, 9, 0.72);
}

.woocommerce-order .woocommerce-table--order-details .product-name {
  color: #e7e5e4;
  font-size: 0.95rem;
}

.woocommerce-order .woocommerce-table--order-details .product-quantity {
  color: #a8a29e;
  font-weight: 600;
}

.woocommerce-order .woocommerce-table--order-details tfoot th,
.woocommerce-order .woocommerce-table--order-details tfoot td {
  background: rgba(12, 10, 9, 0.9);
  color: #e7e5e4;
}

.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child td {
  border-top: 1px solid #44403c;
}

.woocommerce-order .woocommerce-table__product-total {
  text-align: right;
  white-space: nowrap;
}

.woocommerce-order .woocommerce-table a {
  color: #f5f5f4;
  text-decoration: none;
}

.woocommerce-order .woocommerce-table a:hover {
  color: #d4af37;
  text-decoration: underline;
}

.woocommerce-order .woocommerce-customer-details .woocommerce-columns--addresses {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
}

@media (min-width: 768px) {
  .woocommerce-order .woocommerce-customer-details .woocommerce-columns--addresses {
    flex-direction: row;
    align-items: stretch;
  }
}

.woocommerce-order .woocommerce-customer-details .woocommerce-columns--addresses .woocommerce-column,
.woocommerce-order .woocommerce-customer-details .woocommerce-columns--addresses .col-1,
.woocommerce-order .woocommerce-customer-details .woocommerce-columns--addresses .col-2 {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.woocommerce-order .woocommerce-customer-details .woocommerce-columns--addresses .woocommerce-column {
  flex: 1 1 0%;
  min-width: 0;
}

.woocommerce-order .woocommerce-customer-details .woocommerce-columns--addresses .woocommerce-column {
  border-radius: 1.25rem;
  border: 1px solid #292524;
  background: rgba(12, 10, 9, 0.7);
  padding: 1rem 1.05rem;
}

.woocommerce-order .woocommerce-customer-details .woocommerce-column__title {
  margin: 0 0 0.75rem;
  font-family: ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;
  font-size: 1.05rem;
  color: #d4af37;
}

.woocommerce-order .woocommerce-customer-details address {
  font-style: normal;
  line-height: 1.7;
  color: #e7e5e4;
}

.woocommerce-order .woocommerce-customer-details p {
  margin: 0.25rem 0 0;
  color: #d6d3d1;
}

/* Woo prints phone/email with icon pseudo-elements; hide them to avoid missing-font glyphs. */
.woocommerce-order .woocommerce-customer-details .woocommerce-customer-details--phone::before,
.woocommerce-order .woocommerce-customer-details .woocommerce-customer-details--email::before {
  display: none !important;
}

/* Harden dark theme for all WooCommerce form fields (checkout, cart, account) */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
  border-radius: 9999px;
  border: 1px solid #44403c;
  padding: 0.75rem 1rem;
  background-color: #0c0a09 !important;
  color: #f5f5f4 !important;
}

.woocommerce form .form-row textarea,
.woocommerce textarea {
  border-radius: 1rem;
}

.woocommerce form .form-row .input-text::placeholder,
.woocommerce form .form-row textarea::placeholder,
.woocommerce input.input-text::placeholder,
.woocommerce textarea::placeholder {
  color: #78716c;
}

.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
  outline: none;
  border-color: #d4af37;
  box-shadow: 0 0 0 1px #d4af37;
}

/* Mobile menu styling */
#eccents-mobile-menu-overlay {
  background-color: rgba(0, 0, 0, 0.75);
}

#eccents-mobile-menu {
  background-color: rgba(12, 10, 9, 0.95);
}

#eccents-mobile-menu .menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

#eccents-mobile-menu .menu > li {
  margin: 0;
}

#eccents-mobile-menu .menu > li > a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0.9rem 0.9rem;
  border-radius: 9999px;
  border: 1px solid transparent;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  color: #e7e5e4;
}

#eccents-mobile-menu .menu > li > a:hover,
#eccents-mobile-menu .menu > li > a:focus-visible {
  background-color: rgba(12, 10, 9, 0.95);
  border-color: #1c1917;
  color: #facc15;
}

/* Language switcher dropdown styling */
.eccents-lang-switcher {
  position: relative;
}

.eccents-lang-menu {
  z-index: 60;
}

/* Header primary navigation: remove underlines on links */
header[role="banner"] nav[aria-label="Primary navigation"] a {
  text-decoration: none;
}

header[role="banner"] nav[aria-label="Primary navigation"] a:hover,
header[role="banner"] nav[aria-label="Primary navigation"] a:focus-visible {
  text-decoration: none;
}

/* Toggle between hamburger and close icons based on state */
#eccents-mobile-menu-toggle[aria-expanded="true"] .eccents-mobile-icon-menu {
  display: none;
}

#eccents-mobile-menu-toggle[aria-expanded="true"] .eccents-mobile-icon-close {
  display: block;
}

/* Force dark styling on core account/login fields across pages */
input[name="username"],
input[name="password"],
input[name="email"],
input[name="user_login"] {
  border-radius: 9999px !important;
  border: 1px solid #44403c !important;
  padding: 0.75rem 1rem !important;
  background-color: #0c0a09 !important;
  color: #f5f5f4 !important;
}

input[name="username"]::placeholder,
input[name="password"]::placeholder,
input[name="email"]::placeholder,
input[name="user_login"]::placeholder {
  color: #78716c !important;
}

/* Lost password submit button – match theme CTA */
body.woocommerce-lost-password main button[type="submit"],
body.woocommerce-lost-password main button {
  border-radius: 9999px !important;
  padding: 0.75rem 2.5rem !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  background-color: #d4af37 !important;
  color: #020617 !important;
  border: 1px solid #d4af37 !important;
}

body.woocommerce-lost-password main button[type="submit"]:hover,
body.woocommerce-lost-password main button:hover {
  background-color: #fefce8 !important;
  border-color: #fefce8 !important;
  color: #020617 !important;
}


/* Single product: quantity + add to cart styling */
/* Product detail: core CTA + quantity */
.woocommerce div.product form.cart .quantity .qty {
  max-width: 6rem;
  text-align: center;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
  border-radius: 9999px;
  padding: 0.75rem 2.75rem;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background-color: #d4af37;
  color: #020617;
  border: 1px solid #d4af37;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background-color: #fefce8;
  border-color: #fefce8;
  color: #020617;
}

/* Product detail: layout + tabs in a dark, luxurious panel */
/* Keep the generic grid layout for any legacy/product templates,
 * but avoid overriding the custom Eccents single-product layout. */
.woocommerce div.product:not(.eccents-single-product) {
  display: grid;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .woocommerce div.product:not(.eccents-single-product) {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr);
    align-items: flex-start;
  }
}

.woocommerce div.product .images,
.woocommerce div.product .summary {
  margin: 0;
}

.woocommerce div.product:not(.eccents-single-product) .summary {
  padding-left: 0;
}

.woocommerce div.product .product_title {
  font-family: "Cinzel", serif;
  font-size: 2rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #f5f5f4;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: "Cinzel", serif;
  font-size: 1.3rem;
  color: #d4af37;
}

.woocommerce div.product .price del {
  opacity: 0.6;
  margin-right: 0.25rem;
}

.woocommerce div.product .price ins {
  text-decoration: none;
}

.woocommerce div.product .woocommerce-variation-description,
.woocommerce div.product .woocommerce-product-details__short-description {
  color: #e7e5e4;
  font-size: 0.95rem;
}

.woocommerce div.product .product_meta {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #a8a29e;
}

.woocommerce div.product .product_meta a {
  color: #facc15;
  text-decoration: none;
}

.woocommerce div.product .product_meta a:hover {
  color: #fefce8;
}

.woocommerce div.product .woocommerce-tabs {
  margin-top: 3rem;
  border-radius: 1.25rem;
  border: 1px solid #1c1917;
  background-color: rgba(12, 10, 9, 0.98);
  padding: 1.75rem 2rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid #292524;
  padding-left: 0;
  margin: 0 0 1.25rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #a8a29e;
  padding: 0.5rem 1.1rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #f5f5f4;
  border-bottom: 2px solid #d4af37;
}

/* Reset Woo default tab chrome so our dark styling is clean */
.eccents-single-product-tabs .woocommerce-tabs ul.tabs::before,
.eccents-single-product-tabs .woocommerce-tabs ul.tabs li::before,
.eccents-single-product-tabs .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.eccents-single-product-tabs .woocommerce-tabs ul.tabs li {
  border: 0 !important;
  background: transparent !important;
}

.eccents-single-product-tabs .woocommerce-tabs ul.tabs li a {
  display: inline-block;
}

/* Single product: additional information table inside tabs */
.eccents-single-product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information h2 {
  display: none;
}

.eccents-single-product .woocommerce-tabs table.shop_attributes {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 1rem;
  overflow: hidden;
  background-color: #020617;
  border: 1px solid #292524;
}

.eccents-single-product .woocommerce-tabs table.shop_attributes th,
.eccents-single-product .woocommerce-tabs table.shop_attributes td {
  padding: 0.7rem 1.1rem;
  font-size: 0.85rem;
}

.eccents-single-product .woocommerce-tabs table.shop_attributes th {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.7rem;
  color: #a8a29e;
  width: 30%;
  border-right: 1px solid #292524;
}

.eccents-single-product .woocommerce-tabs table.shop_attributes td {
  color: #e7e5e4;
}

.eccents-single-product .woocommerce-tabs table.shop_attributes tr:nth-child(odd) {
  background-color: rgba(12, 10, 9, 0.9);
}

.eccents-single-product .woocommerce-tabs table.shop_attributes tr:nth-child(even) {
  background-color: rgba(12, 10, 9, 0.8);
}

.woocommerce #reviews #comments h2,
.woocommerce-Reviews-title {
  font-family: "Cinzel", serif;
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f5f5f4;
}

.woocommerce #reviews #comments ol.commentlist {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}

.woocommerce #reviews #comments ol.commentlist li {
  border-bottom: 1px solid #292524;
  padding: 1rem 0;
  margin: 0;
}

.woocommerce #reviews #comments .comment-text {
  background-color: transparent;
  border: 0;
  padding: 0;
}

.woocommerce #review_form #respond {
  margin-top: 2rem;
}

.woocommerce #review_form #respond .comment-form-rating p.stars a {
  color: #d4af37;
}

.woocommerce #review_form #respond .form-submit input[type="submit"] {
  border-radius: 9999px;
  padding: 0.7rem 2.2rem;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background-color: #d4af37;
  color: #020617;
  border: 1px solid #d4af37;
}

.woocommerce #review_form #respond .form-submit input[type="submit"]:hover {
  background-color: #fefce8;
  border-color: #fefce8;
  color: #020617;
}

/* Related & upsell product buttons – match primary CTA styling */
.related.products .button,
.related.products .added_to_cart,
.upsells.products .button,
.upsells.products .added_to_cart {
  border-radius: 9999px;
  padding: 0.6rem 1.9rem;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background-color: #d4af37;
  color: #020617;
  border: 1px solid #d4af37;
  text-decoration: none;
}

.related.products .button:hover,
.related.products .added_to_cart:hover,
.upsells.products .button:hover,
.upsells.products .added_to_cart:hover {
  background-color: #fefce8;
  border-color: #fefce8;
  color: #020617;
}

/* Archive / category product cards: CTA buttons */
.archive.woocommerce ul.products li.product .button,
.archive.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page.archive ul.products li.product .button,
.woocommerce-page.archive ul.products li.product .added_to_cart {
  border-radius: 9999px;
  padding: 0.6rem 1.9rem;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background-color: #d4af37;
  color: #020617;
  border: 1px solid #d4af37;
  text-decoration: none;
}

.archive.woocommerce ul.products li.product .button:hover,
.archive.woocommerce ul.products li.product .added_to_cart:hover,
.woocommerce-page.archive ul.products li.product .button:hover,
.woocommerce-page.archive ul.products li.product .added_to_cart:hover {
  background-color: #fefce8;
  border-color: #fefce8;
  color: #020617;
}

/* WooCommerce review form fields: force dark styling */
.woocommerce #review_form input[type="text"],
.woocommerce #review_form input[type="email"],
.woocommerce #review_form textarea,
textarea[name="comment"],
input[name="author"],
input[name="email"] {
  border-radius: 9999px !important;
  border: 1px solid #44403c !important;
  padding: 0.75rem 1rem !important;
  background-color: #0c0a09 !important;
  color: #f5f5f4 !important;
}

.woocommerce #review_form textarea {
  border-radius: 1rem !important;
  min-height: 7rem;
}

.woocommerce #review_form input[type="text"]::placeholder,
.woocommerce #review_form input[type="email"]::placeholder,
.woocommerce #review_form textarea::placeholder {
  color: #78716c !important;
}

.woocommerce #review_form input[type="text"]:focus,
.woocommerce #review_form input[type="email"]:focus,
.woocommerce #review_form textarea:focus {
  outline: none;
  border-color: #d4af37 !important;
  box-shadow: 0 0 0 1px #d4af37 !important;
}

/* Ensure product quantity field uses dark styling */
.woocommerce div.product form.cart .quantity .qty,
input[name="quantity"] {
  max-width: 6rem;
  text-align: center;
  background-color: #0c0a09 !important;
  border: 1px solid #44403c !important;
  color: #f5f5f4 !important;
}

/* Override any legacy/pink single add-to-cart button styles */
.woocommerce div.product form.cart .single_add_to_cart_button {
  border-radius: 9999px !important;
  padding: 0.75rem 2.5rem !important;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: #d4af37 !important;
  background-color: #d4af37 !important;
  color: #020617 !important;
  border: 1px solid #d4af37 !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background-color: #fefce8 !important;
  border-color: #fefce8 !important;
  color: #020617 !important;
}

/* Single product: summary card + gallery backdrop */
.eccents-single-product-layout {
  display: block;
}

/* Fallback spacing in case Tailwind utilities are missing */
.eccents-single-product-layout > * + * {
  margin-top: 2.5rem;
}

@media (min-width: 1024px) {
  .eccents-single-product-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr);
    gap: 3rem;
    align-items: start;
  }

  /* Override Tailwind's space-y-* utilities so the grid items align on the same row. */
  .eccents-single-product-layout > * + * {
    margin-top: 0;
  }

  .eccents-single-product-layout > :not([hidden]) ~ :not([hidden]) {
    margin-top: 0 !important;
  }
}

.eccents-single-product-gallery {
  position: relative;
}

.eccents-single-product-gallery .woocommerce-product-gallery {
  position: relative;
  border-radius: 1.5rem;
  overflow: hidden;
  z-index: 1;
}

.eccents-single-product-summary-wrapper {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.woocommerce div.product.eccents-single-product div.images,
.woocommerce div.product.eccents-single-product div.summary {
  float: none;
  width: 100%;
}

.eccents-gallery-backdrop {
  background: radial-gradient(circle at 20% 20%, rgba(212, 175, 55, 0.18), transparent 55%),
    radial-gradient(circle at 80% 80%, rgba(24, 24, 27, 0.9), rgba(9, 9, 11, 1));
  filter: blur(24px);
}

.eccents-single-product .summary.entry-summary {
  background-color: rgba(12, 10, 9, 0.98);
  border-radius: 1.5rem;
  border: 1px solid #1c1917;
  padding: 1.75rem 1.5rem 1.5rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 100%;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.5);
}

@media (min-width: 1024px) {
  .eccents-single-product-summary-wrapper {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .eccents-single-product .summary.entry-summary {
    padding: 2.3rem 3rem 2.1rem;
    max-width: 100%;
  }
}

/* Single product: refined typography for Eccents layout */
.eccents-single-product .product_title {
  font-family: "Cinzel", serif;
  font-size: 2.1rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #f5f5f4;
  margin-bottom: 0.4rem;
}

@media (min-width: 1024px) {
  .eccents-single-product .product_title {
    font-size: 2.35rem;
  }
}

.eccents-single-product .summary.entry-summary .price {
  margin-top: 0.35rem;
  margin-bottom: 0.9rem;
}

.eccents-single-product .woocommerce-product-details__short-description {
  max-width: 44rem;
  font-size: 0.95rem;
  color: #e7e5e4;
}

@media (min-width: 1024px) {
  .eccents-single-product .summary.entry-summary {
    padding-left: 2.6rem;
  }
}

.eccents-single-product form.cart {
  margin-top: 1.15rem;
  padding-top: 0.75rem;
  border-top: 1px solid #292524;
}

.eccents-single-product form.cart .variations,
.eccents-single-product form.cart .single_variation_wrap {
  width: 100%;
}

.eccents-single-product form.cart table.variations {
  width: 100%;
  margin-bottom: 0.75rem;
  border-collapse: separate;
  border-spacing: 0;
}

/* Align the \"Volume\" label and dropdown consistently (desktop: same row, mobile: stacked) */
.eccents-single-product form.cart table.variations tbody {
  display: block;
}

.eccents-single-product form.cart table.variations tr {
  display: flex;
  align-items: stretch;
  gap: 1rem;
  width: 100%;
}

.eccents-single-product form.cart table.variations th.label {
  flex: 0 0 7rem;
  text-align: left;
  padding: 0;
  display: flex;
  align-items: center;
}

.eccents-single-product form.cart table.variations td.value {
  flex: 1 1 auto;
  padding: 0;
  margin: 0;
}

.eccents-single-product form.cart table.variations td.value select {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 640px) {
  .eccents-single-product form.cart table.variations tr {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }

  .eccents-single-product form.cart table.variations th.label {
    flex-basis: auto;
    display: block;
  }
}

.eccents-single-product form.cart table.variations select {
  width: 100%;
}

.eccents-single-product form.cart table.variations th.label {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.7rem;
  color: #a8a29e;
  padding-bottom: 0.25rem;
}

.eccents-single-product form.cart .woocommerce-variation-add-to-cart {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.eccents-single-product form.cart .woocommerce-variation-add-to-cart .quantity {
  margin: 0;
}

.eccents-single-product form.cart .single_add_to_cart_button {
  margin-top: 0;
}

.eccents-single-product .product_meta {
  margin-top: 1.25rem;
}

/* Single product: volume pills container */
.eccents-volume-pills {
  margin-top: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.eccents-volume-pill {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 500;
  border-radius: 9999px;
}

@media (max-width: 639px) {
  .eccents-volume-pills {
    gap: 0.35rem;
  }
  .eccents-volume-pill {
    padding-inline: 0.75rem;
  }
}

/* Single product: subtle price change animation */
.eccents-price-change {
  animation: eccents-price-flash 0.28s ease-out;
}

@keyframes eccents-price-flash {
  0% {
    opacity: 0.4;
    transform: translateY(2px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* My Account layout tweaks */
/* Default: single-column layout (login/register, lost password, etc.) */
.woocommerce-account .woocommerce {
  display: block;
  max-width: 72rem;
  margin: 3.5rem auto;
  padding: 0 1.5rem;
  gap: 2.5rem;
}

/* Logged-in dashboard: two-column card layout */
@media (min-width: 768px) {
  .woocommerce-account.logged-in .woocommerce {
    display: grid;
    grid-template-columns: minmax(15rem, 0.32fr) minmax(0, 1.68fr);
    align-items: flex-start;
    gap: 2.5rem;
  }
}

/* Login/register card on My Account (one-column stack) */
.woocommerce-account .woocommerce #customer_login.u-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  background-color: rgba(12, 10, 9, 0.95);
  border-radius: 1.5rem;
  border: 1px solid #1c1917;
  padding: 1.75rem;
  width: 100%;
  max-width: 52rem;
  margin: 0 auto 0 0;
}

/* WooCommerce adds clearfix pseudo-elements; hide them so they don't become grid items. */
.woocommerce-account .woocommerce #customer_login.u-columns::before,
.woocommerce-account .woocommerce #customer_login.u-columns::after {
  content: none !important;
  display: none !important;
}

.woocommerce-account .woocommerce #customer_login .u-column1,
.woocommerce-account .woocommerce #customer_login .u-column2 {
  width: 100%;
  float: none;
  margin: 0 0 1.75rem;
}

/* Desktop: show login + register side-by-side */
@media (min-width: 1024px) {
  .woocommerce-account .woocommerce #customer_login.u-columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2.5rem;
    align-items: start;
  }

  .woocommerce-account .woocommerce #customer_login .u-column1,
  .woocommerce-account .woocommerce #customer_login .u-column2 {
    margin: 0;
  }
}

/* WooCommerce notices: hide when empty, show as bar above card when present */
.woocommerce-account .woocommerce .woocommerce-notices-wrapper:empty {
  display: none;
}

.woocommerce-account .woocommerce .woocommerce-notices-wrapper {
  max-width: 52rem;
  margin: 0 auto 1rem;
}

.woocommerce-account .woocommerce .woocommerce-error,
.woocommerce-account .woocommerce .woocommerce-info,
.woocommerce-account .woocommerce .woocommerce-message {
  border-radius: 9999px;
  border-width: 1px;
  border-style: solid;
  padding: 0.85rem 1.5rem;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.woocommerce-account .woocommerce .woocommerce-error {
  background-color: rgba(127, 29, 29, 0.9);
  border-color: #fca5a5;
  color: #fef2f2;
}

.woocommerce-account .woocommerce .woocommerce-info,
.woocommerce-account .woocommerce .woocommerce-message {
  background-color: rgba(12, 10, 9, 0.98);
  border-color: #44403c;
  color: #f5f5f4;
}

.woocommerce-account .woocommerce h2 {
  font-family: "Cinzel", serif;
  font-size: 1rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #f5f5f4;
  margin-bottom: 1rem;
}

.woocommerce-account .woocommerce p {
  color: #d6d3d1;
  font-size: 0.9rem;
}

/* Logged-in My Account cards (navigation + content) */
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-navigation,
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content {
  background-color: rgba(12, 10, 9, 0.95);
  border-radius: 1.5rem;
  border: 1px solid #1c1917;
  padding: 1.75rem;
  width: 100%;
  min-width: 0;
}

/* My Account: login & register buttons */
.woocommerce-account .woocommerce .woocommerce-form-login .button,
.woocommerce-account .woocommerce .woocommerce-form-register .button,
.woocommerce-account .woocommerce .woocommerce-form-login button[type="submit"],
.woocommerce-account .woocommerce .woocommerce-form-register button[type="submit"] {
  border-radius: 9999px !important;
  padding: 0.75rem 2.5rem !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  background-color: #d4af37 !important; /* essents gold */
  color: #020617 !important;
  border: 1px solid #d4af37 !important;
}

.woocommerce-account .woocommerce .woocommerce-form-login .button:hover,
.woocommerce-account .woocommerce .woocommerce-form-register .button:hover,
.woocommerce-account .woocommerce .woocommerce-form-login button[type="submit"]:hover,
.woocommerce-account .woocommerce .woocommerce-form-register button[type="submit"]:hover {
  background-color: #fefce8 !important;
  border-color: #fefce8 !important;
  color: #020617 !important;
}

/* Logged-in My Account navigation styling */
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-navigation {
  padding: 0;
}

.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.55rem 0.9rem;
  border-radius: 9999px;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #a8a29e;
  text-decoration: none;
  background-color: rgba(24, 24, 27, 0.9);
  border: 1px solid #292524;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-navigation li a:hover {
  color: #f5f5f4;
  border-color: #d4af37;
}

.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-navigation li.current-menu-item a {
  background-color: #d4af37;
  border-color: #d4af37;
  color: #020617;
}

/* Logged-in My Account content area */
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content {
  background-color: rgba(12, 10, 9, 0.95);
}

.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content h2,
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content h3 {
  font-family: "Cinzel", serif;
  color: #f5f5f4;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.9rem;
}

.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content p,
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content li {
  color: #d6d3d1;
  font-size: 0.9rem;
}

/* Account tables: orders, downloads, addresses */
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
  color: #e7e5e4;
}

.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content thead th {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.7rem;
  padding: 0.75rem 0.75rem;
  border-bottom: 1px solid #292524;
  color: #a8a29e;
}

.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content tbody td {
  padding: 0.7rem 0.75rem;
  border-bottom: 1px solid #1c1917;
}

.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content tbody tr:nth-child(odd) td {
  background-color: rgba(15, 23, 42, 0.45);
}

.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content tbody tr:nth-child(even) td {
  background-color: rgba(12, 10, 9, 0.95);
}

/* Account action buttons (orders, addresses, account details, logout) */
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content .button,
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content .woocommerce-button,
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content button[type="submit"] {
  border-radius: 9999px;
  padding: 0.7rem 2.4rem;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background-color: #d4af37;
  color: #020617;
  border: 1px solid #d4af37;
}

.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content .button:hover,
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content .woocommerce-button:hover,
.woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content button[type="submit"]:hover {
  background-color: #fefce8;
  border-color: #fefce8;
  color: #020617;
}

/* Cart page: make the \"Proceed to checkout\" button match the primary CTA styling */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px !important;
  padding: 0.85rem 2.75rem !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  background-color: #d4af37 !important;
  color: #020617 !important;
  border: 1px solid #d4af37 !important;
  text-decoration: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
  background-color: #fefce8 !important;
  border-color: #fefce8 !important;
  color: #020617 !important;
}

/* WooCommerce Cart block: align the primary submit button with theme CTA */
.woocommerce-cart .wp-block-woocommerce-cart .wp-element-button,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px !important;
  padding: 0.85rem 2.75rem !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  background-color: #d4af37 !important;
  color: #020617 !important;
  border: 1px solid #d4af37 !important;
  text-decoration: none !important;
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-element-button:hover,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button:hover {
  background-color: #fefce8 !important;
  border-color: #fefce8 !important;
  color: #020617 !important;
}

/* Hard fallback: any primary checkout link on the cart page */
.woocommerce-cart a[href$="/checkout/"],
.woocommerce-cart a[href*="/en/checkout/"],
.woocommerce-cart a[href*="/nl/afrekenen/"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px !important;
  padding: 0.85rem 2.75rem !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  background-color: #d4af37 !important;
  color: #020617 !important;
  border: 1px solid #d4af37 !important;
  text-decoration: none !important;
}

.woocommerce-cart a[href$="/checkout/"]:hover,
.woocommerce-cart a[href*="/en/checkout/"]:hover,
.woocommerce-cart a[href*="/nl/afrekenen/"]:hover {
  background-color: #fefce8 !important;
  border-color: #fefce8 !important;
  color: #020617 !important;
}

/* CMS pages: unify dark card wrapper for default page template fallback */
.page .site-main {
  background-color: #020617;
}

/* Design Your Scent page: keep dark layout consistent with the rest of the theme */
#eccents-design-builder {
  background-color: #020617;
  color: #e7e5e4;
}

/* Design Your Scent page: remove the global top margin used on other templates */
body.page-template-page-design-your-scent main,
body.page-template-page-design-your-scent #primary {
  margin-top: 0 !important;
  /* The header is fixed; keep content (breadcrumbs) visible below it. */
  padding-top: 5.5rem;
}

#eccents-design-builder h2,
#eccents-design-builder h3 {
  color: #f5f5f4;
}

/* Subtle \"pop\" animation for the minicart drawer when it opens */
@keyframes eccents-cart-drawer-pop {
  0% {
    transform: translateX(100%) scale(0.96);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  }
  100% {
    transform: translateX(0) scale(1);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.45);
  }
}

#eccents-cart-drawer.eccents-cart-drawer-animating {
  animation: eccents-cart-drawer-pop 0.35s ease-out;
}

@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

/* Ensure any block-based wrappers also use the dark background */
body,
.wp-site-blocks {
  background-color: rgba(12, 10, 9, 0.95) !important;
  color: #e7e5e4;
}

/* -------------------------------------------------------------------------- */
/* Final My Account layout overrides                                           */
/* Ensure two-column layout on desktop (logged-in) and clean two-column        */
/* login/register card when logged out, while keeping a full-width stacked     */
/* layout on small screens.                                                    */
/* -------------------------------------------------------------------------- */

@media (min-width: 640px) {
  /* Logged-in: two-column grid with left navigation and right content */
  .woocommerce-account.logged-in .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(15rem, 0.25fr) minmax(0, 0.75fr) !important;
    align-items: flex-start;
    gap: 2.5rem;
  }

  .woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-navigation,
  .woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: stretch !important;
  }

  .woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-navigation {
    grid-column: 1 !important;
  }

  .woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content {
    grid-column: 2 !important;
  }

  /* Logged-out: single-column login/register stacked, aligned left */
  .woocommerce-account .woocommerce #customer_login.u-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.75rem;
    justify-items: stretch;
  }
  .woocommerce-account .woocommerce #customer_login .u-column1,
  .woocommerce-account .woocommerce #customer_login .u-column2 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
  }
}
