/* ============================================================
   woocommerce.css — DMJ WooCommerce styling
   Targets WooCommerce Blocks checkout + classic WC pages
   ============================================================ */

/* ── Page background ── */
.woocommerce-checkout,
.woocommerce-order-pay,
.woocommerce-order-received { background: #f8f6f1 !important; }

/* ── Hide breadcrumb + default page title ── */
.woocommerce-checkout .woocommerce-breadcrumb,
.woocommerce-checkout nav.woocommerce-breadcrumb,
.woocommerce-checkout ol.breadcrumbs,
.woocommerce-checkout .breadcrumbs,
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout h1.page-title,
.woocommerce-checkout .entry-header,
.woocommerce-checkout .page-header,
.woocommerce-order-pay .woocommerce-breadcrumb,
.woocommerce-order-pay nav.woocommerce-breadcrumb,
.woocommerce-order-pay ol.breadcrumbs,
.woocommerce-order-pay h1.entry-title { display: none !important; }

/* ── Teal hero (injected via render_block PHP filter) ── */
.dmj-checkout-hero {
  background: linear-gradient(135deg, #0a7f7d 0%, #10b3b0 50%, #5fc7c4 100%);
  padding: 56px 24px 52px;
  text-align: center;
  color: #fff;
}
.dmj-checkout-hero__inner { max-width: 680px; margin: 0 auto; }
.dmj-checkout-hero__eyebrow {
  display: block;
  font-size: 11px; letter-spacing: 3px; text-transform: uppercase;
  font-weight: 700; color: rgba(255,255,255,.75); margin-bottom: 14px;
}
.dmj-checkout-hero__title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 52px; font-style: italic; font-weight: 500;
  color: #fff; letter-spacing: -1.5px; line-height: 1.05; margin-bottom: 16px;
}
.dmj-checkout-hero__summary {
  font-size: 15px; color: rgba(255,255,255,.85);
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px;
}
.dmj-checkout-hero__sep { opacity: .5; }
.dmj-checkout-hero__summary strong { color: #fff; }

/* ── WC Blocks: outer wrapper ── */
.wp-block-woocommerce-checkout,
.wc-block-checkout { background: transparent !important; }

/* ── WC Blocks: step headings (Contact information, Billing address…) ── */
.wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__heading-content {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  font-style: italic !important;
  font-weight: 500 !important;
  color: #1f1f2e !important;
  letter-spacing: -.5px !important;
}

/* ── WC Blocks: form inputs ── */
.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="password"],
.wc-block-components-text-input .components-text-control__input,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input {
  border: 1.5px solid #ddd9d0 !important;
  border-radius: 10px !important;
  padding: 13px 16px !important;
  font-size: 14px !important;
  color: #1f1f2e !important;
  background: #fff !important;
  transition: border-color .2s, box-shadow .2s !important;
  outline: none !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-text-input .components-text-control__input:focus {
  border-color: #0a7f7d !important;
  box-shadow: 0 0 0 3px rgba(10,127,125,.1) !important;
}

/* ── WC Blocks: labels ── */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-country-input label,
.wc-block-components-state-input label {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !important;
  color: #7e7a8b !important;
}

/* ── WC Blocks: checkboxes + radios ── */
.wc-block-components-checkbox__input[type="checkbox"],
.wc-block-components-radio-control__input[type="radio"] {
  accent-color: #0a7f7d !important;
}

/* ── WC Blocks: order summary ── */
.wc-block-components-order-summary {
  background: #fff !important;
  border-radius: 12px !important;
  border: 1px solid #ece5da !important;
  overflow: hidden !important;
}
.wc-block-components-order-summary__button-text {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 18px !important;
  font-style: italic !important;
  color: #1f1f2e !important;
}
.wc-block-components-order-summary-item__name {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 16px !important;
  font-style: italic !important;
  color: #1f1f2e !important;
}
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__individual-prices {
  font-size: 12px !important;
  color: #7e7a8b !important;
}

/* ── WC Blocks: totals ── */
.wc-block-components-totals-item__label { color: #5a5665 !important; font-size: 14px !important; }
.wc-block-components-totals-item__value { color: #1f1f2e !important; font-size: 14px !important; }

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  font-style: italic !important;
  font-weight: 600 !important;
  color: #0a7f7d !important;
}

/* ── WC Blocks: payment method labels ── */
.wc-block-components-payment-method-label__content {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1f1f2e !important;
}

/* ── WC Blocks: PLACE ORDER button ── */
.wc-block-components-checkout-place-order-button {
  background: linear-gradient(135deg, #d93a2c, #e85d4a) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 40px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .5px !important;
  padding: 18px 32px !important;
  width: 100% !important;
  box-shadow: 0 4px 20px rgba(217,58,44,.3) !important;
  transition: opacity .2s, transform .15s !important;
  cursor: pointer !important;
}
.wc-block-components-checkout-place-order-button:hover {
  opacity: .9 !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}

/* ── WC Blocks: notices ── */
.wc-block-components-notice-banner.is-error {
  background: #fff0ef !important;
  border-color: #d93a2c !important;
  border-radius: 8px !important;
}
.wc-block-components-notice-banner.is-success {
  background: #e8faf4 !important;
  border-color: #0a7f7d !important;
  border-radius: 8px !important;
}

/* ── Classic WC: order-pay page ── */
.dmj-wc-wrap { max-width: 760px; margin: 0 auto; padding: 40px 24px 80px; }

.woocommerce-order-pay h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 40px !important;
  font-style: italic !important;
  font-weight: 500 !important;
  color: #1f1f2e !important;
  letter-spacing: -1px !important;
  margin-bottom: 28px !important;
  border: none !important;
  padding: 0 !important;
}
.woocommerce-order-pay .woocommerce-info { display: none !important; }

.woocommerce table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid #ece5da !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
  font-size: 14px !important;
}
.woocommerce table.shop_table thead th {
  background: #0a7f7d !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 12px 20px !important;
  border: none !important;
}
.woocommerce table.shop_table tbody td,
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
  padding: 14px 20px !important;
  border-bottom: 1px solid #ece5da !important;
  vertical-align: top !important;
}
.woocommerce table.shop_table tfoot .order-total th,
.woocommerce table.shop_table tfoot .order-total td {
  color: #0a7f7d !important;
  font-size: 18px !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-style: italic !important;
}
#payment {
  background: #fff !important;
  border: 1px solid #ece5da !important;
  border-radius: 12px !important;
  padding: 28px !important;
}
#payment #place_order,
.woocommerce #payment #place_order {
  display: block !important;
  width: 100% !important;
  padding: 18px !important;
  background: linear-gradient(135deg, #d93a2c, #e85d4a) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 40px !important;
  box-shadow: 0 4px 20px rgba(217,58,44,.3) !important;
  cursor: pointer !important;
}

/* ── Order received / thank-you ── */
p.woocommerce-thankyou-order-received {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 36px !important;
  font-style: italic !important;
  color: #0a7f7d !important;
}
.woocommerce-order-overview {
  list-style: none !important;
  padding: 24px !important;
  background: #fff !important;
  border: 1px solid #ece5da !important;
  border-radius: 16px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  margin-bottom: 32px !important;
}
.woocommerce-order-overview li {
  font-size: 12px !important;
  color: #7e7a8b !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  font-weight: 700 !important;
}
.woocommerce-order-overview li strong {
  display: block !important;
  font-size: 20px !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-style: italic !important;
  color: #1f1f2e !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-top: 4px !important;
}

/* ── Breadcrumb: hide on all WC pages ── */
body.woocommerce-checkout .woocommerce-breadcrumb,
body.woocommerce-checkout nav.woocommerce-breadcrumb,
body.woocommerce-checkout .entry-content > nav,
body.woocommerce-checkout .entry-content > ol,
body.woocommerce-checkout ol.breadcrumb,
body.woocommerce-checkout ol.breadcrumbs,
body.woocommerce-checkout .breadcrumbs,
body.woocommerce-checkout .breadcrumb,
body.woocommerce-order-pay .woocommerce-breadcrumb,
body.woocommerce-order-pay .entry-content > nav,
body.woocommerce-order-pay .entry-content > ol { display: none !important; }

/* ── Checkout page title (hide default "Checkout" h1) ── */
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout h1.page-title,
body.woocommerce-checkout .entry-header { display: none !important; }

/* ── Constrain checkout content width + padding ── */
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-block-post-content {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout,
.wc-block-checkout {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 40px 40px 80px !important;
  box-sizing: border-box !important;
}

/* ── Checkout form sections: white card feel ── */
.wc-block-checkout__main .wc-block-components-checkout-step {
  background: #fff !important;
  border: 1px solid #ece5da !important;
  border-radius: 16px !important;
  padding: 28px 32px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.04) !important;
}

/* ── Sidebar (order summary) — sticky on desktop only ── */
.wc-block-checkout__sidebar {
  position: sticky !important;
  top: 100px !important;
}

/* ── Payment section card ── */
.wc-block-components-checkout-step--payment-method {
  background: #fff !important;
  border: 1px solid #ece5da !important;
  border-radius: 16px !important;
  padding: 28px 32px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.04) !important;
}
.wc-block-components-payment-method-label__content {
  font-size: 15px !important; font-weight: 600 !important; color: #1f1f2e !important;
}
.wc-block-components-payment-method-description {
  font-size: 13px !important; color: #7e7a8b !important;
}

/* ── Order received page: width constraint ── */
body.woocommerce-order-received .entry-content,
body.woocommerce-order-received .wp-block-post-content {
  max-width: 100% !important; padding: 0 !important; margin: 0 !important;
}

/* WC Blocks order-confirmation block */
.wp-block-woocommerce-order-confirmation,
.wc-block-order-confirmation {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 40px 40px 80px !important;
  box-sizing: border-box !important;
}

/* Classic WC thank-you wrapper */
body.woocommerce-order-received .dmj-wc-wrap,
body.woocommerce-order-received .woocommerce {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 40px 40px 80px !important;
  box-sizing: border-box !important;
}

/* Section headings on order-received */
body.woocommerce-order-received h2,
.wc-block-order-confirmation h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 28px !important; font-style: italic !important;
  font-weight: 500 !important; color: #1f1f2e !important;
  letter-spacing: -.5px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #ece5da !important;
  margin: 28px 0 20px !important;
}

/* Order table on thank-you page */
body.woocommerce-order-received table.shop_table {
  width: 100% !important; border-collapse: collapse !important;
  border: 1px solid #ece5da !important; border-radius: 12px !important;
  overflow: hidden !important; margin-bottom: 32px !important;
}
body.woocommerce-order-received table.shop_table thead th {
  background: #0a7f7d !important; color: #fff !important;
  font-size: 10px !important; letter-spacing: 1.5px !important;
  text-transform: uppercase !important; padding: 12px 20px !important; border: none !important;
}
body.woocommerce-order-received table.shop_table tbody td,
body.woocommerce-order-received table.shop_table tfoot th,
body.woocommerce-order-received table.shop_table tfoot td {
  padding: 14px 20px !important; border-bottom: 1px solid #ece5da !important;
}
body.woocommerce-order-received table.shop_table tfoot .order-total th,
body.woocommerce-order-received table.shop_table tfoot .order-total td {
  color: #0a7f7d !important; font-size: 18px !important;
  font-family: "Cormorant Garamond", Georgia, serif !important; font-style: italic !important;
}

/* ── Cart page ── */
body.woocommerce-cart { background: #f8f6f1 !important; }

/* Hide "Cart" page title + breadcrumb — all possible selectors */
body.woocommerce-cart h1,
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart h1.page-title,
body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart .entry-header,
body.woocommerce-cart .page-header,
body.woocommerce-cart .woocommerce-breadcrumb,
body.woocommerce-cart nav.woocommerce-breadcrumb,
body.woocommerce-cart .entry-content > ol,
body.woocommerce-cart ol.breadcrumbs { display: none !important; }

/* Cart page teal hero */
body.woocommerce-cart .dmj-checkout-hero { display: none; }

/* Constrain cart width */
body.woocommerce-cart .entry-content,
body.woocommerce-cart .wp-block-post-content { max-width: 100% !important; padding: 0 !important; }
.wp-block-woocommerce-cart,
.wc-block-cart {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 48px 40px 80px !important;
  box-sizing: border-box !important;
}

/* Cart page heading (injected before block) */
.dmj-cart-hero {
  background: linear-gradient(135deg, #0a7f7d 0%, #10b3b0 50%, #5fc7c4 100%);
  padding: 48px 24px 44px; text-align: center; color: #fff;
}
.dmj-cart-hero__title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 48px; font-style: italic; font-weight: 500;
  color: #fff; letter-spacing: -1.5px; line-height: 1.05; margin: 0;
}
.dmj-cart-hero__sub {
  font-size: 14px; color: rgba(255,255,255,.8); margin: 10px 0 0;
}

/* Cart items table (WC Blocks) */
.wc-block-cart-items { width: 100% !important; border-collapse: collapse !important; }
.wc-block-cart-items__header {
  background: #0a7f7d !important;
  color: #fff !important; font-size: 10px !important;
  font-weight: 700 !important; letter-spacing: 1.5px !important;
  text-transform: uppercase !important; padding: 12px 16px !important;
}
.wc-block-cart-item { border-bottom: 1px solid #ece5da !important; padding: 16px 0 !important; }
.wc-block-cart-item__product-name {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 18px !important; font-style: italic !important;
  color: #1f1f2e !important; font-weight: 500 !important;
}
.wc-block-cart-item__prices .wc-block-components-product-price {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 20px !important; font-style: italic !important; color: #0a7f7d !important;
}
.wc-block-cart-item__product-metadata { font-size: 12px !important; color: #7e7a8b !important; }

/* Cart totals sidebar */
.wc-block-cart__totals-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important; font-style: italic !important;
  font-weight: 500 !important; color: #1f1f2e !important;
  border-bottom: 1px solid #ece5da !important; padding-bottom: 12px !important; margin-bottom: 16px !important;
}

/* Proceed to Checkout button */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button.wc-block-cart__submit-button {
  display: block !important; width: 100% !important;
  padding: 18px !important;
  background: linear-gradient(135deg, #d93a2c, #e85d4a) !important;
  color: #fff !important; border: none !important; border-radius: 40px !important;
  font-size: 15px !important; font-weight: 700 !important; letter-spacing: .5px !important;
  cursor: pointer !important; text-align: center !important; text-decoration: none !important;
  box-shadow: 0 4px 20px rgba(217,58,44,.3) !important;
  transition: opacity .2s, transform .15s !important;
}
.wc-block-cart__submit-button:hover { opacity: .9 !important; transform: translateY(-1px) !important; color: #fff !important; }

/* ── Responsive ── */
@media (max-width: 768px) {
  .dmj-checkout-hero { padding: 40px 16px 36px; }
  .dmj-checkout-hero__title { font-size: 36px; }
  .dmj-wc-wrap { padding: 24px 16px 48px; }
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  .wc-block-checkout { padding: 24px 16px 48px !important; }
  .wc-block-checkout__main .wc-block-components-checkout-step { padding: 20px !important; }
  .wp-block-woocommerce-order-confirmation,
  .wc-block-order-confirmation,
  body.woocommerce-order-received .dmj-wc-wrap { padding: 24px 16px 48px !important; }
  .wp-block-woocommerce-cart,
  .wc-block-cart { padding: 24px 16px 48px !important; }

  /* Un-stick order summary on mobile so it doesn't overlap form content */
  .wc-block-checkout__sidebar {
    position: static !important;
    top: auto !important;
  }
}
