/* ==================================================================
   DETECTIVE DEVIL — WOOCOMMERCE SKIN
   Turns the WooCommerce store into part of the noir office:
   gilded buttons, dark cards, and a light "case file paper" panel for
   the cart / checkout / account screens (so the default WooCommerce
   forms stay perfectly readable).
   ================================================================== */

/* ---------------- Layout safety ---------------- */
/* Our own panel must never inherit WooCommerce page layouts. */
.woocommerce #content-area.content-area,
.woocommerce-page #content-area.content-area {
  float: none !important;
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 130px 30px 80px !important;
}
@media (max-width: 768px) {
  .woocommerce #content-area.content-area,
  .woocommerce-page #content-area.content-area {
    padding: 104px 20px 60px !important;
  }
}
.dd-woo-content {
  width: 100%;
}

/* WooCommerce prints its own archive title — we render our own. */
.woocommerce-products-header__title.page-title {
  display: none !important;
}
.woocommerce-products-header {
  margin: 0 !important;
}

/* ---------------- Notices ---------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  background: rgba(26, 10, 10, 0.8) !important;
  border-top: 3px solid var(--gold-mid, #c9a84c) !important;
  color: var(--text-cream, #f5ede3) !important;
  border-radius: 10px;
  padding: 16px 20px !important;
  margin-bottom: 26px !important;
  list-style: none;
  font-family: var(--font-cormorant, Georgia, serif);
  font-size: 1.02rem;
}
.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--gold-mid, #c9a84c) !important;
}
.woocommerce-error {
  border-top-color: #cd2653 !important;
}
.woocommerce-message .button,
.woocommerce-info .button {
  background: var(--gold-mid, #c9a84c) !important;
  color: var(--noir-black, #0a0505) !important;
}

/* ---------------- Loop furniture ---------------- */
.woocommerce-result-count {
  color: var(--text-muted, #a08070);
  font-size: 0.9rem;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.woocommerce-ordering {
  margin-bottom: 24px;
}
.woocommerce-ordering select {
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(201, 168, 76, 0.3);
  color: var(--text-cream, #f5ede3);
  padding: 10px 14px;
  border-radius: 8px;
  font-family: var(--font-cormorant, Georgia, serif);
}
.woocommerce .woocommerce-breadcrumb {
  display: none;
}
.woocommerce nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 46px;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
  overflow: visible;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(201, 168, 76, 0.25);
  border-radius: 8px;
  color: var(--gold-light, #e8d5b5);
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--gold-mid, #c9a84c);
  color: var(--noir-black, #0a0505);
}

/* ---------------- Product grid (noir book cards) ---------------- */
.woocommerce ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
  gap: 30px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  list-style: none !important;
  clear: none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
  display: none !important;
  content: none !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
  list-style: none !important;
}
.woocommerce ul.products li.product .book-card,
ul.products li.product .book-card {
  height: 100%;
}
.woocommerce ul.products li.product a img {
  margin: 0;
}

/* ---------------- Prices ---------------- */
.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.book-card-price .woocommerce-Price-amount,
.detail-price .woocommerce-Price-amount {
  color: var(--gold-mid, #c9a84c);
}
.book-card-price del,
.detail-price-row del,
.woocommerce div.product p.price del {
  opacity: 0.55;
  margin-right: 8px;
}
.book-card-price ins,
.woocommerce div.product p.price ins {
  background: none;
  text-decoration: none;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--gold-mid, #c9a84c);
  font-family: var(--font-cinzel, serif);
  font-size: 1.9rem;
  letter-spacing: 1px;
}

/* ---------------- Buttons everywhere ---------------- */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.add_to_cart_button,
.woocommerce button.button.single_add_to_cart_button,
.wc-block-components-button:not(.is-link) {
  background-color: var(--gold-mid, #c9a84c) !important;
  color: var(--noir-black, #0a0505) !important;
  border: 1px solid var(--gold-mid, #c9a84c);
  border-radius: 8px;
  font-family: var(--font-cinzel, serif);
  font-size: 0.82rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 13px 22px;
  line-height: 1.1;
  transition: var(--transition-smooth, all 0.4s ease);
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-button:not(.is-link):hover {
  background-color: var(--gold-dark, #a8892e) !important;
  color: var(--noir-black, #0a0505) !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(201, 168, 76, 0.28);
}
.woocommerce a.button.loading::after,
.woocommerce button.button.loading::after {
  color: var(--noir-black, #0a0505);
}
.woocommerce a.added_to_cart,
.woocommerce .button.wc-backward,
.woocommerce a.button.wc-forward {
  background: transparent !important;
  color: var(--gold-light, #e8d5b5) !important;
  border: 1px solid rgba(201, 168, 76, 0.35);
}
.woocommerce a.added_to_cart {
  display: inline-block;
  margin-top: 8px;
  padding: 8px 14px;
  font-size: 0.75rem;
}

/* ---------------- Single product ---------------- */
.woocommerce div.product {
  color: var(--text-cream, #f5ede3);
}
.woocommerce div.product .product_title {
  font-family: var(--font-playfair, "Playfair Display", serif);
  color: var(--gold-mid, #c9a84c);
  letter-spacing: 2px;
  font-size: 2.6rem;
  line-height: 1.2;
  margin-bottom: 10px;
}
.woocommerce div.product .woocommerce-product-rating {
  color: var(--gold-light, #e8d5b5);
}
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p {
  font-family: var(--font-cormorant, Georgia, serif);
  font-size: 1.15rem;
  line-height: 1.8;
  color: var(--text-cream, #f5ede3);
}
.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin: 26px 0;
}
.woocommerce div.product form.cart div.quantity {
  float: none;
  margin: 0;
}
.woocommerce .quantity input.qty,
.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce input[type="number"] {
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(201, 168, 76, 0.3);
  color: var(--text-cream, #f5ede3);
  border-radius: 8px;
  padding: 12px;
  width: 92px;
  height: 48px;
  font-family: var(--font-cormorant, Georgia, serif);
  font-size: 1rem;
}
.woocommerce .variations td.label {
  color: var(--gold-light, #e8d5b5);
  padding-right: 12px;
}
.woocommerce .variations select {
  background: rgba(0, 0, 0, 0.5);
  color: var(--text-cream, #f5ede3);
  border: 1px solid rgba(201, 168, 76, 0.3);
  border-radius: 8px;
  padding: 10px;
}
.woocommerce div.product .stock {
  color: var(--gold-light, #e8d5b5);
  letter-spacing: 1px;
}
.woocommerce div.product .out-of-stock {
  color: #e07a7a;
}
.woocommerce div.product .product_meta {
  margin-top: 22px;
  font-size: 0.9rem;
  color: var(--text-muted, #a08070);
}
.woocommerce div.product .product_meta a {
  color: var(--gold-mid, #c9a84c);
}

/* ---------------- Tabs, related products, sale badge ---------------- */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 60px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin: 0;
  border-bottom: 1px solid rgba(201, 168, 76, 0.2);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none;
  content: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: rgba(26, 10, 10, 0.7);
  border: 1px solid rgba(201, 168, 76, 0.2);
  border-radius: 8px 8px 0 0;
  margin: 0;
  padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
  content: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--gold-light, #e8d5b5);
  font-family: var(--font-cinzel, serif);
  font-size: 0.82rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 14px 22px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: rgba(201, 168, 76, 0.16);
  border-bottom-color: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--gold-mid, #c9a84c);
}
.woocommerce div.product .woocommerce-tabs .panel {
  background: rgba(26, 10, 10, 0.6);
  border: 1px solid rgba(201, 168, 76, 0.16);
  border-top: 0;
  border-radius: 0 10px 10px 10px;
  padding: 28px;
  margin: 0 0 40px;
  color: var(--text-cream, #f5ede3);
  font-family: var(--font-cormorant, Georgia, serif);
  font-size: 1.05rem;
  line-height: 1.8;
}
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce .cross-sells > h2 {
  font-family: var(--font-playfair, "Playfair Display", serif);
  color: var(--gold-mid, #c9a84c);
  letter-spacing: 2px;
  font-size: 1.7rem;
  margin: 0 0 22px;
}
.woocommerce .related.products,
.woocommerce .upsells.products,
.woocommerce .cross-sells {
  margin-top: 60px;
}
.woocommerce span.onsale {
  background: var(--gold-mid, #c9a84c);
  color: var(--noir-black, #0a0505);
  border-radius: 8px;
  font-family: var(--font-cinzel, serif);
  font-size: 0.7rem;
  letter-spacing: 2px;
  min-height: 0;
  line-height: 1;
  padding: 8px 12px;
  top: 10px;
  left: 10px;
  right: auto;
}
.woocommerce-product-gallery img,
.woocommerce div.product div.images img {
  border-radius: 12px;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
  border-radius: 6px;
}

/* ==================================================================
   CART / CHECKOUT / ACCOUNT — light "case file paper" panel
   ================================================================== */
.dd-woo-panel--light {
  background: #f6efe4;
  border-color: rgba(0, 0, 0, 0.08);
  color: #2c1810;
}
.dd-woo-panel--light .section-title,
.dd-woo-panel--light h1,
.dd-woo-panel--light h2,
.dd-woo-panel--light h3 {
  color: #1a0a0a;
  text-shadow: none;
}
.dd-woo-panel--light .section-subtitle,
.dd-woo-panel--light .breadcrumb,
.dd-woo-panel--light .woocommerce-result-count {
  color: #6b5442;
}
.dd-woo-panel--light .breadcrumb a {
  color: #8a6d1f;
}
.dd-woo-panel--light a:not(.button):not(.wc-block-components-button) {
  color: #8a6d1f;
}
.dd-woo-panel--light .woocommerce-message,
.dd-woo-panel--light .woocommerce-info,
.dd-woo-panel--light .woocommerce-error {
  background: #fff !important;
  color: #2c1810 !important;
}
.dd-woo-panel--light input[type="text"],
.dd-woo-panel--light input[type="email"],
.dd-woo-panel--light input[type="tel"],
.dd-woo-panel--light input[type="password"],
.dd-woo-panel--light input[type="number"],
.dd-woo-panel--light input[type="search"],
.dd-woo-panel--light select,
.dd-woo-panel--light textarea,
.dd-woo-panel--light .select2-container .select2-selection {
  background: #fff !important;
  color: #2c1810 !important;
  border: 1px solid #ddd0ba !important;
  border-radius: 8px !important;
}
.dd-woo-panel--light label,
.dd-woo-panel--light .woocommerce-form__label,
.dd-woo-panel--light .wc-block-components-checkbox__label {
  color: #4a3527;
}
.dd-woo-panel--light table.shop_table {
  background: #fff;
  color: #2c1810;
  border: 1px solid #e2d7c3;
}
.dd-woo-panel--light table.shop_table th,
.dd-woo-panel--light table.shop_table td {
  color: #2c1810;
}
.dd-woo-panel--light table.shop_table tbody tr {
  background: transparent;
}
.dd-woo-panel--light .cart_totals,
.dd-woo-panel--light .woocommerce-checkout-review-order,
.dd-woo-panel--light #order_review {
  background: #fff;
  border: 1px solid #e2d7c3;
  border-radius: 12px;
  padding: 24px;
}
.dd-woo-panel--light .wc-block-components-title,
.dd-woo-panel--light .wc-block-components-panel__button,
.dd-woo-panel--light .wc-block-components-totals-item__label,
.dd-woo-panel--light .wc-block-components-order-summary-item__description,
.dd-woo-panel--light .wc-block-cart-item__total,
.dd-woo-panel--light .wc-block-components-product-name {
  color: #2c1810;
}
.dd-woo-panel--light .wc-block-components-order-summary,
.dd-woo-panel--light .wc-block-cart__submit-container {
  background: #fff;
  border-radius: 12px;
}

/* ---------------- Classic cart table ---------------- */
.woocommerce table.shop_table {
  border: 1px solid rgba(201, 168, 76, 0.22);
  border-radius: 10px;
  background: rgba(26, 10, 10, 0.55);
  color: var(--text-cream, #f5ede3);
}
.woocommerce table.shop_table th {
  font-family: var(--font-cinzel, serif);
  font-size: 0.78rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold-light, #e8d5b5);
}
.woocommerce table.shop_table td {
  color: var(--text-cream, #f5ede3);
  border-top: 1px solid rgba(201, 168, 76, 0.15);
}
.woocommerce table.shop_table td.product-name a {
  color: var(--gold-mid, #c9a84c);
}
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 {
  font-family: var(--font-playfair, "Playfair Display", serif);
  color: var(--gold-mid, #c9a84c);
  letter-spacing: 2px;
}
.woocommerce a.remove {
  background: rgba(0, 0, 0, 0.35);
  color: var(--gold-light, #e8d5b5) !important;
  border-radius: 50%;
}
.woocommerce a.remove:hover {
  background: #cd2653;
  color: #fff !important;
}
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce .woocommerce-form-login {
  border: 1px solid rgba(201, 168, 76, 0.22);
  border-radius: 12px;
  background: rgba(26, 10, 10, 0.55);
  color: var(--text-cream, #f5ede3);
}

/* ---------------- My account ---------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border: 1px solid rgba(201, 168, 76, 0.25);
  border-radius: 999px;
  padding: 8px 16px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
  background: var(--gold-mid, #c9a84c);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--noir-black, #0a0505);
}
.dd-woo-panel--light.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
.dd-woo-panel--light.woocommerce-account .woocommerce-MyAccount-content a {
  color: #2c1810;
}

/* ---------------- Light panel corrections (must stay last) ---------------- */
.dd-woo-panel--light table.shop_table,
.dd-woo-panel--light .shop_table {
  background: #fff !important;
  color: #2c1810 !important;
  border-color: #e2d7c3 !important;
}
.dd-woo-panel--light table.shop_table th,
.dd-woo-panel--light table.shop_table td,
.dd-woo-panel--light .shop_table th,
.dd-woo-panel--light .shop_table td {
  color: #2c1810 !important;
  border-color: #e8dcc6 !important;
}
.dd-woo-panel--light .woocommerce-Price-amount,
.dd-woo-panel--light .woocommerce-Price-currencySymbol,
.dd-woo-panel--light .order-total .amount {
  color: #1a0a0a !important;
}
.dd-woo-panel--light .cart-collaterals .cart_totals h2,
.dd-woo-panel--light .woocommerce-checkout h3,
.dd-woo-panel--light h2,
.dd-woo-panel--light h3 {
  color: #1a0a0a !important;
}
.dd-woo-panel--light a.remove {
  background: rgba(201, 168, 76, 0.22) !important;
  color: #7a5c14 !important;
}
.dd-woo-panel--light a.remove:hover {
  background: #cd2653 !important;
  color: #fff !important;
}
.dd-woo-panel--light .woocommerce-checkout-review-order table.shop_table {
  border: 0 !important;
}




