/**
 * Shared UI components — panel / empty state / narrow stack / CTA.
 *
 * Prefer these classes in templates:
 *   .sr-panel | .sr-empty-state | .sr-stack-narrow | .sr-cta-block | .sr-page-center
 *
 * Woo login / lost-password / empty-cart selectors are aliased onto the same
 * declarations so we do not rewrite the same card styles per page.
 */

/* White elevated panel */
.sr-panel,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register,
body.woocommerce-account:not(.logged-in) form.lost_reset_password,
body.woocommerce-account:not(.logged-in) form.woocommerce-ResetPassword,
body.woocommerce-cart .wc-empty-cart-message,
.wp-block-woocommerce-empty-cart-block {
  background: #fff;
  border: 1px solid var(--sr-color-line);
  border-radius: var(--sr-radius, 18px);
  box-shadow: var(--sr-shadow, 0 12px 30px -12px rgba(35, 50, 74, 0.18));
  padding: var(--sr-space-5);
  margin: 0 0 var(--sr-space-5);
}

.sr-panel--flat {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
}

/* Centered empty / status copy */
.sr-empty-state,
body.woocommerce-cart .wc-empty-cart-message,
.wp-block-woocommerce-empty-cart-block {
  text-align: center;
  color: var(--sr-color-ink);
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.45;
}

/* Narrow centered column (auth forms — not full empty-cart page) */
.sr-stack-narrow,
body.woocommerce-account:not(.logged-in) .woocommerce {
  display: block;
  width: min(100%, 28rem);
  margin-inline: auto;
}

/* Empty cart: message + CTA narrow; products full width */
body.woocommerce-cart .wc-empty-cart-message,
body.woocommerce-cart .return-to-shop {
  display: block;
  width: min(100%, 28rem);
  margin-inline: auto;
  text-align: center;
}

body.woocommerce-cart .wc-empty-cart-message {
  margin-bottom: var(--sr-space-5);
}

body.woocommerce-cart .return-to-shop {
  margin: 0 auto var(--sr-space-7);
}

body.woocommerce-cart .return-to-shop .button,
body.woocommerce-cart .return-to-shop .sr-cta-block {
  width: 100%;
  max-width: 28rem;
  margin-inline: auto;
}

/* Center page title above a narrow stack */
.sr-page-center .sr-page__header,
body.woocommerce-account:not(.logged-in) .sr-page__header,
body.woocommerce-cart:has(.cart-empty) .sr-page__header,
body.woocommerce-cart:has(.wc-empty-cart-message) .sr-page__header,
body.woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) .sr-page__header {
  text-align: center;
  margin-bottom: var(--sr-space-4);
}

.sr-page-center .sr-page__title,
body.woocommerce-account:not(.logged-in) .sr-page__title {
  margin-bottom: 0;
}

/* Full-width coral CTA */
.sr-cta-block,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register__submit,
body.woocommerce-account:not(.logged-in) form.lost_reset_password .button,
body.woocommerce-account:not(.logged-in) form.woocommerce-ResetPassword .button,
body.woocommerce-cart .return-to-shop .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-family: var(--sr-font-display);
  font-size: var(--sr-btn-fs, 1.25rem);
  font-weight: 700;
  background: var(--sr-color-accent) !important;
  color: #fff !important;
  border: 0;
  border-radius: 999px;
  padding: var(--sr-btn-pad-y, 0.55rem) var(--sr-btn-pad-x, 1.25rem);
  min-height: var(--sr-btn-min-h, 2.65rem);
  text-decoration: none !important;
  box-shadow: 0 10px 22px -8px rgba(242, 104, 92, 0.45);
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.sr-cta-block:hover,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit:hover,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register__submit:hover,
body.woocommerce-account:not(.logged-in) form.lost_reset_password .button:hover,
body.woocommerce-account:not(.logged-in) form.woocommerce-ResetPassword .button:hover,
body.woocommerce-cart .return-to-shop .button:hover {
  background: var(--sr-color-accent-hover) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* Section title inside auth / empty stacks */
.sr-stack-narrow__title,
body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) .u-column1 > h2,
body.woocommerce-account:not(.logged-in) .u-column2 > h2,
body.woocommerce-account:not(.logged-in) .col-1 > h2,
body.woocommerce-account:not(.logged-in) .col-2 > h2,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block > .wp-block-heading:first-child {
  font-family: var(--sr-font-display);
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--sr-color-ink);
  text-align: center;
  margin: 0 0 var(--sr-space-4);
}

/* Nested Woo notice inside empty-cart wrapper — never a second card */
body.woocommerce-cart .wc-empty-cart-message .cart-empty,
body.woocommerce-cart .wc-empty-cart-message .woocommerce-info {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wp-block-woocommerce-empty-cart-block {
  width: min(100%, 28rem);
  margin-inline: auto;
}

.wp-block-woocommerce-empty-cart-block .wp-block-separator {
  display: none;
}

/* Empty cart product suggestions — full width shared grid */
.sr-empty-cart-products {
  margin-top: var(--sr-space-6);
  width: 100%;
  clear: both;
}

.sr-empty-cart-products__title {
  font-family: var(--sr-font-display);
  font-size: clamp(1.35rem, 2vw + 1rem, 1.75rem);
  font-weight: 800;
  color: var(--sr-color-ink);
  text-align: center;
  margin: 0 0 var(--sr-space-5);
}

.sr-empty-cart-products .products {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}
