@charset "UTF-8";
/**
 * PWS My Account — design tokens, layout and portal components.
 *
 * Source: src/scss/account.scss
 * Build:  npm run build:css  →  build/css/account.css
 *
 * Patterns are lifted from the Claude design (Desktop/html-cluade), but every value
 * lives here as a token so templates stay free of inline styles. Nothing in this file
 * depends on WooCommerce block or cart styles.
 */
.pws-account,
.pws-login,
.pws-signup-fluent,
.pws-lightbox,
.pws-checkout,
.pws-received,
.pws-cart,
.pws-toast,
.pws-preview,
.pws-cart-peek {
  --pws-green: #00803d;
  --pws-green-mid: #12a150;
  --pws-green-deep: #173d26;
  --pws-green-soft: #dcefdc;
  --pws-green-mint: #a8e3b0;
  --pws-orange: #f15a29;
  --pws-orange-dark: #d64715;
  --pws-ink: #1a1a1a;
  --pws-muted: #4a4a4a;
  --pws-faint: #7a7a7a;
  --pws-border: #e4e4e0;
  --pws-border-strong: #d8d8d4;
  --pws-bg: #ffffff;
  --pws-bg-soft: #f7f7f5;
  --pws-bg-hover: #fafaf8;
  --pws-alert-bg: #fbeae4;
  --pws-alert-ink: #7c2a0f;
  --pws-alert-line: #c24a1e;
  --pws-space: 12px;
  --pws-space-lg: 28px;
  --pws-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --pws-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
  --pws-shadow-lg: -18px 0 60px rgba(0, 0, 0, 0.18);
  --pws-font-display: "Jost", "Helvetica Neue", Arial, sans-serif;
  --pws-font-body: "Figtree", "Helvetica Neue", Arial, sans-serif;
  font-family: var(--pws-font-body);
  color: var(--pws-ink);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.pws-account,
.pws-account *,
.pws-account *::before,
.pws-account *::after,
.pws-login,
.pws-login *,
.pws-login *::before,
.pws-login *::after,
.pws-signup-fluent,
.pws-signup-fluent *,
.pws-signup-fluent *::before,
.pws-signup-fluent *::after,
.pws-lightbox,
.pws-lightbox *,
.pws-lightbox *::before,
.pws-lightbox *::after,
.pws-checkout,
.pws-checkout *,
.pws-checkout *::before,
.pws-checkout *::after,
.pws-received,
.pws-received *,
.pws-received *::before,
.pws-received *::after,
.pws-cart,
.pws-cart *,
.pws-cart *::before,
.pws-cart *::after,
.pws-toast,
.pws-toast *,
.pws-toast *::before,
.pws-toast *::after,
.pws-preview,
.pws-preview *,
.pws-preview *::before,
.pws-preview *::after,
.pws-cart-peek,
.pws-cart-peek *,
.pws-cart-peek *::before,
.pws-cart-peek *::after {
  box-sizing: border-box;
}

.pws-account a,
.pws-login a,
.pws-signup-fluent a {
  color: var(--pws-orange);
  font-weight: 600;
  text-decoration: none;
}

.pws-account a:hover,
.pws-login a:hover,
.pws-signup-fluent a:hover {
  color: var(--pws-orange-dark);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.pws-account :focus-visible,
.pws-login :focus-visible,
.pws-checkout :focus-visible,
.pws-received :focus-visible {
  outline: 2px solid var(--pws-orange);
  outline-offset: 2px;
}

/* Hide Bolt leftovers when the portal shell is active. These are parent-theme
   classes, not WooCommerce My Account ones — the portal never renders inside that. */
body.pws-myaccount .bowe-my-account-nav,
body.pws-myaccount .mobile-back-link,
body.pws-myaccount .my-account-heading,
body.pws-myaccount .my-account-dashboard-icons,
body.pws-myaccount .bowe-minicart,
body.pws-myaccount .bowe-minicart-trigger,
body.pws-myaccount .widget_shopping_cart {
  display: none !important;
}

/* Flex shell: sidebar on the left, topbar + page on the right. */
.pws-account {
  max-width: 1440px;
  margin: 0 auto;
  padding: 36px 40px 64px;
  display: flex;
  align-items: flex-start;
  gap: 40px;
}

.pws-account__nav-wrap {
  flex: 0 0 280px;
  width: 280px;
  min-width: 0;
}

.pws-account__main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.pws-account__content {
  min-width: 0;
}

.pws-account--checkout .pws-account__nav-wrap,
body.pws-myaccount-checkout .pws-account__nav-wrap {
  display: none !important;
}

@media (max-width: 820px) {
  .pws-account {
    padding: 26px 18px 48px;
    flex-direction: column;
    gap: 26px;
  }
  .pws-account__nav-wrap {
    flex: none;
    width: 100%;
    order: 2;
  }
  .pws-account__main {
    display: contents;
  }
  .pws-account > .pws-topbar,
  .pws-account__main > .pws-topbar {
    order: 1;
  }
  .pws-account__content {
    order: 3;
  }
}
/* Top bar (portal only) */
.pws-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--pws-border);
}

.pws-topbar__eyebrow {
  margin: 0;
  font-family: var(--pws-font-display);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pws-faint);
}

.pws-cart-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  background: var(--pws-bg);
  border: 1px solid var(--pws-border-strong);
  color: var(--pws-ink);
  cursor: pointer;
  transition: background 240ms var(--pws-ease);
}

.pws-cart-button:hover {
  background: var(--pws-bg-soft);
}

.pws-cart-button__badge {
  position: absolute;
  top: -8px;
  right: -8px;
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--pws-orange);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.pws-cart-button__badge[hidden] {
  display: none;
}

/* Sidebar */
.pws-sidebar {
  border: 1px solid var(--pws-border);
  background: var(--pws-bg);
}

.pws-sidebar__persona {
  padding: 22px 22px 18px;
  background: var(--pws-green-soft);
  border-bottom: 1px solid #c8e2cd;
}

.pws-sidebar__eyebrow {
  margin: 0 0 4px;
  font-family: var(--pws-font-display);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pws-green);
}

.pws-sidebar__company {
  margin: 0 0 2px;
  font-size: 17px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.pws-sidebar__meta {
  margin: 0;
  font-size: 14px;
  color: #3a4a3e;
}

.pws-sidebar__nav {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pws-sidebar__link {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 16px 22px;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--pws-ink) !important;
  text-decoration: none !important;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #efefec;
  text-align: left;
  cursor: pointer;
  transition: background 240ms var(--pws-ease);
}

.pws-sidebar__link:hover {
  background: var(--pws-bg-hover);
}

.pws-sidebar__link[aria-current=page] {
  background: var(--pws-bg);
  box-shadow: inset 3px 0 0 var(--pws-green);
  color: var(--pws-green) !important;
}

.pws-sidebar__count {
  margin-left: auto;
  font-size: 13px;
  font-weight: 500;
  color: var(--pws-faint);
}

/* Sales contact card */
.pws-contact-card {
  margin-top: 12px;
  background: var(--pws-green);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.pws-contact-card--flat {
  background: var(--pws-green-soft);
  color: var(--pws-green-deep);
}

.pws-contact-card__inner {
  position: relative;
  padding: 24px 22px;
}

.pws-contact-card__eyebrow {
  margin: 0 0 8px;
  font-family: var(--pws-font-display);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.85;
}

.pws-contact-card__name {
  margin: 0 0 4px;
  font-size: 17px;
  font-weight: 700;
}

.pws-contact-card__note {
  margin: 0 0 12px;
  font-size: 14px;
  opacity: 0.9;
}

.pws-contact-card__link {
  color: #fff !important;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.pws-contact-card--flat .pws-contact-card__link {
  color: var(--pws-orange-dark) !important;
}

/* Page chrome */
.pws-page {
  margin-bottom: var(--pws-space-lg);
}

.pws-page--split {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: flex-end;
  justify-content: space-between;
}

.pws-page__eyebrow {
  margin: 0 0 12px;
  font-family: var(--pws-font-display);
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--pws-green-mid);
}

.pws-page__title {
  margin: 0 0 10px;
  font-family: var(--pws-font-display);
  font-weight: 300;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--pws-ink);
  text-wrap: balance;
}

.pws-page__title .pws-badge {
  vertical-align: middle;
  margin-left: 10px;
}

.pws-page__intro {
  margin: 0;
  font-size: 17px;
  color: var(--pws-muted);
  max-width: 60ch;
}

.pws-section {
  margin-top: var(--pws-space-lg);
}

.pws-section__title {
  margin: 0 0 var(--pws-space);
  font-family: var(--pws-font-display);
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pws-backlink {
  margin: 0 0 18px;
  font-size: 14px;
}

.pws-linkarrow {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.pws-linkbutton {
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  color: var(--pws-orange);
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.pws-note {
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--pws-faint);
}

.pws-note--inline {
  flex: 1 1 100%;
  margin-top: 4px;
}

/* Stats / cards */
.pws-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--pws-space);
  margin: var(--pws-space-lg) 0 0;
}

.pws-stat {
  border: 1px solid var(--pws-border);
  padding: 24px 22px;
}

.pws-stat__label {
  margin: 0 0 12px;
  font-family: var(--pws-font-display);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pws-faint);
}

.pws-stat__value {
  margin: 0 0 5px;
  font-family: var(--pws-font-display);
  font-weight: 300;
  font-size: 38px;
  line-height: 1;
  overflow-wrap: anywhere;
}

.pws-stat__value--sm {
  font-size: 26px;
}

.pws-stat__note {
  margin: 0;
  font-size: 13px;
}

.pws-stat__note--muted {
  color: var(--pws-muted);
}

.pws-stat__note--faint {
  color: var(--pws-faint);
}

.pws-stat__note--green {
  color: var(--pws-green);
  font-weight: 600;
}

.pws-stat__note--warning {
  color: var(--pws-alert-ink);
  font-weight: 600;
}

.pws-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: var(--pws-space);
}

.pws-action-card {
  display: block;
  text-align: left;
  font: inherit;
  background: var(--pws-bg);
  border: 1px solid var(--pws-border);
  border-radius: 0;
  padding: 26px 24px;
  position: relative;
  overflow: hidden;
  color: inherit !important;
  text-decoration: none !important;
  transition: box-shadow 240ms var(--pws-ease), transform 240ms var(--pws-ease);
}

.pws-action-card:hover {
  box-shadow: var(--pws-shadow);
  transform: translateY(-2px);
  text-decoration: none !important;
}

.pws-action-card__corner {
  position: absolute;
  top: 0;
  right: 0;
  width: 64px;
  height: 64px;
  background: var(--pws-green-soft);
  border-radius: 0 0 0 100%;
}

.pws-action-card__bar {
  display: block;
  width: 40px;
  height: 4px;
  background: var(--pws-green);
  margin-bottom: 20px;
  position: relative;
}

.pws-action-card__title {
  display: block;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 5px;
  position: relative;
}

.pws-action-card__body {
  display: block;
  font-size: 14px;
  color: var(--pws-muted);
  margin-bottom: 16px;
}

.pws-action-card__cta {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pws-orange);
}

.pws-cardgrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--pws-space);
}

.pws-panel {
  border: 1px solid var(--pws-border);
  background: var(--pws-bg);
}

.pws-panel__head {
  padding: 22px 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--pws-border);
}

.pws-panel__title {
  margin: 0;
  font-family: var(--pws-font-display);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pws-panel__note {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pws-faint);
}

.pws-panel__pad {
  padding: 26px;
}

.pws-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 18px;
  align-items: center;
  padding: 18px 26px;
  border-bottom: 1px solid #efefec;
  text-decoration: none !important;
  color: inherit !important;
}

.pws-row:hover {
  background: var(--pws-bg-hover);
}

.pws-row__main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.pws-row__title {
  font-weight: 700;
}

.pws-row__meta {
  font-size: 13px;
  color: var(--pws-faint);
}

.pws-row__amount {
  font-family: var(--pws-font-display);
  font-size: 18px;
  white-space: nowrap;
}

@media (max-width: 820px) {
  .pws-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
  }
}
.pws-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.pws-badge--pending {
  background: var(--pws-alert-bg);
  color: var(--pws-alert-ink);
}

.pws-badge--confirmed {
  background: var(--pws-green-soft);
  color: var(--pws-green-deep);
}

.pws-badge--closed {
  background: #f2f2ef;
  color: var(--pws-muted);
}

.pws-badge--default {
  background: #f2f2ef;
  color: var(--pws-ink);
}

.pws-tag {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  vertical-align: middle;
}

.pws-tag--contract {
  background: var(--pws-green-soft);
  color: var(--pws-green-deep);
}

.pws-tag--muted {
  background: #f2f2ef;
  color: var(--pws-muted);
}

.pws-company-band {
  background: var(--pws-green-soft);
  padding: 32px 30px;
  position: relative;
  overflow: hidden;
}

.pws-company-band__corner {
  position: absolute;
  right: -50px;
  bottom: -50px;
  width: 220px;
  height: 220px;
  background: var(--pws-green-mint);
  border-radius: 100% 0 0 0;
  opacity: 0.5;
}

.pws-company-band__inner {
  position: relative;
}

.pws-company-band__eyebrow {
  margin: 0 0 8px;
  font-family: var(--pws-font-display);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pws-green);
}

.pws-company-band__title {
  margin: 0 0 8px;
  font-family: var(--pws-font-display);
  font-weight: 300;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--pws-green-deep);
}

.pws-company-band__lead {
  margin: 0 0 24px;
  max-width: 62ch;
  color: var(--pws-green-deep);
}

.pws-company-band__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
}

.pws-company-band__k {
  margin: 0 0 3px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #3e6b4b;
}

.pws-company-band__v {
  margin: 0;
  font-size: 15px;
  color: var(--pws-green-deep);
  overflow-wrap: anywhere;
}

/* Buttons */
.pws-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 50px;
  padding: 0 22px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 0;
  border: 0;
  cursor: pointer;
  text-decoration: none !important;
  transition: background 240ms var(--pws-ease), transform 120ms ease;
}

.pws-btn--primary {
  color: #fff !important;
  background: var(--pws-green);
}

.pws-btn--primary:hover {
  background: var(--pws-green-mid);
}

.pws-btn--ghost {
  color: var(--pws-ink) !important;
  background: transparent;
  border: 1px solid var(--pws-border-strong);
}

.pws-btn--ghost:hover {
  background: #f2f2ef;
}

.pws-btn--block {
  width: 100%;
}

.pws-btn:disabled,
.pws-btn[aria-disabled=true],
.pws-btn.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

.pws-btn.is-loading:disabled,
.pws-btn.is-confirmed:disabled {
  opacity: 1;
  cursor: wait;
  pointer-events: none;
}

.pws-btn__check {
  display: none;
  align-items: center;
  justify-content: center;
  flex: none;
  line-height: 0;
}

.pws-btn.is-confirmed .pws-btn__check {
  display: inline-flex;
}

.pws-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  flex: none;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: pws-spin 0.7s linear infinite;
  vertical-align: middle;
}

.pws-spinner[hidden],
.pws-btn__check[hidden] {
  display: none !important;
}

@keyframes pws-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .pws-spinner {
    animation: none;
    border-right-color: currentColor;
    opacity: 0.55;
  }
}
.pws-actionrow {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pws-space);
  align-items: center;
}

.pws-reorder-result {
  margin: 0 0 var(--pws-space);
  padding: 16px 18px;
  border: 1px solid var(--pws-border);
  background: var(--pws-bg-soft);
}

.pws-reorder-result[hidden] {
  display: none;
}

.pws-reorder-result__summary,
.pws-reorder-result__heading,
.pws-reorder-result ul {
  margin: 0;
}

.pws-reorder-result__heading,
.pws-reorder-result ul {
  margin-top: 10px;
}

.pws-reorder-result__heading {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pws-muted);
}

.pws-reorder-result ul {
  padding-left: 1.2em;
  color: var(--pws-ink);
}

/* Form primitives */
.pws-field {
  display: grid;
  gap: 8px;
  margin: 0 0 20px;
}

.pws-label,
.pws-field label,
.pws-fieldset legend {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pws-muted);
}

.pws-input,
.pws-field input[type=text],
.pws-field input[type=password],
.pws-field input[type=email],
.pws-field input[type=search],
.pws-field input[type=tel],
.pws-field input[type=number],
.pws-field input[type=date],
.pws-field select,
.pws-field textarea,
.pws-checkout .input-text,
.pws-checkout select,
.pws-checkout textarea {
  width: 100%;
  min-height: 54px;
  padding: 0 16px;
  font: inherit;
  font-size: 16px;
  color: var(--pws-ink);
  background: var(--pws-bg-soft);
  border: 1px solid var(--pws-border-strong);
  border-radius: 0;
  box-sizing: border-box;
}

.pws-field textarea,
.pws-checkout textarea,
textarea.pws-input {
  padding: 14px 16px;
  min-height: 96px;
}

.pws-input[aria-invalid=true] {
  border-color: var(--pws-alert-line);
  background: #fff;
}

.pws-input:disabled,
.pws-input[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

.pws-formgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--pws-space);
  align-items: end;
}

.pws-formgrid .pws-field input,
.pws-formgrid .pws-field select {
  margin: 0;
}

@media (max-width: 560px) {
  .pws-formgrid {
    grid-template-columns: 1fr;
  }
}
.pws-fieldset {
  margin: 0;
  padding: 18px;
  border: 1px dashed var(--pws-border-strong);
}

.pws-fieldset .pws-note {
  margin-top: 6px;
}

.pws-checkbox {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  margin: 0 0 20px;
  cursor: pointer;
}

.pws-checkbox__title {
  display: block;
  font-weight: 600;
}

.pws-checkbox__body {
  display: block;
  font-size: 13px;
  color: var(--pws-faint);
}

.pws-radio {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--pws-border);
  cursor: pointer;
}

.pws-radio + .pws-radio {
  margin-top: -1px;
}

.pws-radio:has(input:checked) {
  position: relative;
  z-index: 1;
  border-color: var(--pws-green);
  background: var(--pws-green-soft);
}

.pws-radio__title {
  display: block;
  font-weight: 600;
}

.pws-radio__body {
  display: block;
  font-size: 13px;
  color: var(--pws-faint);
}

.pws-remember {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--pws-muted);
}

.pws-password {
  position: relative;
}

.pws-password__toggle {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  padding: 0 16px;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pws-muted);
  background: none;
  border: 0;
  cursor: pointer;
}

.pws-input-icon {
  position: relative;
  display: block;
}

.pws-input-icon svg {
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  color: var(--pws-faint);
  pointer-events: none;
}

.pws-input-icon .pws-input {
  padding-left: 44px;
}

/* Toolbar / results */
.pws-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: flex-end;
  margin: var(--pws-space-lg) 0 18px;
}

.pws-toolbar__field {
  display: grid;
  gap: 8px;
  min-width: 180px;
}

.pws-toolbar__field--search {
  flex: 1 1 280px;
}

.pws-viewtoggle {
  display: inline-flex;
  border: 1px solid var(--pws-border-strong);
}

.pws-viewtoggle__btn {
  height: 54px;
  padding: 0 18px;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: var(--pws-bg);
  border: 0;
  cursor: pointer;
  color: var(--pws-muted);
}

.pws-viewtoggle__btn[aria-pressed=true] {
  background: var(--pws-green);
  color: #fff;
}

.pws-results {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--pws-space);
}

.pws-results__count {
  margin: 0;
  font-size: 13px;
  color: var(--pws-faint);
}

/* Pills */
.pws-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--pws-space-lg);
}

.pws-pill {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 18px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pws-muted) !important;
  background: var(--pws-bg);
  border: 1px solid var(--pws-border-strong);
  text-decoration: none !important;
}

.pws-pill:hover {
  background: var(--pws-bg-hover);
  text-decoration: none !important;
}

.pws-pill.is-current {
  background: var(--pws-green);
  border-color: var(--pws-green);
  color: #fff !important;
}

/* Products */
.pws-productlist {
  display: grid;
  gap: var(--pws-space);
}

.pws-productlist--list {
  grid-template-columns: minmax(0, 1fr);
}

.pws-productlist--cards {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  align-items: start;
}

.pws-product {
  display: grid;
  border: 1px solid var(--pws-border);
  background: var(--pws-bg);
  transition: box-shadow 240ms var(--pws-ease), transform 240ms var(--pws-ease);
}

.pws-product:hover {
  box-shadow: var(--pws-shadow);
}

.pws-productlist--list .pws-product {
  grid-template-columns: 120px minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding-right: 22px;
}

.pws-productlist--cards .pws-product {
  grid-template-columns: minmax(0, 1fr);
}

.pws-productlist--cards .pws-product:hover {
  transform: translateY(-2px);
}

.pws-product__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f2f2ef;
  overflow: hidden;
}

.pws-product__image-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  line-height: 0;
}

.pws-product__media-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--pws-border-strong);
  background: rgba(255, 255, 255, 0.92);
  color: var(--pws-ink);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
}

.pws-product__media-nav--prev {
  left: 6px;
}

.pws-product__media-nav--next {
  right: 6px;
}

.pws-product__media-nav:hover {
  background: #fff;
  border-color: var(--pws-green);
  color: var(--pws-green);
}

.pws-productlist--list .pws-product__media {
  height: 120px;
  border-right: 1px solid var(--pws-border);
}

.pws-productlist--list .pws-product__media-nav {
  width: 22px;
  height: 22px;
  font-size: 18px;
}

.pws-productlist--cards .pws-product__media {
  height: 170px;
  border-bottom: 1px solid var(--pws-border);
}

.pws-product__media img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.pws-product__media-placeholder {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pws-faint);
}

body.pws-lightbox-open {
  overflow: hidden;
}

.pws-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.pws-lightbox[hidden] {
  display: none;
}

.pws-lightbox--open {
  display: flex;
}

.pws-lightbox--loading .pws-lightbox__image {
  opacity: 0;
}

.pws-lightbox__overlay {
  position: absolute;
  inset: 0;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.45);
  cursor: pointer;
}

.pws-lightbox__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: min(92vw, 960px);
  max-height: 92vh;
  padding: 12px;
  background: var(--pws-bg);
  border: 1px solid var(--pws-border);
}

.pws-lightbox__main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.pws-lightbox__stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: min(72vw, 520px);
  min-height: min(50vh, 360px);
  max-width: 100%;
  background: var(--pws-bg-soft);
}

.pws-lightbox__spinner {
  position: absolute;
  width: 28px;
  height: 28px;
  border-width: 3px;
}

.pws-lightbox__nav,
.pws-lightbox__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  border: 1px solid var(--pws-border-strong);
  background: var(--pws-bg);
  color: var(--pws-ink);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.pws-lightbox__nav[hidden] {
  display: none;
}

.pws-lightbox__close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  font-size: 22px;
}

.pws-lightbox__image {
  display: block;
  max-width: 100%;
  max-height: min(62vh, 92vh - 10rem);
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

.pws-lightbox__count {
  margin: 0;
  text-align: center;
  font-size: 13px;
  color: var(--pws-muted);
}

.pws-lightbox__count[hidden],
.pws-lightbox__thumbs[hidden] {
  display: none;
}

.pws-lightbox__thumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0 4px;
}

.pws-lightbox__thumb {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 2px solid var(--pws-border-strong);
  background: var(--pws-bg);
  cursor: pointer;
  overflow: hidden;
}

.pws-lightbox__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pws-lightbox__thumb--active,
.pws-lightbox__thumb[aria-current=true] {
  border-color: var(--pws-green);
}

@media (max-width: 700px) {
  .pws-lightbox {
    padding: 12px;
  }
  .pws-lightbox__main {
    grid-template-columns: 1fr;
  }
  .pws-lightbox__nav--prev {
    order: 2;
  }
  .pws-lightbox__stage {
    order: 1;
    min-width: 0;
    min-height: min(42vh, 280px);
  }
  .pws-lightbox__nav--next {
    order: 3;
  }
}
.pws-product__body {
  padding: 18px 0;
  min-width: 0;
}

.pws-productlist--cards .pws-product__body {
  padding: 20px 18px 0;
}

.pws-product__sku {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pws-faint);
}

.pws-product__title {
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.pws-product__meta {
  margin: 0;
  font-size: 13px;
  color: var(--pws-muted);
}

.pws-product__buy {
  display: grid;
  gap: 10px;
  justify-items: end;
}

.pws-productlist--cards .pws-product__buy {
  justify-items: stretch;
  padding: 16px 18px 18px;
}

.pws-product__price {
  margin: 0;
  font-family: var(--pws-font-display);
  font-size: 24px;
  white-space: nowrap;
}

.pws-product__actions {
  display: flex;
  gap: 8px;
}

.pws-productlist--cards .pws-product__actions {
  margin-top: auto;
}

.pws-product__in-cart {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--pws-green);
}

.pws-productlist--list .pws-product__in-cart {
  text-align: right;
}

.pws-productlist--cards .pws-product__in-cart {
  text-align: left;
}

.pws-input--qty {
  width: 76px;
  min-height: 50px;
  text-align: center;
  padding: 0 8px;
  background: var(--pws-bg);
}

.pws-product__add {
  flex: 1;
}

.pws-productlist--list .pws-product__add-label--cards,
.pws-productlist--cards .pws-product__add-label--list {
  display: none;
}

.pws-product__unavailable {
  margin: 0;
  font-size: 13px;
  color: var(--pws-faint);
  max-width: 24ch;
  text-align: right;
}

.pws-productlist--cards .pws-product__unavailable {
  text-align: left;
  max-width: none;
}

@media (max-width: 720px) {
  .pws-productlist--list .pws-product {
    grid-template-columns: 90px minmax(0, 1fr);
    padding: 0 16px 16px;
    gap: 14px;
  }
  .pws-productlist--list .pws-product__buy {
    grid-column: 1/-1;
    justify-items: stretch;
  }
  .pws-product__unavailable,
  .pws-productlist--list .pws-product__in-cart {
    text-align: left;
    max-width: none;
  }
}
/* Prices table */
.pws-prices__search {
  max-width: 420px;
  margin-bottom: var(--pws-space);
}

.pws-table {
  border: 1px solid var(--pws-border);
  background: var(--pws-bg);
}

.pws-table__head,
.pws-table__row {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr) 110px 160px;
  gap: 16px;
  align-items: center;
  padding: 14px 22px;
}

.pws-table__head {
  background: var(--pws-bg-soft);
  border-bottom: 1px solid var(--pws-border);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pws-faint);
}

.pws-table__row {
  border-bottom: 1px solid #efefec;
}

.pws-table__row:hover {
  background: var(--pws-bg-hover);
}

.pws-table__sku {
  font-size: 13px;
  font-weight: 700;
  color: var(--pws-muted);
}

.pws-table__name {
  overflow-wrap: anywhere;
}

.pws-table__unit,
.pws-table__cell--right,
.pws-table__price {
  text-align: right;
}

.pws-table__unit {
  text-align: left;
  font-size: 13px;
  color: var(--pws-faint);
}

.pws-table__price {
  font-family: var(--pws-font-display);
  font-size: 17px;
}

@media (max-width: 820px) {
  .pws-table__head {
    display: none;
  }
  .pws-table__row {
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 4px;
  }
  .pws-table__unit {
    text-align: left;
  }
}
/* Orders */
.pws-orderlist {
  display: grid;
  gap: var(--pws-space);
}

.pws-ordercard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 20px;
  align-items: center;
  padding: 22px 24px;
  border: 1px solid var(--pws-border);
  background: var(--pws-bg);
  transition: box-shadow 240ms var(--pws-ease);
}

.pws-ordercard:hover {
  box-shadow: var(--pws-shadow);
}

.pws-ordercard__id {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 6px;
}

.pws-ordercard__number {
  font-family: var(--pws-font-display);
  font-size: 22px;
  color: var(--pws-ink) !important;
}

.pws-ordercard__meta {
  margin: 0;
  font-size: 13px;
  color: var(--pws-faint);
}

.pws-ordercard__totals {
  text-align: right;
}

.pws-ordercard__lines {
  margin: 0 0 4px;
  font-size: 13px;
  color: var(--pws-faint);
}

.pws-ordercard__total {
  margin: 0;
  font-family: var(--pws-font-display);
  font-size: 20px;
}

@media (max-width: 720px) {
  .pws-ordercard {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .pws-ordercard__totals {
    text-align: left;
  }
}
.pws-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pws-space);
  align-items: center;
  justify-content: center;
  margin-top: var(--pws-space-lg);
}

.pws-pagination__status {
  font-size: 13px;
  color: var(--pws-faint);
}

/* Order lifecycle */
.pws-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--pws-space);
  margin: 0;
  padding: 26px;
  list-style: none;
}

.pws-step {
  display: grid;
  gap: 6px;
  padding-top: 18px;
  border-top: 3px solid var(--pws-border);
}

.pws-step.is-done {
  border-top-color: var(--pws-green);
}

.pws-step__dot {
  width: 10px;
  height: 10px;
  background: var(--pws-border-strong);
  border-radius: 100% 0 0 0;
}

.pws-step.is-done .pws-step__dot {
  background: var(--pws-green);
}

.pws-step__label {
  font-weight: 700;
}

.pws-step__when {
  font-size: 13px;
  color: var(--pws-faint);
}

/* Order lines / totals */
.pws-orderline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 16px;
  align-items: center;
  padding: 16px 26px;
  border-bottom: 1px solid #efefec;
}

.pws-orderline.is-invalid {
  background: var(--pws-alert-bg);
}

.pws-orderline__main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.pws-orderline__name {
  font-weight: 600;
  overflow-wrap: anywhere;
}

.pws-orderline__sku {
  font-size: 13px;
  color: var(--pws-faint);
}

.pws-orderline__notice {
  font-size: 13px;
  font-weight: 600;
  color: var(--pws-alert-ink);
}

.pws-orderline__qty,
.pws-orderline__price {
  font-size: 14px;
  color: var(--pws-muted);
  white-space: nowrap;
}

.pws-orderline__sum {
  font-weight: 700;
  white-space: nowrap;
}

.pws-totals {
  padding: 20px 26px;
  background: var(--pws-bg-soft);
}

.pws-totals__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 20px;
  margin: 0;
}

.pws-totals__list dt {
  margin: 0;
  color: var(--pws-muted);
}

.pws-totals__list dd {
  margin: 0;
  text-align: right;
}

.pws-totals__grand {
  font-weight: 700;
  font-size: 18px;
  color: var(--pws-ink);
}

/* Info cards */
.pws-infocard {
  border: 1px solid var(--pws-border);
  background: var(--pws-bg);
  padding: 24px;
}

.pws-infocard + .pws-infocard {
  margin-top: var(--pws-space);
}

.pws-infocard__title {
  margin: 0 0 14px;
  font-family: var(--pws-font-display);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pws-infocard__list {
  display: grid;
  gap: 12px;
  margin: 0;
}

.pws-infocard__list dt {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pws-faint);
}

.pws-infocard__list dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.pws-infocard__address {
  margin: 0;
  font-style: normal;
  line-height: 1.6;
}

/* Split layout (checkout / order received) */
.pws-split {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: var(--pws-space-lg);
  align-items: start;
}

.pws-split__main > * + * {
  margin-top: var(--pws-space);
}

.pws-split__aside > * + * {
  margin-top: var(--pws-space);
}

@media (max-width: 980px) {
  .pws-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Portal checkout island — theme .entry-content h1/h2/label/select cannot win. */
.pws-account .pws-checkout,
.pws-checkout.pws-view {
  background: #ffffff;
  color: #1a1a1a;
}

.pws-account .pws-checkout h1,
.pws-account .pws-checkout h2,
.pws-account .pws-checkout h3,
.pws-account .pws-checkout p,
.pws-account .pws-checkout label,
.pws-account .pws-checkout legend,
.pws-account .pws-checkout dt,
.pws-account .pws-checkout dd,
.pws-checkout.pws-view h1,
.pws-checkout.pws-view h2,
.pws-checkout.pws-view h3,
.pws-checkout.pws-view p,
.pws-checkout.pws-view label,
.pws-checkout.pws-view legend,
.pws-checkout.pws-view dt,
.pws-checkout.pws-view dd {
  max-width: none;
  background: transparent;
  box-shadow: none;
}

.pws-account .pws-checkout .pws-backlink,
.pws-checkout.pws-view .pws-backlink {
  margin: 0 0 20px;
  font-size: 12px;
}

.pws-account .pws-checkout .pws-backlink a,
.pws-checkout.pws-view .pws-backlink a {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f15a29 !important;
  text-decoration: none !important;
}

.pws-account .pws-checkout .pws-backlink a:hover,
.pws-checkout.pws-view .pws-backlink a:hover {
  color: #d64715 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.pws-account .pws-checkout h1.pws-page__title,
.pws-checkout.pws-view h1.pws-page__title {
  margin: 0 0 10px;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
  font-size: clamp(34px, 8vw, 52px);
  line-height: 1.05;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #1a1a1a;
}

.pws-account .pws-checkout .pws-page__eyebrow,
.pws-checkout.pws-view .pws-page__eyebrow {
  margin: 0 0 12px;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #12a150;
}

.pws-account .pws-checkout .pws-page__intro,
.pws-checkout.pws-view .pws-page__intro {
  margin: 0;
  font-size: 17px;
  letter-spacing: 0;
  text-transform: none;
  color: #4a4a4a;
}

.pws-account .pws-checkout .pws-infocard,
.pws-checkout.pws-view .pws-infocard {
  background: #ffffff;
  border: 1px solid #e4e4e0;
  padding: 24px;
}

.pws-account .pws-checkout h2.pws-infocard__title,
.pws-checkout.pws-view h2.pws-infocard__title {
  margin: 0 0 18px;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 19px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1a1a1a;
  line-height: 1.2;
}

.pws-account .pws-checkout .pws-checkout__summary-head,
.pws-checkout.pws-view .pws-checkout__summary-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
  margin: 0 0 8px;
}

.pws-account .pws-checkout .pws-checkout__summary-head .pws-infocard__title,
.pws-checkout.pws-view .pws-checkout__summary-head .pws-infocard__title {
  margin: 0;
}

.pws-account .pws-checkout .pws-checkout__summary-note,
.pws-checkout.pws-view .pws-checkout__summary-note {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: #7a7a7a;
}

.pws-account .pws-checkout .pws-field label,
.pws-account .pws-checkout .pws-fieldset legend,
.pws-checkout.pws-view .pws-field label,
.pws-checkout.pws-view .pws-fieldset legend {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #4a4a4a;
  line-height: 1.4;
}

.pws-account .pws-checkout .pws-input,
.pws-account .pws-checkout .pws-field input[type=text],
.pws-account .pws-checkout .pws-field input[type=password],
.pws-account .pws-checkout .pws-field input[type=email],
.pws-account .pws-checkout .pws-field input[type=tel],
.pws-account .pws-checkout .pws-field input[type=date],
.pws-account .pws-checkout .pws-field select,
.pws-account .pws-checkout select.pws-input,
.pws-checkout.pws-view .pws-input,
.pws-checkout.pws-view .pws-field input[type=text],
.pws-checkout.pws-view .pws-field input[type=password],
.pws-checkout.pws-view .pws-field input[type=email],
.pws-checkout.pws-view .pws-field input[type=tel],
.pws-checkout.pws-view .pws-field input[type=date],
.pws-checkout.pws-view .pws-field select,
.pws-checkout.pws-view select.pws-input {
  width: 100%;
  height: 52px;
  min-height: 52px;
  padding: 0 14px;
  font: inherit;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: #1a1a1a;
  background: #f7f7f5;
  border: 1px solid #d8d8d4;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

.pws-account .pws-checkout .pws-field input[type=date],
.pws-account .pws-checkout .pws-field select,
.pws-account .pws-checkout select.pws-input,
.pws-checkout.pws-view .pws-field input[type=date],
.pws-checkout.pws-view .pws-field select,
.pws-checkout.pws-view select.pws-input {
  -webkit-appearance: auto;
  appearance: auto;
}

.pws-account .pws-checkout .pws-formgrid,
.pws-checkout.pws-view .pws-formgrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
}

.pws-account .pws-checkout .pws-formgrid .pws-field input,
.pws-checkout.pws-view .pws-formgrid .pws-field input,
.pws-account .pws-checkout .pws-formgrid .pws-field select,
.pws-checkout.pws-view .pws-formgrid .pws-field select {
  height: 52px;
  min-height: 52px;
  max-height: 52px;
  margin: 0;
  box-sizing: border-box;
}

.pws-account .pws-checkout .pws-radio,
.pws-checkout.pws-view .pws-radio {
  border: 1px solid #d8d8d4;
}

.pws-account .pws-checkout .pws-radio + .pws-radio,
.pws-checkout.pws-view .pws-radio + .pws-radio {
  margin-top: -1px;
  border-top: 1px solid #d8d8d4;
}

.pws-account .pws-checkout .pws-radio:has(input:checked),
.pws-checkout.pws-view .pws-radio:has(input:checked) {
  position: relative;
  z-index: 1;
  border-color: #00803d;
}

.pws-account .pws-checkout textarea.pws-input,
.pws-account .pws-checkout .pws-field textarea,
.pws-checkout.pws-view textarea.pws-input,
.pws-checkout.pws-view .pws-field textarea {
  height: auto;
  min-height: 96px;
  padding: 14px 16px;
}

.pws-account .pws-checkout .pws-orderline,
.pws-checkout.pws-view .pws-orderline {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 16px 0;
  border-bottom: 1px solid #efefec;
  background: #ffffff;
}

.pws-account .pws-checkout .pws-orderline__name,
.pws-checkout.pws-view .pws-orderline__name {
  font-weight: 600;
  color: #1a1a1a;
}

.pws-account .pws-checkout .pws-orderline__sum,
.pws-checkout.pws-view .pws-orderline__sum {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #1a1a1a;
}

.pws-account .pws-checkout .pws-totals__list,
.pws-checkout.pws-view .pws-totals__list {
  margin: 16px 0 0;
  padding: 8px 0 0;
}

.pws-account .pws-checkout .pws-totals__list dt,
.pws-checkout.pws-view .pws-totals__list dt {
  margin: 0;
  color: #4a4a4a;
}

.pws-account .pws-checkout .pws-totals__list dd,
.pws-checkout.pws-view .pws-totals__list dd {
  margin: 0;
  text-align: right;
  color: #1a1a1a;
}

.pws-account .pws-checkout dt.pws-totals__grand,
.pws-checkout.pws-view dt.pws-totals__grand {
  padding-top: 14px;
  border-top: 1px solid #e4e4e0;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1a1a1a;
}

.pws-account .pws-checkout dd.pws-totals__grand,
.pws-checkout.pws-view dd.pws-totals__grand {
  padding-top: 14px;
  border-top: 1px solid #e4e4e0;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: #00803d;
}

.pws-account .pws-checkout .pws-notice,
.pws-checkout.pws-view .pws-notice {
  margin: 16px 0;
}

.pws-account .pws-checkout [data-pws-checkout-submit],
.pws-checkout.pws-view [data-pws-checkout-submit] {
  width: 100%;
  height: 56px;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff !important;
  background: #00803d !important;
  border: 0;
  border-radius: 0;
}

.pws-account .pws-checkout [data-pws-checkout-submit]:hover,
.pws-checkout.pws-view [data-pws-checkout-submit]:hover {
  background: #12a150 !important;
}

.pws-account .pws-checkout [data-pws-checkout-submit]:disabled,
.pws-checkout.pws-view [data-pws-checkout-submit]:disabled {
  background: #a8b3ab !important;
}

/* Notices */
.pws-notice {
  padding: 20px 22px;
  border-left: 3px solid var(--pws-border-strong);
  background: var(--pws-bg-soft);
}

.pws-notice__title {
  margin: 0 0 4px;
  font-weight: 700;
}

.pws-notice p:last-child {
  margin-bottom: 0;
}

.pws-notice--green {
  background: var(--pws-green-soft);
  border-left-color: var(--pws-green);
  color: var(--pws-green-deep);
}

.pws-notice--warning {
  background: var(--pws-alert-bg);
  border-left-color: var(--pws-alert-line);
  color: var(--pws-alert-ink);
}

.pws-notice--info {
  border-left-color: var(--pws-green-mid);
}

.pws-notice--soft {
  border-left-color: var(--pws-border-strong);
}

/* Numbered flow */
.pws-flow {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: pws-flow;
}

.pws-flow li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.pws-flow__n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: var(--pws-green-soft);
  color: var(--pws-green-deep);
  font-weight: 700;
}

.pws-flow__title {
  display: block;
  font-weight: 700;
}

.pws-flow__body {
  display: block;
  font-size: 14px;
  color: var(--pws-muted);
}

.pws-flow--compact {
  gap: 12px;
}

.pws-flow--compact .pws-flow__n {
  background: #fff;
}

/* Empty states */
.pws-empty {
  border: 1px solid var(--pws-border);
  padding: 56px 30px;
  text-align: center;
  display: grid;
  gap: 10px;
  justify-items: center;
}

.pws-empty[hidden],
.pws-product[hidden] {
  display: none;
}

.pws-empty--flush {
  border: 0;
  padding: 40px 26px;
}

.pws-empty__title {
  margin: 0;
  font-family: var(--pws-font-display);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pws-empty p {
  margin: 0;
  max-width: 52ch;
  color: var(--pws-muted);
}

/* Files */
.pws-dropzone {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 44px 26px;
  margin-bottom: var(--pws-space-lg);
  border: 2px dashed var(--pws-border-strong);
  background: var(--pws-bg-soft);
  text-align: center;
}

.pws-dropzone[aria-disabled=true] {
  opacity: 0.7;
}

.pws-dropzone__icon {
  color: var(--pws-green);
}

.pws-dropzone__title {
  margin: 0;
  font-family: var(--pws-font-display);
  font-size: 20px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pws-dropzone__hint {
  margin: 0 0 12px;
  font-size: 13px;
  color: var(--pws-faint);
}

/* Order received hero */
.pws-hero {
  position: relative;
  overflow: hidden;
  padding: 44px 40px;
  background: var(--pws-green-soft);
  margin-bottom: var(--pws-space-lg);
}

.pws-hero__corner {
  position: absolute;
  right: -60px;
  top: -60px;
  width: 240px;
  height: 240px;
  background: var(--pws-green-mint);
  border-radius: 0 0 0 100%;
  opacity: 0.55;
}

.pws-hero__inner {
  position: relative;
}

.pws-hero__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 18px;
  background: var(--pws-green);
  color: #fff;
  animation: pws-hero-check 420ms var(--pws-ease) both;
}

@keyframes pws-hero-check {
  from {
    opacity: 0;
    transform: scale(0.6);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.pws-hero__eyebrow {
  margin: 0 0 6px;
  font-family: var(--pws-font-display);
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--pws-green);
}

.pws-hero__lead {
  margin: 0;
  max-width: 62ch;
  color: var(--pws-green-deep);
}

/* Order received island — theme .entry-content h1/h2 cannot win. */
.pws-account .pws-received,
.pws-received.pws-view {
  background: #ffffff;
  color: #1a1a1a;
}

.pws-account .pws-received h1,
.pws-account .pws-received h2,
.pws-account .pws-received p,
.pws-account .pws-received dt,
.pws-account .pws-received dd,
.pws-received.pws-view h1,
.pws-received.pws-view h2,
.pws-received.pws-view p,
.pws-received.pws-view dt,
.pws-received.pws-view dd {
  max-width: none;
  background: transparent;
  box-shadow: none;
}

.pws-account .pws-received .pws-hero,
.pws-received.pws-view .pws-hero {
  background: #dcefdc;
}

.pws-account .pws-received .pws-hero__corner,
.pws-received.pws-view .pws-hero__corner {
  background: #a8e3b0;
}

.pws-account .pws-received .pws-hero__check,
.pws-received.pws-view .pws-hero__check {
  background: #00803d;
  color: #fff;
}

.pws-account .pws-received .pws-hero__eyebrow,
.pws-received.pws-view .pws-hero__eyebrow {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #00803d;
}

.pws-account .pws-received h1.pws-page__title,
.pws-received.pws-view h1.pws-page__title {
  margin: 0 0 14px;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
  font-size: clamp(34px, 8vw, 52px);
  line-height: 1.03;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #1a1a1a;
}

.pws-account .pws-received .pws-hero__lead,
.pws-received.pws-view .pws-hero__lead {
  font-size: 18px;
  line-height: 1.6;
  color: #264d33;
}

.pws-account .pws-received .pws-infocard,
.pws-account .pws-received .pws-panel,
.pws-received.pws-view .pws-infocard,
.pws-received.pws-view .pws-panel {
  background: #ffffff;
  border: 1px solid #e4e4e0;
}

.pws-account .pws-received h2.pws-infocard__title,
.pws-account .pws-received h2.pws-panel__title,
.pws-received.pws-view h2.pws-infocard__title,
.pws-received.pws-view h2.pws-panel__title {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 19px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1a1a1a;
}

.pws-account .pws-received .pws-orderline__sum,
.pws-received.pws-view .pws-orderline__sum {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #1a1a1a;
}

.pws-account .pws-received dd.pws-totals__grand,
.pws-received.pws-view dd.pws-totals__grand {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 24px;
  font-weight: 400;
  color: #00803d;
}

/* Cart drawer — fully custom. IDs beat theme `.entry-content div/h2/ul` rules. */
.pws-cart {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none;
  width: auto;
  height: auto;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.pws-cart[hidden],
.pws-cart [hidden],
#pws-cart-drawer [hidden] {
  display: none !important;
}

body.pws-cart-open {
  overflow: hidden;
}

body.pws-cart-open .pws-preview {
  display: none !important;
}

.pws-cart__overlay {
  position: fixed;
  inset: 0;
  background: rgba(26, 26, 26, 0.45);
  border: 0;
  opacity: 0;
  transition: opacity 240ms var(--pws-ease);
}

.pws-cart.is-open .pws-cart__overlay {
  opacity: 1;
}

#pws-cart-drawer.pws-cart__drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: min(440px, 100%);
  max-width: 100%;
  height: 100%;
  height: 100dvh;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  background-color: #ffffff;
  border: 0;
  border-left: 1px solid #e4e4e0;
  box-shadow: -16px 0 48px rgba(0, 0, 0, 0.14);
  font-family: "Figtree", "Helvetica Neue", Arial, sans-serif;
  color: #1a1a1a;
  line-height: 1.55;
  transform: translateX(100%);
  transition: transform 320ms var(--pws-ease);
}

.pws-cart.is-open #pws-cart-drawer.pws-cart__drawer {
  transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
  .pws-cart__overlay,
  #pws-cart-drawer.pws-cart__drawer {
    transition: none;
  }
  .pws-hero__check {
    animation: none;
  }
}
#pws-cart-drawer h1,
#pws-cart-drawer h2,
#pws-cart-drawer h3,
#pws-cart-drawer p,
#pws-cart-drawer ul,
#pws-cart-drawer li,
#pws-cart-drawer button,
#pws-cart-drawer a {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  max-width: none;
}

#pws-cart-drawer .pws-cart__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 26px;
  border-bottom: 1px solid #e4e4e0;
  background: #ffffff;
}

#pws-cart-drawer .pws-cart__title {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1a1a1a;
  line-height: 1.2;
}

#pws-cart-drawer .pws-cart__close {
  width: 44px;
  height: 44px;
  flex: none;
  font: inherit;
  font-size: 17px;
  color: #1a1a1a;
  background: transparent;
  border: 1px solid #dcdcd8;
  border-radius: 50%;
  cursor: pointer;
}

#pws-cart-drawer .pws-cart__close:hover {
  background: #f2f2ef;
}

#pws-cart-drawer .pws-cart__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0;
  background: #ffffff;
}

#pws-cart-drawer .pws-cart__loading {
  margin: 20px 26px;
  font-size: 14px;
  color: #7a7a7a;
}

#pws-cart-drawer .pws-cart__empty:not([hidden]) {
  display: grid;
  gap: 10px;
  justify-items: center;
  text-align: center;
  padding: 48px 26px;
}

#pws-cart-drawer .pws-cart__empty-title {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1a1a1a;
}

#pws-cart-drawer .pws-cart__empty-body {
  margin: 0 0 12px;
  font-size: 15px;
  color: #4a4a4a;
}

#pws-cart-drawer .pws-cart__lines {
  list-style: none;
}

#pws-cart-drawer .pws-cart-line {
  padding: 18px 26px;
  border-bottom: 1px solid #efefec;
  background: #ffffff;
}

#pws-cart-drawer .pws-cart-line.is-invalid {
  background: #fbeae4;
}

#pws-cart-drawer .pws-cart-line__head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
}

#pws-cart-drawer .pws-cart-line__id {
  display: grid;
  gap: 3px;
  min-width: 0;
  flex: 1;
}

#pws-cart-drawer .pws-cart-line__name {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  overflow-wrap: anywhere;
}

#pws-cart-drawer .pws-cart-line__meta {
  display: block;
  font-size: 13px;
  color: #7a7a7a;
}

#pws-cart-drawer .pws-cart-line__remove {
  width: 36px;
  height: 36px;
  flex: none;
  font: inherit;
  font-size: 14px;
  color: #7a7a7a;
  background: transparent;
  border: 0;
  cursor: pointer;
}

#pws-cart-drawer .pws-cart-line__remove:hover {
  color: #c24a1e;
}

#pws-cart-drawer .pws-cart-line__notice {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  color: #7c2a0f;
}

#pws-cart-drawer .pws-cart-line__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

#pws-cart-drawer .pws-cart-line__sum {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 19px;
  font-weight: 400;
  color: #1a1a1a;
  white-space: nowrap;
}

#pws-cart-drawer .pws-qty {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  border: 1px solid #d8d8d4;
  background: #ffffff;
}

#pws-cart-drawer .pws-qty.is-busy {
  pointer-events: none;
}

#pws-cart-drawer .pws-qty.is-busy > :not(.pws-spinner) {
  opacity: 0.35;
}

#pws-cart-drawer .pws-qty .pws-spinner {
  position: absolute;
  inset: 0;
  margin: auto;
  color: #00803d;
}

#pws-cart-drawer .pws-qty__btn {
  width: 44px;
  height: 44px;
  font: inherit;
  font-size: 17px;
  color: #1a1a1a;
  background: #ffffff;
  border: 0;
  cursor: pointer;
}

#pws-cart-drawer .pws-qty__btn:hover {
  background: #f2f2ef;
}

#pws-cart-drawer .pws-qty__value {
  width: 46px;
  min-width: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  border-left: 1px solid #d8d8d4;
  border-right: 1px solid #d8d8d4;
}

#pws-cart-drawer .pws-cart__foot {
  padding: 22px 26px;
  border-top: 1px solid #e4e4e0;
  background: #f7f7f5;
}

#pws-cart-drawer .pws-cart__totals {
  display: grid;
  gap: 6px;
  margin-bottom: 18px;
}

#pws-cart-drawer .pws-cart__total-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  font-size: 15px;
  color: #4a4a4a;
}

#pws-cart-drawer .pws-cart__total-row--grand {
  padding-top: 10px;
  border-top: 1px solid #d8d8d4;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1a1a1a;
}

#pws-cart-drawer .pws-cart__total-row--grand > :last-child {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: #00803d;
  white-space: nowrap;
}

#pws-cart-drawer .pws-cart__vat-note {
  margin: 4px 0 0;
  font-size: 12px;
  color: #7a7a7a;
}

#pws-cart-drawer .pws-cart__blocked {
  margin: 0 0 12px;
  padding: 12px 14px;
  font-size: 13px;
  font-weight: 600;
  background: #fbeae4;
  border-left: 3px solid #c24a1e;
  color: #7c2a0f;
}

#pws-cart-drawer .pws-cart__checkout,
#pws-cart-drawer .pws-cart__continue {
  width: 100%;
  box-sizing: border-box;
}

#pws-cart-drawer .pws-cart__checkout {
  height: 56px;
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #fff !important;
  background: #00803d !important;
}

#pws-cart-drawer .pws-cart__checkout:hover {
  background: #12a150 !important;
}

#pws-cart-drawer .pws-cart__continue {
  height: 50px;
  margin-top: 10px;
  color: #1a1a1a !important;
  background: transparent !important;
  border: 1px solid #d8d8d4;
}

#pws-cart-drawer .pws-cart__continue:hover {
  background: #efefec !important;
}

/* Toast */
.pws-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 2147483001;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: min(420px, 100vw - 48px);
  padding: 14px 18px;
  font-family: var(--pws-font-body);
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: var(--pws-green);
  box-shadow: var(--pws-shadow);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 280ms var(--pws-ease), transform 280ms var(--pws-ease);
}

.pws-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.pws-toast[hidden] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .pws-toast {
    transform: none;
    transition: opacity 280ms var(--pws-ease);
  }
}
.pws-toast--error {
  background: var(--pws-alert-line);
}

/* Login / auth */
.pws-login {
  max-width: 1320px;
  margin: 0 auto;
  padding: 36px 40px 64px;
}

.pws-login__shell {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  min-height: 640px;
  border: 1px solid var(--pws-border);
}

@media (max-width: 900px) {
  .pws-login {
    padding: 26px 18px 48px;
  }
  .pws-login__shell {
    grid-template-columns: 1fr;
  }
}
.pws-login__info {
  position: relative;
  overflow: hidden;
  background: var(--pws-green);
  color: #fff;
  padding: 48px 42px;
}

.pws-login__info-corner {
  position: absolute;
  right: -40px;
  bottom: -40px;
  width: 220px;
  height: 220px;
  background: var(--pws-green-mid);
  border-radius: 100% 0 0 0;
  opacity: 0.35;
}

.pws-login__info-inner {
  position: relative;
}

.pws-login__info h1 {
  margin: 0 0 18px;
  font-family: var(--pws-font-display);
  font-weight: 300;
  font-size: clamp(34px, 4vw, 46px);
  line-height: 1.05;
  text-transform: uppercase;
  color: #fff;
}

.pws-login__eyebrow {
  margin: 0 0 10px;
  font-family: var(--pws-font-display);
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--pws-green-mint);
}

.pws-login__eyebrow--dark {
  color: var(--pws-green-mid);
}

.pws-login__lead {
  margin: 0 0 36px;
  font-size: 17px;
  max-width: 44ch;
  opacity: 0.92;
}

.pws-login__benefits {
  list-style: none;
  margin: 0 0 36px;
  padding: 0;
  display: grid;
  gap: 24px;
}

.pws-login__benefits li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
}

.pws-login__benefits h2 {
  margin: 0 0 4px;
  font-family: var(--pws-font-body);
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-transform: none;
}

.pws-login__benefits p {
  margin: 0;
  font-size: 14px;
  opacity: 0.9;
}

.pws-login__dot {
  width: 10px;
  height: 10px;
  margin-top: 8px;
  background: var(--pws-green-mint);
  border-radius: 100% 0 0 0;
}

.pws-login__footnote {
  margin: 0;
  font-size: 13px;
  opacity: 0.8;
  max-width: 46ch;
}

.pws-login__form-panel {
  padding: 48px 42px;
  background: var(--pws-bg);
}

.pws-login__form-panel .pws-login__footnote {
  margin-top: 26px;
  color: var(--pws-muted);
  opacity: 1;
}

.pws-login__form-panel--centered {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.pws-login__form-panel h2 {
  margin: 0 0 10px;
  font-family: var(--pws-font-display);
  font-weight: 400;
  font-size: 30px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pws-login__form-panel h3 {
  margin: 0 0 6px;
  font-family: var(--pws-font-display);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pws-login__intro {
  margin: 0 0 28px;
  color: var(--pws-muted);
  max-width: 48ch;
}

.pws-login__extras {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.pws-login__back {
  margin: 26px 0 0;
  font-size: 14px;
}

.pws-login__signup {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--pws-border);
}

.pws-login__signup p {
  margin: 0 0 12px;
  color: var(--pws-muted);
}

.pws-login--fluent .pws-login__shell {
  grid-template-columns: 0.72fr 1.28fr;
}

.pws-login--fluent-embed {
  max-width: 820px;
  margin: 0 auto;
  padding: 12px 0 48px;
  border: 0;
}

.pws-login--fluent-embed .pws-login__form-panel {
  padding: 0;
  background: transparent;
}

.pws-signup-fluent > p {
  margin: 0 0 22px;
  color: var(--pws-muted);
  max-width: 52ch;
}

.pws-signup-fluent .bolt-back-to-login {
  margin: 0 0 16px;
}

.pws-signup-fluent .bolt-signup-field-group {
  margin: 0 0 24px;
  padding: 18px;
  background: var(--pws-bg-soft);
  border: 1px solid var(--pws-border);
}

.pws-signup-fluent .bolt-signup-input-label {
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pws-muted);
}

.pws-signup-fluent .bolt-signup-input-content {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pws-signup-fluent .bolt-signup-form-check {
  margin: 0;
}

.pws-signup-fluent .bolt-signup-form-check-label {
  cursor: pointer;
  display: flex;
  align-items: center;
}

.pws-signup-fluent .bolt-signup-form-check-label input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.pws-signup-fluent .bolt-signup-form-check-label span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--pws-border-strong);
  border-radius: 0;
  background: var(--pws-bg);
  color: var(--pws-ink);
  font-size: 14px;
  font-weight: 700;
}

.pws-signup-fluent .bolt-signup-form-check-label input[type=radio]:checked + span {
  background: var(--pws-green);
  border-color: var(--pws-green);
  color: #fff;
}

.pws-signup-fluent .bolt-signup-form-check-label input[type=radio]:focus-visible + span {
  outline: 2px solid var(--pws-orange);
  outline-offset: 2px;
}

.pws-signup-fluent .new-account-message,
.pws-signup-fluent .new-account-form {
  margin-top: 8px;
}

.pws-signup-fluent .new-account-message {
  padding: 16px 18px;
  background: var(--pws-green-soft);
  border-left: 3px solid var(--pws-green);
  color: var(--pws-green-deep);
}

.pws-signup-fluent .new-account-message p {
  margin: 0;
  max-width: 58ch;
  line-height: 1.6;
}

.pws-signup-fluent .ff-el-form-control,
.pws-signup-fluent .fluent-address select,
.pws-signup-fluent textarea.ff-el-form-control {
  width: 100%;
  min-height: 54px;
  padding: 0 16px;
  font: inherit;
  font-size: 16px;
  color: var(--pws-ink);
  background: var(--pws-bg-soft);
  border: 1px solid var(--pws-border-strong);
  border-radius: 0;
}

.pws-signup-fluent textarea.ff-el-form-control {
  padding: 14px 16px;
  min-height: 96px;
}

.pws-signup-fluent .ff-el-input--label label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pws-muted);
}

.pws-signup-fluent .ff-btn-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 0 22px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  background: var(--pws-green);
  border: 0;
  border-radius: 0;
  cursor: pointer;
}

.pws-signup-fluent .ff-btn-submit:hover {
  background: var(--pws-green-mid);
}

@media (max-width: 900px) {
  .pws-login--fluent .pws-login__shell {
    grid-template-columns: 1fr;
  }
}
.pws-alert {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 12px;
  margin: 0 0 24px;
  padding: 16px 18px;
}

.pws-alert p {
  margin: 0;
}

.pws-alert p + p {
  margin-top: 6px;
}

.pws-alert--error {
  background: var(--pws-alert-bg);
  border-left: 3px solid var(--pws-alert-line);
  color: var(--pws-alert-ink);
}

.pws-alert--success {
  background: var(--pws-green-soft);
  border-left: 3px solid var(--pws-green);
  color: var(--pws-green-deep);
}

/* Legacy WooCommerce checkout shell (PunchOut path until phase 04) */
body.pws-myaccount-checkout .woocommerce {
  max-width: 1440px;
  margin: 0 auto;
  padding: 36px 40px 64px;
  display: block;
}

.pws-checkout .wc-checkout-title,
.pws-checkout h3 {
  font-family: var(--pws-font-display);
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pws-checkout .wc-checkout-reservation-notice {
  margin-top: 24px;
  padding: 22px 24px;
  background: var(--pws-green-soft);
  border-left: 3px solid var(--pws-green);
}

.pws-checkout .sap_details_information {
  margin: 12px 0 20px;
  padding: 16px 18px;
  background: var(--pws-bg-soft);
  border: 1px solid var(--pws-border);
}

.pws-checkout .sap_details_information ul {
  margin: 0;
  padding-left: 18px;
}

/* Administrator "Preview as" — left. Cart peek occupies the right corner. */
.pws-preview {
  --pws-preview-ink: #e8ede9;
  --pws-preview-muted: #8a968e;
  --pws-preview-line: #3e4c45;
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 99990;
  width: min(300px, 100vw - 48px);
  font-family: var(--pws-font-body);
  color: var(--pws-preview-ink);
  background: #1b241f;
  border: 1px solid var(--pws-preview-line);
  box-shadow: var(--pws-shadow);
}

.pws-preview__head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid #33403a;
  cursor: pointer;
  list-style: none;
}

.pws-preview__head::-webkit-details-marker {
  display: none;
}

.pws-preview__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--pws-preview-muted);
}

.pws-preview__dot.is-active {
  background: var(--pws-green-mint);
}

.pws-preview__eyebrow {
  font-family: var(--pws-font-display);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pws-green-mint);
}

.pws-preview__chevron {
  margin-left: auto;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pws-preview-line);
  color: #c7cfc8;
}

.pws-preview__chevron::before {
  content: "▲";
  font-size: 9px;
}

.pws-preview[open] .pws-preview__chevron::before {
  content: "▼";
}

.pws-preview__body {
  padding: 14px;
}

.pws-preview__label {
  display: block;
  margin-bottom: 7px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pws-preview-muted);
}

.pws-preview__select {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  font: inherit;
  font-size: 14px;
  color: #fff;
  background: #111815;
  border: 1px solid var(--pws-preview-line);
  border-radius: 0;
}

.pws-preview__apply,
.pws-preview__exit {
  width: 100%;
  height: 40px;
  margin-top: 10px;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pws-preview-ink);
  background: transparent;
  border: 1px solid var(--pws-preview-line);
  cursor: pointer;
  transition: background 240ms var(--pws-ease);
}

.pws-preview__apply:hover,
.pws-preview__exit:hover {
  background: #2a342e;
}

.pws-preview__facts {
  margin: 14px 0 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 7px 14px;
}

.pws-preview__facts dt {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pws-preview-muted);
  white-space: nowrap;
}

.pws-preview__facts dd {
  margin: 0;
  font-size: 13px;
  text-align: right;
  overflow-wrap: anywhere;
}

.pws-preview__note {
  margin: 14px 0 0;
  font-size: 11px;
  line-height: 1.5;
  color: var(--pws-preview-muted);
}

.pws-preview__error {
  margin: 0 0 12px;
  padding: 10px 12px;
  font-size: 12px;
  color: #ffd9cc;
  background: rgba(194, 74, 30, 0.22);
  border-left: 3px solid var(--pws-alert-line);
}

.pws-preview :focus-visible {
  outline: 2px solid var(--pws-green-mint);
  outline-offset: 2px;
}

body.pws-myaccount .pws-toast {
  right: auto;
  left: 50%;
  transform: translateX(-50%) translateY(12px);
}

body.pws-myaccount .pws-toast.is-visible {
  transform: translateX(-50%) translateY(0);
}

.pws-cart-peek {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 2147483002;
  width: 220px;
  padding: 0;
  display: flex;
  flex-direction: column;
  font-family: "Figtree", "Helvetica Neue", Arial, sans-serif;
  color: #1a1a1a;
  text-align: left;
  background: #ffffff;
  border: 1px solid #e4e4e0;
  border-left: 1px solid #e4e4e0;
  box-shadow: -16px 0 48px rgba(0, 0, 0, 0.14);
  cursor: pointer;
}

.pws-cart-peek[hidden] {
  display: none !important;
}

body.pws-myaccount-checkout .pws-cart-peek,
body.pws-cart-open .pws-cart-peek {
  display: none !important;
}

.pws-cart-peek__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid #e4e4e0;
  background: #ffffff;
}

.pws-cart-peek__title {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1a1a1a;
}

.pws-cart-peek__count {
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: #f15a29;
}

.pws-cart-peek__items {
  display: grid;
  gap: 0;
  min-width: 0;
  background: #ffffff;
}

.pws-cart-peek__item {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px 14px;
  border-bottom: 1px solid #efefec;
}

.pws-cart-peek__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  color: #1a1a1a;
}

.pws-cart-peek__meta {
  font-size: 11px;
  color: #7a7a7a;
}

.pws-cart-peek__more {
  padding: 6px 14px 0;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #7a7a7a;
}

.pws-cart-peek__foot {
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding: 10px 14px 12px;
  border-top: 1px solid #e4e4e0;
  background: #f7f7f5;
}

.pws-cart-peek__total-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.pws-cart-peek__total-row--vat .pws-cart-peek__total-label,
.pws-cart-peek__total-row--vat .pws-cart-peek__vat {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: #4a4a4a;
}

.pws-cart-peek__total-label {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1a1a1a;
}

.pws-cart-peek__vat,
.pws-cart-peek__total {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  color: #00803d;
  white-space: nowrap;
}

.pws-cart-peek__note {
  font-size: 11px;
  color: #7a7a7a;
}

.pws-cart-peek__cta {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #f15a29;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.pws-cart-peek:hover {
  background: #ffffff;
  box-shadow: -18px 0 56px rgba(0, 0, 0, 0.18);
}

.pws-cart-peek:focus-visible {
  outline: 2px solid #f15a29;
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .pws-preview {
    left: 12px;
    right: auto;
    bottom: 12px;
    width: min(220px, 50vw - 18px);
  }
  .pws-cart-peek {
    right: 12px;
    bottom: 12px;
    width: min(200px, 50vw - 18px);
  }
}
/* Mobile nav */
.pws-sidebar__mobile-toggle {
  display: none;
  width: 100%;
  height: 52px;
  margin-bottom: 10px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: var(--pws-bg);
  border: 1px solid var(--pws-border);
  cursor: pointer;
}

@media (max-width: 820px) {
  .pws-sidebar__mobile-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .pws-sidebar.is-collapsed .pws-sidebar__nav,
  .pws-sidebar.is-collapsed .pws-sidebar__persona {
    display: none;
  }
}
