/* ============================================================
   Myxmh — WooCommerce dark skin (overrides WC defaults)
   palette: void #100817 night #180e26 plum #211433 orchid #2c1c42
            gold #cfa75f gold-light #e8cd8f cream #f4ead7
            lilac #c8b6dd mute #9785ac prank #a85763
   ============================================================ */

.woocommerce, .woocommerce-page, .mh-woo { color: #c8b6dd; }
.woocommerce a { color: #e8cd8f; }
.woocommerce a:hover { color: #f3dca0; }

/* ---- page heading / breadcrumb / result count / ordering ---- */
.woocommerce-products-header__title,
.woocommerce div.product .product_title,
.woocommerce .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-account h2,
.woocommerce h1, .woocommerce h2, .woocommerce h3 {
  color: #f4ead7;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", Arial, sans-serif;
}
.woocommerce-breadcrumb {
  font-size: .75rem; letter-spacing: .04em; color: #9785ac; margin-bottom: 1.25rem;
}
.woocommerce-breadcrumb a { color: #9785ac; }
.woocommerce-breadcrumb a:hover { color: #cfa75f; }
.woocommerce-result-count { color: #9785ac; font-size: .8rem; }
.woocommerce .woocommerce-ordering select,
.woocommerce select, .woocommerce .select2-container .select2-selection {
  background: #1b1230; color: #f4ead7; border: 1px solid rgba(207,167,95,.25);
  border-radius: .5rem; padding: .45rem .7rem;
}

/* ---- buttons (gold) ---- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce .button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce .single_add_to_cart_button, .woocommerce #place_order,
.wc-block-components-button, .wp-block-button__link {
  background: linear-gradient(180deg, #e8cd8f 0%, #cfa75f 100%) !important;
  color: #180e26 !important;
  border: 1px solid rgba(207,167,95,.6) !important;
  border-radius: 9999px !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", Arial, sans-serif;
  font-weight: 600; text-transform: uppercase; letter-spacing: .12em; font-size: .72rem;
  padding: .7rem 1.4rem !important;
  box-shadow: 0 0 24px -8px rgba(243,220,160,.5);
  transition: all .25s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover, .woocommerce #place_order:hover {
  background: linear-gradient(180deg, #f3dca0 0%, #e8cd8f 100%) !important;
  box-shadow: 0 0 36px -4px rgba(243,220,160,.7);
}
.woocommerce a.button.added::after { color: #180e26; }
/* ghost-style secondary buttons */
.woocommerce .cart .button[name="update_cart"], .woocommerce a.button.wc-backward {
  background: transparent !important; color: #cfa75f !important;
  border-color: rgba(207,167,95,.4) !important; box-shadow: none;
}

/* ajax "adding to cart" state — clean centered ring instead of the misaligned icon-font spinner */
.woocommerce a.button.loading, .woocommerce button.button.loading,
.woocommerce .button.loading, .woocommerce .add_to_cart_button.loading {
  color: transparent !important;
  pointer-events: none;
  opacity: .9;
  padding-right: 1.4rem !important;   /* cancel WC's extra right padding */
  position: relative;
}
.woocommerce a.button.loading::after, .woocommerce button.button.loading::after,
.woocommerce .button.loading::after, .woocommerce .add_to_cart_button.loading::after {
  content: "" !important;
  font-family: inherit !important;
  position: absolute;
  top: 50%; left: 50%;
  width: 1.05em; height: 1.05em;
  margin: -0.55em 0 0 -0.55em;        /* centre via margin so the rotate animation keeps it put */
  border: 2px solid rgba(24,14,38,.35);
  border-top-color: #180e26;
  border-radius: 50%;
  box-sizing: border-box;
  animation: spin .7s linear infinite;
}
/* shop loop "added" tick link */
.woocommerce a.added_to_cart { color: #cfa75f; font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; }

/* ---- product grid (shop / category / related) ---- */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  background: rgba(255,255,255,.02);
  border-radius: 1rem;
  padding: 0 0 1.1rem;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(207,167,95,.14);
  transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  border-color: rgba(207,167,95,.4);
  box-shadow: 0 24px 60px -34px rgba(0,0,0,.8);
}
.woocommerce ul.products li.product a img {
  border-radius: .75rem .75rem 0 0; margin: 0 0 .9rem;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: #f4ead7; font-size: .9rem; padding: 0 1rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .03em;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .price {
  padding: 0 1rem;
}
.woocommerce ul.products li.product .price { color: #cfa75f !important; font-size: 1rem; font-weight: 600; }
.woocommerce ul.products li.product .price del { color: #9785ac !important; font-weight: 400; opacity: .8; }
.woocommerce ul.products li.product .price ins { color: #cfa75f; text-decoration: none; }
.woocommerce ul.products li.product .star-rating { margin: .3rem 1rem; color: #cfa75f; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart { margin: .6rem 1rem 0; display: inline-block; }
.woocommerce .products .star-rating::before, .woocommerce .star-rating::before { color: rgba(207,167,95,.3); }
.woocommerce .star-rating span::before { color: #cfa75f; }

/* sale badge */
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale {
  background: #a85763; color: #f4ead7; border-radius: 9999px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, sans-serif;
  font-size: .55rem; text-transform: uppercase; letter-spacing: .12em;
  padding: .35rem .7rem; min-height: 0; min-width: 0; line-height: 1;
  top: .8rem; right: .8rem; left: auto;
}

/* ---- single product summary (refined, #66-style) ---- */
.woocommerce div.product .summary, .woocommerce div.product .entry-summary { padding-left: .25rem; }
.mh-pdp-eyebrow {
  display: flex; align-items: center; gap: .7rem;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, sans-serif;
  font-size: .68rem; text-transform: uppercase; letter-spacing: .22em;
  color: #cfa75f; margin: 0 0 .9rem;
}
.mh-pdp-dash { display: inline-block; width: 2.2rem; height: 1px; background: linear-gradient(90deg, #cfa75f, rgba(207,167,95,0)); }
.woocommerce div.product .product_title {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: 2.7rem; line-height: 1.08; margin: 0 0 .85rem; color: #f4ead7;
  font-weight: 600; letter-spacing: .002em;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: #c8b6dd; font-size: 1rem; line-height: 1.72; margin: 1.1rem 0 0; max-width: 34rem;
}
.mh-pdp-rule { height: 1px; width: 100%; margin: 1.6rem 0; background: linear-gradient(90deg, transparent, rgba(207,167,95,.4) 50%, transparent); }

/* add-to-cart row: primary + secondary side by side (quantity moved into the modal) */
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: .7rem; margin-bottom: 1rem; }
.woocommerce div.product form.cart div.quantity { display: none !important; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 12rem; min-height: 3rem; display: inline-flex; align-items: center; justify-content: center; }
.mh-pdp-secondary {
  flex: 1 1 11rem; display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  border: 1px solid rgba(207,167,95,.4); border-radius: 9999px; color: #cfa75f !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, sans-serif;
  font-weight: 600; text-transform: uppercase; letter-spacing: .12em; font-size: .72rem;
  padding: .7rem 1.2rem; min-height: 3rem; transition: all .25s ease;
}
.mh-pdp-secondary:hover { border-color: rgba(207,167,95,.75); background: rgba(207,167,95,.08); color: #f3dca0 !important; }
.mh-pdp-give { color: #9785ac; font-size: .8rem; margin: 0 0 1.2rem; }
.mh-pdp-give .mh-star { color: #cfa75f; }

/* product gallery: main image + thumbnail strip */
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images img { border-radius: 1rem; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important; flex-wrap: wrap; gap: .6rem;
  margin: 1.6rem 0 0 !important; padding: 0;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
  width: 4.4rem !important; float: none !important; margin: 0 !important; list-style: none;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img {
  width: 100% !important; height: auto; display: block;
  border-radius: .55rem; border: 1px solid rgba(207,167,95,.2); opacity: .6;
  transition: opacity .2s ease, border-color .2s ease;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  opacity: 1; border-color: rgba(207,167,95,.65);
}
.woocommerce div.product .woocommerce-product-gallery__trigger {
  background: rgba(16,8,23,.7); border: 1px solid rgba(207,167,95,.3); color: #cfa75f;
}

/* ---- single product (legacy bits) ---- */
.woocommerce div.product p.price, .woocommerce div.product span.price {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  color: #e8cd8f; font-size: 2.3rem; font-weight: 500; line-height: 1;
  display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap;
}
.woocommerce div.product p.price del { color: #9785ac; font-size: 1.35rem; font-weight: 400; opacity: .85; }
.woocommerce div.product p.price ins { text-decoration: none; color: #e8cd8f; }
.woocommerce div.product .woocommerce-product-rating { color: #9785ac; }
.woocommerce div.product .woocommerce-product-details__short-description { color: #c8b6dd; }
.woocommerce div.product form.cart div.quantity .qty {
  background: #1b1230; color: #f4ead7; border: 1px solid rgba(207,167,95,.3);
  border-radius: .5rem; padding: .6rem .4rem;
}
.woocommerce div.product .product_meta {
  color: #9785ac; font-size: .78rem; line-height: 1.85;
  margin-top: 1.7rem; padding-top: 1.3rem;
  border-top: 1px solid rgba(207,167,95,.14);
}
.woocommerce div.product .product_meta > span { display: block; }
.woocommerce div.product .product_meta .sku_wrapper,
.woocommerce div.product .product_meta .posted_in { letter-spacing: .01em; }
.woocommerce div.product .product_meta a { color: #cfa75f; transition: color .2s ease; }
.woocommerce div.product .product_meta a:hover { color: #f3dca0; }

/* ---- product tabs: elegant underline tabs (no folder box) ---- */
.woocommerce div.product .woocommerce-tabs ul.tabs { margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom: 1px solid rgba(207,167,95,.16); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important; border: 0 !important; border-radius: 0 !important;
  margin: 0 1.9rem 0 0 !important; padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: transparent !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { content: none !important; border: 0 !important; display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  position: relative; display: inline-block; padding: 0 0 .85rem;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Arial, sans-serif;
  font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .17em;
  color: #9785ac; transition: color .25s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: #c8b6dd; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #f4ead7; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
  background: linear-gradient(90deg, #f3dca0, #cfa75f);
  box-shadow: 0 0 12px rgba(207,167,95,.55);
  transform: scaleX(0); transform-origin: left; transition: transform .3s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after { transform: scaleX(1); }

/* ---- tab panel: atmospheric "ritual" card ---- */
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce-tabs .panel {
  position: relative;
  color: #c8b6dd;
  margin-top: 1.7rem;
  padding: 2.4rem 2.6rem 2.2rem;
  background:
    radial-gradient(130% 105% at 100% 0%, rgba(124,91,171,.18), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.008));
  border: 1px solid rgba(207,167,95,.22);
  border-radius: 1.15rem;
  font-size: .95rem; line-height: 1.85;
  overflow: hidden;
}
/* WC repeats the tab label as an <h2> inside the panel — hide it, the tab already says it */
.woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce-tabs .panel > *:first-child { margin-top: 0; }

/* gold eyebrow, only on the Description panel */
.woocommerce-Tabs-panel--description::before {
  content: "◆  The Ritual";
  display: block; margin-bottom: 1.2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Arial, sans-serif;
  font-size: .6rem; font-weight: 600; letter-spacing: .3em; text-transform: uppercase;
  color: rgba(207,167,95,.82);
}

/* the intro paragraph → elegant Playfair serif (the requested font change) */
.woocommerce-Tabs-panel--description p {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: 1.22rem; line-height: 1.62; font-weight: 500;
  color: #efe4ee; letter-spacing: .003em;
  margin: 0 0 1.3rem; padding: 0; max-width: 60ch;
}
.woocommerce-Tabs-panel--description p:last-child { margin-bottom: 0; }

/* detail list — set apart by a gold hairline, refined ◆ markers */
.woocommerce-Tabs-panel--description ul,
.woocommerce-Tabs-panel--description ol {
  list-style: none; margin: 1.4rem 0 0; padding: 1.4rem 0 0;
  border-top: 1px solid rgba(207,167,95,.14);
}
.woocommerce-Tabs-panel--description ul li {
  position: relative; padding-left: 1.85rem; margin: 0 0 .7rem; line-height: 1.6;
  font-size: .9rem; color: #c8b6dd;
}
.woocommerce-Tabs-panel--description ul li::before {
  content: "◆"; position: absolute; left: .2rem; top: .3rem; color: #cfa75f; font-size: .52rem;
}
/* keep the Reviews panel readable with plain spacing */
.woocommerce-tabs .panel p { margin: 0 0 1rem; max-width: 64ch; }
.woocommerce-tabs .panel p:last-child { margin-bottom: 0; }
.woocommerce #reviews #comments h2, .woocommerce .related > h2, .woocommerce .upsells > h2 { color: #f4ead7; }
/* reviews list breathing room */
.woocommerce #reviews #comments ol.commentlist { padding: 0; margin: 1rem 0 0; }
.woocommerce #reviews #comments ol.commentlist li { padding: 0; }
.woocommerce #reviews .comment-form-rating label, .woocommerce #review_form label { color: #c8b6dd; }

/* ---- review form (dark fields instead of white) ---- */
.woocommerce #reviews #respond #reply-title,
.woocommerce #reviews #respond .comment-reply-title {
  display: block; color: #f4ead7; margin: 0 0 .4rem;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: 1.4rem; font-weight: 500; line-height: 1.3;
}
.woocommerce #reviews #respond textarea,
.woocommerce #reviews #respond input[type="text"],
.woocommerce #reviews #respond input[type="email"],
.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] {
  width: 100%; box-sizing: border-box;
  background: #1b1230; color: #f4ead7;
  border: 1px solid rgba(207,167,95,.25); border-radius: .6rem;
  padding: .75rem .95rem; font-size: .95rem; line-height: 1.5;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.woocommerce #reviews #respond textarea { min-height: 9rem; resize: vertical; }
.woocommerce #reviews #respond textarea:focus,
.woocommerce #reviews #respond input:focus {
  outline: none; border-color: rgba(207,167,95,.6); box-shadow: 0 0 0 3px rgba(207,167,95,.12);
}
.woocommerce #reviews #respond ::placeholder { color: #6f6486; }
.woocommerce #reviews #respond label { color: #c8b6dd; }
.woocommerce #reviews #respond .required { color: #cfa75f; }
.woocommerce #reviews #respond .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: .55rem; }
.woocommerce #reviews #respond .comment-form-cookies-consent label { color: #9785ac; font-size: .82rem; line-height: 1.5; }
.woocommerce #reviews #respond input[type="checkbox"] { accent-color: #cfa75f; width: 1.05rem; height: 1.05rem; margin-top: .1rem; }
.woocommerce #reviews .comment-form-rating p.stars a { color: #cfa75f; }
.woocommerce #reviews #respond .comment-notes { color: #9785ac; font-size: .85rem; }
.woocommerce #reviews #respond .form-submit input { margin-top: .3rem; }

/* ---- reviews: serif heading, elegant empty state, refined form ---- */
.woocommerce #reviews #comments > h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: 1.5rem; font-weight: 500; color: #f4ead7; margin: 0 0 1.3rem; line-height: 1.3;
}
.woocommerce-noreviews {
  background: transparent; border: 0; border-radius: 0; padding: 0;
  margin: 0 0 1.5rem; color: #9785ac; font-style: italic; font-size: 1.02rem;
}
.woocommerce-noreviews::before { content: "◆  "; color: #cfa75f; font-style: normal; font-size: .7em; }
.woocommerce #reviews #respond .comment-notes { margin: 0 0 1.5rem; }
.woocommerce #reviews #respond .comment-form-rating { margin: 0 0 1.4rem; }
.woocommerce #reviews #respond .comment-form-rating label,
.woocommerce #reviews #respond p.comment-form-author label,
.woocommerce #reviews #respond p.comment-form-email label,
.woocommerce #reviews #respond p.comment-form-comment label {
  display: block; margin-bottom: .5rem; font-size: .82rem; letter-spacing: .03em;
}
.woocommerce #reviews .comment-form-rating p.stars { font-size: 1.5rem; letter-spacing: .1rem; margin: .2rem 0 0; }
.woocommerce #reviews #respond p.comment-form-author,
.woocommerce #reviews #respond p.comment-form-email { max-width: 30rem; margin: 0 0 1.3rem; }
.woocommerce #reviews #respond p.comment-form-comment { max-width: 42rem; margin: 0 0 1.3rem; }
.woocommerce #reviews #respond .form-submit { margin-top: 1.7rem; }

/* ---- cart ---- */
.woocommerce table.shop_table {
  background: rgba(255,255,255,.02); border: 1px solid rgba(207,167,95,.15);
  border-radius: 1rem; color: #c8b6dd;
}
.woocommerce table.shop_table th { color: #f4ead7; }
.woocommerce table.shop_table td, .woocommerce table.shop_table tbody td { border-top-color: rgba(207,167,95,.1); }
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce .quantity .qty, .select2-container--default .select2-selection--single {
  background: #1b1230 !important; color: #f4ead7 !important;
  border: 1px solid rgba(207,167,95,.25) !important; border-radius: .5rem;
}
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
  background: rgba(255,255,255,.02); border: 1px solid rgba(207,167,95,.15);
  border-radius: 1rem; padding: 1.2rem;
}
.woocommerce .cart_totals table, .woocommerce-checkout #order_review table { border: 0; background: transparent; }

/* ---- notices ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: rgba(255,255,255,.03); border-top: 3px solid #cfa75f; color: #c8b6dd;
  border-radius: .5rem;
}
.woocommerce-message::before, .woocommerce-info::before { color: #cfa75f; }
.woocommerce-error { border-top-color: #a85763; }

/* pagination */
.woocommerce nav.woocommerce-pagination ul { border-color: rgba(207,167,95,.2); }
.woocommerce nav.woocommerce-pagination ul li { border-color: rgba(207,167,95,.2); }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  color: #c8b6dd;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover { background: #cfa75f; color: #180e26; }

/* form labels */
.woocommerce form .form-row label, .woocommerce-checkout label, .woocommerce-account label { color: #c8b6dd; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { border-color: rgba(207,167,95,.15); }

/* ============================================================
   Block-based Checkout & Cart (WooCommerce Blocks / Gutenberg)
   — the newer floating-label checkout, which the classic
     .form-row rules above don't reach. Dark fields + readable text.
   ============================================================ */

/* step section titles ("Contact information", "Shipping address") */
.wc-block-components-checkout-step__title,
.wc-block-components-title,
.wp-block-woocommerce-checkout h2,
.wc-block-components-checkout-step__heading {
  color: #f4ead7 !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", Arial, sans-serif;
}
/* helper / guest / step description text */
.wc-block-components-checkout-step__description,
.wc-block-components-checkout-step__heading-content,
.wc-block-checkout__guest-checkout-notice,
.wc-block-components-address-card,
.wc-block-components-checkout-step__container .wc-block-components-text {
  color: #9785ac !important;
}

/* text / email / tel / select inputs */
.wc-block-components-text-input input,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-combobox input.components-combobox-control__input,
.wc-block-components-combobox-control input,
.wc-block-components-select .wc-blocks-components-select__select,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea,
.wc-block-components-address-form input,
.wc-block-components-address-form select {
  background: #1b1230 !important;
  color: #f4ead7 !important;
  border: 1px solid rgba(207,167,95,.28) !important;
  border-radius: .6rem !important;
}
/* floating labels — sit on the dark field, must be legible */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select label,
.wc-block-components-checkout-step label {
  color: #9b8bb3 !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-combobox.is-active label {
  color: #cfa75f !important;
}
/* placeholder fallback (some fields still use one) */
.wp-block-woocommerce-checkout ::placeholder,
.wc-block-components-text-input input::placeholder { color: #6f6486 !important; }

/* focus ring */
.wc-block-components-text-input.is-active input,
.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.wp-block-woocommerce-checkout select:focus,
.wp-block-woocommerce-checkout textarea:focus {
  outline: none !important;
  border-color: rgba(207,167,95,.6) !important;
  box-shadow: 0 0 0 2px rgba(207,167,95,.14) !important;
}
/* country combobox dropdown panel + options */
.wc-block-components-combobox-control .components-form-token-field__suggestions-list,
.components-combobox-control__suggestions-container ul {
  background: #211433 !important; border: 1px solid rgba(207,167,95,.25) !important;
  color: #f4ead7 !important;
}
.components-form-token-field__suggestion { color: #c8b6dd !important; }
.components-form-token-field__suggestion.is-selected { background: rgba(207,167,95,.18) !important; color: #f4ead7 !important; }
/* the chevron on the country select */
.wc-block-components-combobox .components-combobox-control__suggestions-container::after,
.wc-block-components-select::after { color: #cfa75f; }

/* checkbox ("receive exclusive emails", "use same address", "add a note") —
   outlined box: void fill + crisp gold border so it reads as a distinct
   control instead of blending into the dark panel. */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #100817 !important;
  border: 1.5px solid rgba(207,167,95,.7) !important;
  border-radius: .28rem !important;
  box-shadow: none !important;            /* kill WC's default light inset border */
  transition: background .18s ease, border-color .18s ease;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:hover {
  border-color: #cfa75f !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus,
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(207,167,95,.18) !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
  background: linear-gradient(180deg, #e8cd8f 0%, #cfa75f 100%) !important;
  border-color: #cfa75f !important;
}
.wc-block-components-checkbox__mark { fill: #180e26 !important; }   /* dark tick on gold */
.wc-block-components-checkbox__label { color: #c8b6dd !important; }

/* "+ Add apartment, suite, etc." and other link-style buttons */
.wc-block-components-address-form__address_2-toggle,
.wp-block-woocommerce-checkout a,
.wc-block-components-button.wc-block-components-button--text { color: #cfa75f !important; }

/* validation error text */
.wc-block-components-validation-error { color: #d98c98 !important; }

/* order summary sidebar */
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
  background: rgba(255,255,255,.02) !important;
  border: 1px solid rgba(207,167,95,.15) !important;
  border-radius: 1rem !important;
}
.wc-block-components-order-summary-item__description,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-product-name,
.wc-block-checkout__sidebar .wc-block-components-totals-item { color: #c8b6dd !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: #f4ead7 !important; }
.wc-block-components-panel__button, .wc-block-components-totals-coupon-link { color: #cfa75f !important; }

/* ============================================================
   Slide-out cart drawer — WooCommerce mini-cart, dark themed
   ============================================================ */
.mh-mini-cart { color: #c8b6dd; }
.mh-mini-cart ul.woocommerce-mini-cart,
.mh-mini-cart ul.cart_list { margin: 0; padding: 0; list-style: none; }

.mh-mini-cart li.woocommerce-mini-cart-item,
.mh-mini-cart ul.cart_list li {
  position: relative; list-style: none; margin: 0;
  padding: .9rem 1.7rem .9rem 4rem;          /* left clears the thumb, right clears the × */
  border-bottom: 1px solid rgba(207,167,95,.12);
}
.mh-mini-cart li img {
  position: absolute; left: 0; top: .9rem;
  width: 3.1rem !important; height: 3.1rem; object-fit: cover;
  border-radius: .55rem; border: 1px solid rgba(207,167,95,.2);
  margin: 0 !important; float: none !important;
}
.mh-mini-cart li > a:not(.remove) {
  display: block; color: #f4ead7; font-size: .82rem; line-height: 1.32; text-decoration: none;
}
.mh-mini-cart li > a:not(.remove):hover { color: #f3dca0; }
.mh-mini-cart .quantity { display: block; margin-top: .3rem; color: #9785ac; font-size: .8rem; }
.mh-mini-cart .quantity .woocommerce-Price-amount,
.mh-mini-cart .quantity .amount { color: #cfa75f; }
.mh-mini-cart a.remove,
.mh-mini-cart a.remove_from_cart_button {
  position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  display: flex; align-items: center; justify-content: center;
  width: 1.35rem; height: 1.35rem; padding: 0; line-height: 1;
  border-radius: 50%; color: #cfa75f !important; font-size: 1rem; font-weight: 400;
  border: 1px solid rgba(207,167,95,.3); background: rgba(207,167,95,.07);
  transition: all .2s ease;
}
.mh-mini-cart a.remove:hover { background: #a85763 !important; color: #f4ead7 !important; border-color: #a85763; }

.mh-mini-cart .woocommerce-mini-cart__total {
  display: flex; align-items: center; justify-content: space-between;
  margin: 1.1rem 0 1.2rem; padding: 1rem 0 0; border-top: 1px solid rgba(207,167,95,.15);
  color: #f4ead7; text-transform: uppercase; letter-spacing: .04em; font-size: .82rem;
}
.mh-mini-cart .woocommerce-mini-cart__total strong { font-weight: 600; }
.mh-mini-cart .woocommerce-mini-cart__total .woocommerce-Price-amount { color: #cfa75f; font-size: 1.1rem; }

.mh-mini-cart .woocommerce-mini-cart__buttons {
  display: flex; flex-direction: column; gap: .6rem; margin: 0; padding-top: .2rem;
}
/* the drawer lives outside the .woocommerce wrapper, so style buttons in full here */
.mh-mini-cart .woocommerce-mini-cart__buttons .button {
  display: block; width: 100%; box-sizing: border-box; text-align: center; margin: 0 !important;
  padding: .72rem 1.2rem; border-radius: 9999px; text-decoration: none;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", Arial, sans-serif;
  font-weight: 600; text-transform: uppercase; letter-spacing: .12em; font-size: .72rem;
  transition: all .25s ease;
}
/* View cart = ghost */
.mh-mini-cart .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background: transparent; color: #cfa75f;
  border: 1px solid rgba(207,167,95,.4); box-shadow: none;
}
.mh-mini-cart .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
  background: rgba(207,167,95,.08); color: #f3dca0;
}
/* Checkout = solid gold */
.mh-mini-cart .woocommerce-mini-cart__buttons .button.checkout {
  background: linear-gradient(180deg, #e8cd8f 0%, #cfa75f 100%); color: #180e26;
  border: 1px solid rgba(207,167,95,.6); box-shadow: 0 0 24px -8px rgba(243,220,160,.5);
}
.mh-mini-cart .woocommerce-mini-cart__buttons .button.checkout:hover {
  background: linear-gradient(180deg, #f3dca0 0%, #e8cd8f 100%); box-shadow: 0 0 36px -4px rgba(243,220,160,.7);
}
.mh-mini-cart .woocommerce-mini-cart__empty-message {
  color: #9785ac; text-align: center; padding: 3rem 1rem; font-size: .95rem; line-height: 1.6;
}

/* ============================================================
   My Account — login page (centered mystic card)
   ============================================================ */
/* on the logged-out account page the page <h1> and WC "Login" label are
   replaced by the card's own decorative header */
body.woocommerce-account:not(.logged-in) .mh-page > h1 { display: none; }
/* the default "Login" label — replaced by the card's own header */
body.woocommerce-account:not(.logged-in) .mh-page-content h2 { display: none; }

body.woocommerce-account:not(.logged-in) .woocommerce { max-width: 31rem; margin: 0 auto; }
body.woocommerce-account:not(.logged-in) #customer_login.u-columns { display: block; }
body.woocommerce-account:not(.logged-in) #customer_login .u-column1 { width: 100%; float: none; margin: 0; }

.woocommerce-account form.woocommerce-form-login {
  background: linear-gradient(180deg, rgba(44,28,66,.28), rgba(24,14,38,.12));
  border: 1px solid rgba(207,167,95,.2);
  border-radius: 1.25rem;
  padding: 2.4rem 2rem 2.1rem;
  box-shadow: 0 30px 70px -42px rgba(0,0,0,.85);
}

/* decorative header */
.mh-login-head { text-align: center; margin-bottom: 1.9rem; }
/* interactive mystic seal: counter-rotating layers, pulsing glow, hover boost */
.mh-login-seal {
  position: relative; display: inline-flex; color: #e8cd8f; outline: none;
  transition: transform .5s cubic-bezier(.22,1,.36,1), color .5s ease;
}
.mh-login-seal::before {
  content: ""; position: absolute; inset: -34%; border-radius: 50%;
  background: radial-gradient(circle, rgba(207,167,95,.4) 0%, rgba(207,167,95,0) 68%);
  filter: blur(5px); animation: mh-seal-glow 3.6s ease-in-out infinite; z-index: 0;
}
.mh-login-seal svg {
  position: relative; z-index: 1; width: 2.7rem; height: 2.7rem;
  filter: drop-shadow(0 0 6px rgba(207,167,95,.4)); transition: filter .5s ease;
}
.mh-seal-ring, .mh-seal-star { transform-box: fill-box; transform-origin: center; }
.mh-seal-ring { animation: mh-seal-spin 20s linear infinite; }
.mh-seal-star { animation: mh-seal-spin 15s linear infinite reverse; }
.mh-login-seal:hover, .mh-login-seal:focus-visible { transform: scale(1.12); color: #f3dca0; cursor: pointer; }
.mh-login-seal:hover svg, .mh-login-seal:focus-visible svg { filter: drop-shadow(0 0 12px rgba(243,220,160,.75)); }
.mh-login-seal:hover .mh-seal-ring, .mh-login-seal:focus-visible .mh-seal-ring { animation-duration: 5s; }
.mh-login-seal:hover .mh-seal-star, .mh-login-seal:focus-visible .mh-seal-star { animation-duration: 3.6s; }
@keyframes mh-seal-spin { to { transform: rotate(360deg); } }
@keyframes mh-seal-glow {
  0%, 100% { opacity: .5; transform: scale(.92); }
  50%      { opacity: 1;  transform: scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  .mh-seal-ring, .mh-seal-star, .mh-login-seal::before { animation: none; }
}
.mh-login-eyebrow {
  margin: .8rem 0 0;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", Arial, sans-serif;
  font-size: .6rem; text-transform: uppercase; letter-spacing: .3em; color: #cfa75f;
}
.mh-login-title { margin: .45rem 0 0; font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif; font-size: 1.95rem; line-height: 1.1; color: #f4ead7; }
.mh-login-sub { margin: .6rem auto 0; max-width: 22rem; font-size: .85rem; line-height: 1.55; color: #9785ac; }

/* fields */
.woocommerce-account form.woocommerce-form-login .form-row { margin: 0 0 1.15rem; padding: 0; }
.woocommerce-account form.woocommerce-form-login label:not(.woocommerce-form-login__rememberme) {
  display: block; margin-bottom: .45rem; color: #c8b6dd; font-size: .8rem; letter-spacing: .02em;
}
.woocommerce-account form.woocommerce-form-login .input-text {
  width: 100%; box-sizing: border-box;
  background: #1b1230 !important; color: #f4ead7 !important;
  border: 1px solid rgba(207,167,95,.25) !important; border-radius: .65rem;
  padding: .82rem .95rem; font-size: .95rem; line-height: 1.4;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.woocommerce-account form.woocommerce-form-login .input-text:focus {
  outline: none; border-color: rgba(207,167,95,.6) !important; box-shadow: 0 0 0 3px rgba(207,167,95,.12);
}
.woocommerce-account form.woocommerce-form-login .password-input,
.woocommerce-account form.woocommerce-form-login .woocommerce-password-hint { width: 100%; }
.woocommerce-account form.woocommerce-form-login .show-password-input { color: #9785ac; }

/* submit full-width, remember-me on its own line */
.woocommerce-account .woocommerce-form-login__submit {
  display: block !important; width: 100%; margin: 1rem 0 0 !important; min-height: 3rem; float: none;
}
.woocommerce-account .woocommerce-form-login__rememberme {
  display: inline-flex; align-items: center; gap: .55rem; margin: .2rem 0 0; color: #9785ac; font-size: .85rem; cursor: pointer;
}
.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"] {
  -webkit-appearance: none; appearance: none; position: relative; flex-shrink: 0;
  width: 1.1rem; height: 1.1rem; margin: 0; cursor: pointer;
  background: #100817; border: 1.5px solid rgba(207,167,95,.55); border-radius: .28rem;
  transition: background .18s ease, border-color .18s ease;
}
.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"]:hover { border-color: #cfa75f; }
.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"]:checked {
  background: linear-gradient(180deg, #e8cd8f, #cfa75f); border-color: #cfa75f;
}
.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"]:checked::after {
  content: ""; position: absolute; left: 5px; top: 1px; width: 4px; height: 8px;
  border: solid #180e26; border-width: 0 2px 2px 0; transform: rotate(45deg);
}

/* lost password */
.woocommerce-account .lost_password { text-align: center; margin: 1.2rem 0 0; }
.woocommerce-account .lost_password a { color: #cfa75f; font-size: .82rem; }
.woocommerce-account .lost_password a:hover { color: #f3dca0; }
