/* ==========================================================================
   GBV România — woocommerce.css (chunk 1; PORT_MAPPING §4 "WooCommerce
   global inherit")
   Inherit only: palette, fonts, radii and spacing on notices, buttons,
   fields, the block cart and checkout, and My Account. No layout, no
   template overrides (CLAUDE.md). Selectors mirror WooCommerce's own so the
   rules win by source order, not by extra specificity. Catalog, card and
   product-page rules live in their own files (chunks 4 and 5).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Classic notices (shop, My Account, order received)
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
  border-top: 0;
  border-left: var(--space-1) solid var(--color-success);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-success) 10%, var(--surface-card));
  color: var(--text-body);
  font-family: var(--font-body);
  font-size: var(--text-sm);
}
.woocommerce-info {
  border-left-color: var(--color-info);
  background: var(--surface-brand-soft);
}
.woocommerce-error {
  border-left-color: var(--color-danger);
  background: color-mix(in srgb, var(--color-danger) 8%, var(--surface-card));
}
.woocommerce-message::before { color: var(--color-success); }
.woocommerce-info::before    { color: var(--color-info); }
.woocommerce-error::before   { color: var(--color-danger); }
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  color: var(--text-link);
}
.woocommerce-store-notice,
p.demo_store {
  background: var(--color-brand);
  color: var(--text-on-brand);
  font-family: var(--font-body);
}

/* --------------------------------------------------------------------------
   2. Block notices (cart, checkout, order received)
   -------------------------------------------------------------------------- */
.wc-block-components-notice-banner {
  border-radius: var(--radius-md);
  border-color: var(--border-strong);
  background-color: var(--surface-card);
  color: var(--text-body);
  font-family: var(--font-body);
}
.wc-block-components-notice-banner > svg { background-color: var(--color-info); }
.wc-block-components-notice-banner.is-error {
  background-color: color-mix(in srgb, var(--color-danger) 8%, var(--surface-card));
  border-color: var(--color-danger);
}
.wc-block-components-notice-banner.is-error > svg { background-color: var(--color-danger); }
.wc-block-components-notice-banner.is-warning {
  background-color: var(--surface-accent-soft);
  border-color: var(--color-warning);
}
.wc-block-components-notice-banner.is-warning > svg { background-color: var(--color-warning); }
.wc-block-components-notice-banner.is-success {
  background-color: color-mix(in srgb, var(--color-success) 10%, var(--surface-card));
  border-color: var(--color-success);
}
.wc-block-components-notice-banner.is-success > svg { background-color: var(--color-success); }
.wc-block-components-notice-banner.is-info {
  background-color: var(--surface-brand-soft);
  border-color: var(--color-info);
}
.wc-block-components-notice-banner.is-info > svg { background-color: var(--color-info); }

/* --------------------------------------------------------------------------
   3. Buttons. Colours come from the Customizer through Astra; the block
   button keeps WooCommerce's geometry and takes the radius, family, weight
   and the DS focus ring colour.
   -------------------------------------------------------------------------- */
.wc-block-components-button:not(.is-link) {
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-weight: var(--fw-semibold);
}
.wc-block-components-button:not(.is-link):focus,
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):focus {
  box-shadow:
    inset 0 0 0 var(--stroke-hairline) var(--surface-card),
    0 0 0 var(--stroke-bold) var(--gbv-blue-steel);
}
.wc-block-components-button:not(.is-link).is-style-outline:hover,
.wc-block-components-button:not(.is-link).outlined:hover {
  background-color: var(--color-brand-strong);
  color: var(--text-on-brand);
}

/* --------------------------------------------------------------------------
   4. Classic fields (My Account, login, register, order received)
   -------------------------------------------------------------------------- */
.woocommerce form .form-row label {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: var(--fw-semibold);
  color: var(--text-strong);
}
.woocommerce form .form-row .required {
  color: var(--color-danger);
  text-decoration: none;
}
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: var(--color-danger);
}
.woocommerce form .form-row.woocommerce-validated .input-text,
.woocommerce form .form-row.woocommerce-validated select {
  border-color: var(--color-success);
}
.woocommerce form .show-password-input {
  color: var(--text-muted);
}
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon {
  border: var(--stroke-hairline) solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  box-shadow: var(--shadow-xs);
}

/* --------------------------------------------------------------------------
   5. Block cart and checkout fields: WooCommerce's own controls keep their
   geometry; only border colours, radii and the focus ring change. Selectors
   copy WooCommerce's (checkout.css / packages-style.css) so they win by
   source order alone.
   -------------------------------------------------------------------------- */
.wc-block-components-form .wc-block-components-text-input input[type="email"],
.wc-block-components-form .wc-block-components-text-input input[type="number"],
.wc-block-components-form .wc-block-components-text-input input[type="password"],
.wc-block-components-form .wc-block-components-text-input input[type="tel"],
.wc-block-components-form .wc-block-components-text-input input[type="text"],
.wc-block-components-form .wc-block-components-text-input input[type="url"],
.wc-block-components-textarea,
.wc-blocks-components-select .wc-blocks-components-select__select {
  border-color: var(--border-default);
  border-radius: var(--radius-sm);
  color: var(--text-strong);
  font-family: var(--font-body);
}
.wc-block-components-form .wc-block-components-text-input input[type="email"]:hover:not(:focus),
.wc-block-components-form .wc-block-components-text-input input[type="number"]:hover:not(:focus),
.wc-block-components-form .wc-block-components-text-input input[type="password"]:hover:not(:focus),
.wc-block-components-form .wc-block-components-text-input input[type="tel"]:hover:not(:focus),
.wc-block-components-form .wc-block-components-text-input input[type="text"]:hover:not(:focus),
.wc-block-components-form .wc-block-components-text-input input[type="url"]:hover:not(:focus),
.wc-block-components-textarea:hover:not(:focus),
.wc-blocks-components-select .wc-blocks-components-select__select:hover:not(:focus) {
  border-color: var(--border-strong);
}
.wc-block-components-form .wc-block-components-text-input input[type="email"]:focus,
.wc-block-components-form .wc-block-components-text-input input[type="number"]:focus,
.wc-block-components-form .wc-block-components-text-input input[type="password"]:focus,
.wc-block-components-form .wc-block-components-text-input input[type="tel"]:focus,
.wc-block-components-form .wc-block-components-text-input input[type="text"]:focus,
.wc-block-components-form .wc-block-components-text-input input[type="url"]:focus,
.wc-block-components-textarea:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: var(--color-accent-strong);
  box-shadow: var(--shadow-focus);
  color: var(--text-strong);
}
.wc-block-components-text-input label,
.wc-blocks-components-select__label {
  font-family: var(--font-body);
}
.wc-block-components-validation-error {
  color: var(--color-danger);
}
.wc-block-components-text-input.has-error input,
.wc-block-components-form .wc-block-components-text-input.has-error input:active,
.wc-block-components-form .wc-block-components-text-input.has-error input:focus,
.wc-block-components-form .wc-block-components-text-input.has-error input:hover {
  border-color: var(--color-danger);
}
.wc-block-components-form .wc-block-components-text-input.has-error input:focus {
  box-shadow: 0 0 0 var(--stroke-hairline) var(--color-danger);
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
  border-color: var(--border-strong);
  border-radius: var(--radius-xs);
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
  background: var(--color-brand);
  border-color: var(--color-brand);
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus {
  outline-color: var(--gbv-blue-steel);
}
.wc-block-components-checkbox .wc-block-components-checkbox__mark {
  fill: var(--text-on-brand);
}
.wc-block-components-radio-control .wc-block-components-radio-control__input {
  border-color: var(--border-strong);
}
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
  border-color: var(--color-brand);
}
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
  background: var(--color-brand);
}
.wc-block-components-radio-control .wc-block-components-radio-control__input:focus {
  outline-color: var(--gbv-blue-steel);
}

/* --------------------------------------------------------------------------
   6. Block cart and checkout surfaces: hairlines and radii from the tokens
   -------------------------------------------------------------------------- */
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill {
  border-color: var(--border-default);
  border-radius: var(--radius-md);
}
.wc-block-components-quantity-selector {
  border-color: var(--border-default);
  border-radius: var(--radius-sm);
}
.wc-block-components-panel__button,
.wc-block-components-totals-coupon__button {
  font-family: var(--font-body);
}

/* --------------------------------------------------------------------------
   7. My Account: navigation rows (44 px, B6), tables, addresses, order view
   -------------------------------------------------------------------------- */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: var(--stroke-hairline) solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-card);
}
.woocommerce-MyAccount-navigation ul li {
  margin: 0;
}
.woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  min-height: var(--hit-area);
  padding: 0 var(--space-4);
  border-bottom: var(--stroke-hairline) solid var(--border-subtle);
  color: var(--text-body);
  font-family: var(--font-body);
  font-weight: var(--fw-medium);
  text-decoration: none;
  transition:
    background-color var(--motion-base) ease,
    color var(--motion-base) ease;
}
.woocommerce-MyAccount-navigation ul li:last-child a {
  border-bottom: 0;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--surface-sunken);
  color: var(--text-strong);
}
.woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--surface-brand-soft);
  color: var(--text-strong);
  box-shadow: inset var(--stroke-bold) 0 0 var(--color-brand);
}

.woocommerce table.shop_table {
  border: var(--stroke-hairline) solid var(--border-subtle);
  border-radius: var(--radius-md);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--text-body);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-top: 0;
  border-right: 0;
  border-left: 0;
  padding: var(--space-3) var(--space-4);
}
.woocommerce table.shop_table th {
  color: var(--text-strong);
  font-size: var(--text-caption);
  font-weight: var(--fw-semibold);
}
.woocommerce table.shop_table thead th {
  background: var(--surface-sunken);
  border-bottom: var(--stroke-hairline) solid var(--border-default);
}
.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table td {
  background: transparent;
  border-bottom: var(--stroke-hairline) solid var(--border-subtle);
}
.woocommerce table.shop_table tbody tr:last-child td,
.woocommerce table.shop_table tfoot tr:last-child th,
.woocommerce table.shop_table tfoot tr:last-child td {
  border-bottom: 0;
}
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
  background: var(--surface-sunken);
  color: var(--text-strong);
}
.woocommerce table.shop_table .button {
  min-height: var(--btn-sm);
  padding-left: var(--space-3);
  padding-right: var(--space-3);
  font-size: var(--text-caption);
}
@media (max-width: 920.98px) {
  .woocommerce table.shop_table .button {
    min-height: var(--btn-md);
  }
}

.woocommerce-customer-details address,
.woocommerce-Address address {
  border: var(--stroke-hairline) solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-sunken);
  color: var(--text-body);
  font-family: var(--font-body);
  font-style: normal;
}
.woocommerce ul.order_details {
  font-family: var(--font-body);
}
.woocommerce ul.order_details li {
  border-right-color: var(--border-default);
  color: var(--text-muted);
  font-size: var(--text-xs);
}
.woocommerce ul.order_details li strong {
  color: var(--text-strong);
}
.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-customer-details h2 {
  color: var(--text-strong);
}
