/* =====================================================================
   DENTALHITEC STOREFRONT — minimal luxury, site-wide
   Covers: shop loop, single product, cart (classic + block),
   CHECKOUT BLOCK, my-account, payment/express area, titles.
   Palette: navy #0B1D3A, accent #2A4A96, sky #63ABCE. Font: DM Sans.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

:root{
  --dh-navy:#0B1D3A; --dh-accent:#2A4A96; --dh-sky:#63ABCE;
  --dh-ink:#1a2332; --dh-muted:#6b7280; --dh-line:#e7eaf0;
  --dh-soft:#f7f9fc; --dh-white:#fff;
}

/* ---------- Base typography across all Woo (classic + block) ---------- */
.woocommerce, .woocommerce-page, .wc-block-checkout, .wc-block-cart,
.wp-block-woocommerce-checkout, .woocommerce-account{
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--dh-ink);
}
.woocommerce h1,.woocommerce h2,.woocommerce h3,
.woocommerce .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'DM Sans',sans-serif !important;
  font-weight:700 !important; color:var(--dh-navy) !important;
  letter-spacing:-0.01em; line-height:1.2;
}

/* ---------- Right-size the big page titles (Checkout / Orders / Cart) ---------- */
.woocommerce-checkout .entry-title,.woocommerce-checkout h1.entry-title,
.woocommerce-checkout .wp-block-post-title,.woocommerce-checkout .page-title,
.woocommerce-cart .entry-title,.woocommerce-cart .wp-block-post-title,.woocommerce-cart .page-title,
.woocommerce-account .entry-title,.woocommerce-account h1.entry-title,
.woocommerce-account .wp-block-post-title,.woocommerce-account .page-title{
  font-size:2.1rem !important; font-weight:700 !important;
  color:var(--dh-navy) !important; margin-bottom:0.6em !important; letter-spacing:-0.01em;
}

/* ---------- Buttons (global, classic + block) ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce #respond input#submit,
.wc-block-components-button,.wp-block-button__link,
.wc-block-components-checkout-place-order-button,
.woocommerce #place_order{
  background-color:var(--dh-navy) !important; background-image:none !important;
  color:var(--dh-white) !important; border:1px solid var(--dh-navy) !important;
  border-radius:6px !important; font-family:'DM Sans',sans-serif !important;
  font-weight:600 !important; letter-spacing:0.04em !important; text-transform:uppercase !important;
  font-size:0.82rem !important; padding:0.95em 2em !important; box-shadow:none !important;
  text-shadow:none !important; transition:all .2s ease !important; line-height:1.2 !important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.wc-block-components-button:hover,.wc-block-components-checkout-place-order-button:hover,
.woocommerce #place_order:hover{
  background-color:var(--dh-accent) !important; border-color:var(--dh-accent) !important; color:#fff !important;
}
/* secondary/ghost (e.g. "Return to cart", "View cart" after add) */
.woocommerce a.added_to_cart{
  background:transparent !important; color:var(--dh-navy) !important;
  border:1px solid var(--dh-navy) !important; border-radius:6px !important;
  text-transform:uppercase !important; letter-spacing:0.04em !important;
  font-weight:600 !important; font-size:0.78rem !important; padding:0.7em 1.4em !important; text-decoration:none !important;
}

/* ---------- Links & accents (kill theme pink) ---------- */
.woocommerce a,.woocommerce-page a,.woocommerce-MyAccount-navigation a{ color:var(--dh-accent); }
.woocommerce a:hover,.woocommerce-page a:hover{ color:var(--dh-sky); }

/* ---------- Sale badge ---------- */
.woocommerce span.onsale{
  background-color:var(--dh-sky) !important; color:#fff !important; border-radius:3px !important;
  font-weight:600 !important; text-transform:uppercase !important; letter-spacing:0.05em !important;
  font-size:0.68rem !important; min-height:auto !important; min-width:auto !important;
  line-height:1 !important; padding:0.5em 0.8em !important; top:12px; left:12px;
}

/* ---------- Shop loop — minimal cards ---------- */
.woocommerce ul.products{ gap:8px; }
.woocommerce ul.products li.product{ text-align:center; padding:8px; }
.woocommerce ul.products li.product img{ border-radius:6px; margin-bottom:0.6em; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:1rem !important; padding:0.7em 0 0.3em !important; color:var(--dh-navy) !important;
}
.woocommerce ul.products li.product .price{
  color:var(--dh-navy) !important; font-weight:700 !important; font-size:1rem !important;
}
.woocommerce ul.products li.product .price del{ color:var(--dh-muted) !important; font-weight:400 !important; opacity:.7; }

/* ---------- Single product ---------- */
.woocommerce div.product p.price,.woocommerce div.product span.price{
  color:var(--dh-navy) !important; font-weight:700 !important; font-size:1.6rem !important;
}
.woocommerce div.product div.images img{ box-shadow:none !important; border-radius:8px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent !important; border:none !important;
  border-bottom:2px solid transparent !important; border-radius:0 !important;
  padding:0 !important; margin:0 1.5em 0 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom:2px solid var(--dh-navy) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  color:var(--dh-muted) !important; font-weight:600 !important; text-transform:uppercase !important;
  letter-spacing:0.03em !important; font-size:0.82rem !important; padding:0.8em 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--dh-navy) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border-bottom:1px solid var(--dh-line) !important; }

/* ---------- Inputs — classic + block, unified clean style ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select__select{
  border:1px solid var(--dh-line) !important; border-radius:6px !important;
  padding:0.85em 1em !important; font-family:'DM Sans',sans-serif !important;
  font-size:0.95rem !important; color:var(--dh-ink) !important; background:#fff !important;
}
.woocommerce form .form-row input.input-text:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-text-input.is-active input{
  border-color:var(--dh-accent) !important; outline:none !important;
  box-shadow:0 0 0 2px rgba(42,74,150,.10) !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input label{ color:var(--dh-muted) !important; }

/* ===================================================================
   CHECKOUT BLOCK — the modern checkout
   =================================================================== */
.wc-block-checkout{ --wc-block-components-color-accent:var(--dh-navy); }

/* Section step titles */
.wc-block-components-checkout-step__title,
.wc-block-components-title.wc-block-components-checkout-step__title{
  font-family:'DM Sans',sans-serif !important; font-weight:700 !important;
  color:var(--dh-navy) !important; font-size:1.05rem !important;
}
.wc-block-components-checkout-step__description{ color:var(--dh-muted) !important; }

/* Express payment (Apple Pay / Google Pay / Link) container */
.wc-block-components-express-payment{
  border:1px solid var(--dh-line) !important; border-radius:10px !important;
  padding:18px 18px 8px !important; background:#fff !important; margin-bottom:8px !important;
}
.wc-block-components-express-payment__title-container,
.wc-block-components-express-payment__title{
  color:var(--dh-muted) !important; text-transform:uppercase !important;
  letter-spacing:0.12em !important; font-size:0.7rem !important; font-weight:600 !important;
}
.wc-block-components-express-payment__event-buttons > li{ margin-bottom:10px !important; }
.wc-block-components-express-payment__event-buttons button,
.wc-block-components-express-payment__event-buttons > li > *{
  border-radius:6px !important; min-height:46px !important; overflow:hidden !important;
}
/* "Or continue below" divider */
.wc-block-components-express-payment-continue-rule{
  color:var(--dh-muted) !important; text-transform:uppercase !important;
  letter-spacing:0.1em !important; font-size:0.72rem !important; margin:18px 0 !important;
}
.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after{ border-color:var(--dh-line) !important; }

/* Shipping option rows */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option{
  border:1px solid var(--dh-line) !important; border-radius:8px !important;
  padding:14px 16px 14px 44px !important; margin-bottom:10px !important; background:#fff !important;
}
.wc-block-components-radio-control__option-checked{
  border-color:var(--dh-navy) !important; box-shadow:0 0 0 1px var(--dh-navy) inset !important;
}
.wc-block-components-radio-control__input:checked{ accent-color:var(--dh-navy) !important; }

/* Sidebar / order summary */
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wc-block-components-order-summary{
  border:1px solid var(--dh-line) !important; border-radius:12px !important; background:#fff !important;
}
.wc-block-components-order-summary .wc-block-components-title,
.wc-block-components-checkout-order-summary__title{
  font-family:'DM Sans',sans-serif !important; font-weight:700 !important; color:var(--dh-navy) !important;
}
/* CRITICAL: constrain the oversized product images in the order summary */
.wc-block-components-order-summary-item__image,
.wc-block-components-order-summary-item__image img,
.wc-block-components-order-summary img{
  width:48px !important; height:48px !important; max-width:48px !important;
  border-radius:6px !important; object-fit:cover !important;
}
.wc-block-components-order-summary-item__quantity{ /* the count badge */
  background:var(--dh-navy) !important;
}
.wc-block-components-totals-item__label{ color:var(--dh-ink) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--dh-navy) !important; font-weight:700 !important;
}

/* Our injected "Edit cart" link */
.dh-edit-cart{
  display:inline-block; margin:0 0 14px; font-size:0.8rem !important;
  font-weight:600 !important; color:var(--dh-accent) !important;
  text-transform:uppercase; letter-spacing:0.04em; text-decoration:none !important;
}
.dh-edit-cart:hover{ color:var(--dh-sky) !important; }

/* ===================================================================
   CART (classic + block)
   =================================================================== */
.woocommerce table.shop_table,.wc-block-cart-items{
  border:1px solid var(--dh-line) !important; border-radius:10px !important;
}
.woocommerce table.shop_table thead th,.wc-block-cart-items__header{
  color:var(--dh-navy) !important; font-family:'DM Sans',sans-serif !important;
  font-weight:600 !important; text-transform:uppercase !important;
  letter-spacing:0.03em !important; font-size:0.78rem !important;
}
.wc-block-cart-item__image img,.woocommerce table.cart img{
  width:64px !important; border-radius:6px !important;
}
.wc-block-cart__totals-title,.woocommerce .cart_totals h2{
  font-family:'DM Sans',sans-serif !important; color:var(--dh-navy) !important;
}

/* ===================================================================
   MY ACCOUNT
   =================================================================== */
.dh-account-links{ display:flex; gap:10px; margin:0 0 22px; flex-wrap:wrap; }
.dh-acc-btn{
  display:inline-block; padding:0.7em 1.4em; border-radius:6px;
  font-size:0.78rem; font-weight:600; letter-spacing:0.04em; text-transform:uppercase;
  text-decoration:none !important; transition:all .2s ease;
}
.dh-acc-primary{ background:var(--dh-navy); color:#fff !important; border:1px solid var(--dh-navy); }
.dh-acc-primary:hover{ background:var(--dh-accent); border-color:var(--dh-accent); color:#fff !important; }
.dh-acc-ghost{ background:transparent; color:var(--dh-navy) !important; border:1px solid var(--dh-line); }
.dh-acc-ghost:hover{ border-color:var(--dh-navy); background:var(--dh-soft); }

.woocommerce-account .woocommerce-MyAccount-navigation ul{ border:1px solid var(--dh-line); border-radius:10px; overflow:hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li{ border-bottom:1px solid var(--dh-line); list-style:none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child{ border-bottom:none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{ padding:0.85em 1.1em !important; display:block; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{ color:var(--dh-navy) !important; font-weight:600 !important; background:var(--dh-soft); }
.woocommerce-account table.shop_table{ border-radius:10px; }

/* ---------- Notices ---------- */
.woocommerce-message,.woocommerce-info{ border-top-color:var(--dh-sky) !important; }
.woocommerce-message::before,.woocommerce-info::before{ color:var(--dh-sky) !important; }

/* ---------- Breadcrumb ---------- */
.woocommerce .woocommerce-breadcrumb{ color:var(--dh-muted) !important; font-size:0.85rem; margin-bottom:1.4em; }
.woocommerce .woocommerce-breadcrumb a{ color:var(--dh-accent) !important; }
