/* Storefront bundle: shop, product, cart, checkout. Account CSS lives in wppm-public.css. */

/* public/wppm-public.css lines 1-247 */
.wppm-use-prescription {
  margin: 0 0 12px;
  color: #111111;
}

.wppm-use-prescription--product {
  padding: 12px 14px;
  border: 1px solid var(--wppm-border, #d0d5dd);
  border-radius: 10px;
  background: #fff;
}

.wppm-use-prescription__hint {
  margin: 6px 0 0;
  font-size: 0.875rem;
  color: #667085;
}

.wppm-use-prescription--cart,
.wppm-use-prescription--inline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin: 10px 0 0;
  min-height: 44px;
  font-weight: 500;
  color: #111111 !important;
}

.wppm-use-prescription--cart label,
.wppm-use-prescription--product label,
.wppm-use-prescription span {
  color: #111111 !important;
  -webkit-text-fill-color: #111111;
}

.wppm-use-prescription--cart > label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.wppm-use-prescription__error {
  margin: 0;
  min-height: 1.2em;
  color: #8f1111;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.3;
}

.wppm-use-prescription__error[hidden] {
  display: block !important;
  visibility: hidden;
}

td.product-prescription {
  width: 1%;
  white-space: nowrap;
}

.wppm-cart-notice,
.wppm-checkout-prescriber {
  --wppm-primary: #111111;
  --wppm-navy: #111111;
  --wppm-brand-black: #111111;
  --wppm-brand-accent: var(--nectar-accent-color, #a2fadb);
  --wppm-brand-accent-end: #b5fefc;
  --wppm-brand-gradient: linear-gradient(135deg, var(--wppm-brand-accent) 0%, var(--wppm-brand-accent-end) 100%);
  --wppm-border: #d0d5dd;
  --wppm-bg: #f8fafc;
  --wppm-warning-bg: #ffe8a3;
  --wppm-warning-border: #f6b73c;
  --wppm-space-md: 16px;
  --wppm-space-lg: 24px;
  --wppm-radius-md: 12px;
  --wppm-radius-lg: 16px;
  --wppm-shadow-sm: 0 12px 32px rgba(17, 17, 17, 0.08);
  --wppm-text-sm: 0.875rem;
  --wppm-text-xs: 0.75rem;
}

.wppm-cart-notice {
  display: flex;
  gap: 16px;
  margin: 0 0 24px;
  padding: 20px;
  border: 1px solid var(--wppm-border);
  border-radius: 12px;
  background: var(--wppm-bg);
}

.wppm-cart-notice--split.wppm-cart-notice--prescriber {
  border-color: var(--wppm-border);
  background: #fff;
}

.wppm-cart-notice__icon {
  font-size: 28px;
  line-height: 1;
}

.wppm-cart-notice__title {
  margin: 0 0 8px;
  font-size: 1.125rem;
}

.wppm-cart-notice__text {
  margin: 0 0 10px;
}

.wppm-cart-notice__options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.wppm-cart-notice--split .wppm-cart-notice__panel {
  padding: var(--wppm-space-lg);
  background: #f8fafc;
}

.wppm-cart-notice--split .wppm-cart-notice__panel .wppm-cart-notice__lead {
  margin: 0;
}

.wppm-cart-notice--split {
  --wppm-brand-black: #111111;
  --wppm-brand-accent: var(--nectar-accent-color, #a2fadb);
  --wppm-brand-accent-end: #b5fefc;
  --wppm-brand-gradient: linear-gradient(135deg, var(--wppm-brand-accent) 0%, var(--wppm-brand-accent-end) 100%);
  --wppm-text: #1c2833;
  --wppm-text-muted: #667085;
  --wppm-border: #d0d5dd;
  --wppm-radius-md: 12px;
  --wppm-radius-lg: 16px;
  --wppm-shadow-sm: 0 12px 32px rgba(17, 17, 17, 0.08);
  --wppm-space-md: 16px;
  --wppm-space-lg: 24px;
  --wppm-text-sm: 0.875rem;
  --wppm-text-xs: 0.75rem;
  flex-direction: column;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--wppm-border);
  border-radius: var(--wppm-radius-lg);
  background: #fff;
  box-shadow: var(--wppm-shadow-sm);
}

.wppm-cart-notice--split .wppm-cart-notice__hero {
  display: flex;
  gap: var(--wppm-space-md);
  align-items: flex-start;
  padding: var(--wppm-space-lg);
  background: var(--wppm-brand-gradient);
}

.wppm-cart-notice--split .wppm-cart-notice__symbol {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(17, 17, 17, 0.08);
  color: var(--wppm-brand-black);
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
}

.wppm-cart-notice--split .wppm-cart-notice__hero-text {
  flex: 1;
  min-width: 0;
}

.wppm-cart-notice--split .wppm-cart-notice__title {
  margin: 0 0 6px;
  color: var(--wppm-brand-black);
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.25;
}

.wppm-cart-notice--split .wppm-cart-notice__lead {
  margin: 0;
  color: var(--wppm-brand-black);
  font-size: var(--wppm-text-sm);
  line-height: 1.55;
  opacity: 0.9;
}

.wppm-cart-split-choices {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wppm-space-md);
  padding: var(--wppm-space-lg);
  background: #f8fafc;
}

.wppm-cart-choice {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--wppm-space-md);
  border: 1px solid var(--wppm-border);
  border-radius: var(--wppm-radius-md);
  background: #fff;
}

.wppm-cart-choice--featured {
  position: relative;
  border-color: var(--wppm-brand-black);
  box-shadow: 0 8px 24px rgba(17, 17, 17, 0.06);
}

.wppm-cart-choice__tag {
  align-self: flex-start;
  margin-bottom: 10px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--wppm-brand-black);
  color: #fff;
  font-size: var(--wppm-text-xs);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.wppm-cart-choice__title {
  margin: 0 0 8px;
  color: var(--wppm-brand-black);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
}

.wppm-cart-choice__body {
  margin: 0 0 10px;
  color: var(--wppm-text-muted);
  font-size: var(--wppm-text-sm);
  line-height: 1.55;
}

.wppm-cart-choice__list {
  margin: 0 0 14px;
  padding-left: 1.15rem;
  color: var(--wppm-text);
  font-size: var(--wppm-text-sm);
  line-height: 1.5;
}

.wppm-cart-choice__list li + li {
  margin-top: 6px;
}

.wppm-cart-choice__hint {
  margin: 0;
  color: var(--wppm-text-muted);
  font-size: var(--wppm-text-xs);
  line-height: 1.45;
}

.wppm-cart-choice__hint--emphasis {
  margin-top: auto;
  padding-top: 12px;
  color: var(--wppm-brand-black);
  font-size: var(--wppm-text-sm);
  font-weight: 600;
}

.wppm-cart-choice .wppm-btn {
  margin-top: auto;
  align-self: flex-start;
}

.wppm-cart-notice--checkout {
  margin-bottom: var(--wppm-space-lg);
}

.wppm-checkout-prescriber {
  margin: 0 0 24px;
  padding: 20px;
  border: 2px solid var(--wppm-primary);
  border-radius: 12px;
  background: #fff;
}

.wppm-checkout-prescriber h3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-top: 0;
}

.wppm-checkout-prescription {
  margin: 0 0 24px;
  padding: 20px;
  border: 1px solid var(--wppm-border, #d8dee5);
  border-radius: var(--wppm-radius-lg, 16px);
  background: #fff;
}

.wppm-checkout-prescription__patient {
  margin: 16px 0;
  padding: 16px;
  border: 1px solid var(--wppm-border, #d8dee5);
  border-radius: 12px;
}

.wppm-checkout-prescription__card-heading,
.wppm-checkout-prescription__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

.wppm-checkout-prescription__card-heading {
  grid-template-columns: 1fr auto;
  align-items: center;
}

.wppm-checkout-prescription__card-heading h4,
.wppm-checkout-prescription__grid .form-row {
  margin: 0;
}

.wppm-checkout-prescription__item {
  margin: 12px 0 0;
  padding: 12px;
  border: 1px solid var(--wppm-border, #d8dee5);
  border-radius: 10px;
}

.wppm-checkout-prescription__clinical {
  display: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}

.wppm-checkout-prescription__item.is-allocated .wppm-checkout-prescription__clinical {
  display: grid;
}

.wppm-checkout-prescription__coverage {
  margin-top: 12px;
}

.wppm-checkout-prescription__coverage p {
  margin: 4px 0;
}

.wppm-checkout-prescription__coverage .is-complete {
  color: #166534;
}

.wppm-checkout-prescription__coverage .is-error {
  color: #991b1b;
}

@media (max-width: 640px) {
  .wppm-checkout-prescription,
  .wppm-checkout-prescription__patient {
    padding: 12px;
  }

  .wppm-checkout-prescription__grid,
  .wppm-checkout-prescription__clinical {
    grid-template-columns: 1fr;
  }
}

.wppm-inline-note {
  display: block;
}


/* public/wppm-public.css lines 255-271 */
.wppm-card {
  border: 1px solid var(--wppm-border);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

.wppm-card__header {
  padding: 12px 16px;
  background: var(--wppm-bg);
  font-weight: 600;
  border-bottom: 1px solid var(--wppm-border);
}

.wppm-card__body {
  padding: 16px;
}

/* public/wppm-public.css lines 700-752 */
.wppm-account-wrap,
.wppm-account-registration-links,
.wppm-register-wrap,
.wppm-prescriber-dashboard,
.wppm-onboarding-shell,
.wppm-onboarding-prompt,
.wppm-storefront-access-shell {
  --wppm-navy: #000000;
  --wppm-blue: #000000;
  --wppm-brand-black: #111111;
  --wppm-brand-accent: var(--nectar-accent-color, #a2fadb);
  --wppm-brand-accent-end: #b5fefc;
  --wppm-brand-gradient: linear-gradient(135deg, var(--wppm-brand-accent) 0%, var(--wppm-brand-accent-end) 100%);
  --wppm-blue-light: #eefefa;
  --wppm-text: #1c2833;
  --wppm-text-muted: #667085;
  --wppm-bg-card: #ffffff;
  --wppm-bg-row-alt: #f8fafc;
  --wppm-border: #d0d5dd;
  --wppm-approved: #1e8449;
  --wppm-approved-bg: #d5f5e3;
  --wppm-approved-border: #a2fadb;
  --wppm-approved-gradient: linear-gradient(135deg, #a2fadb 0%, #b5fefc 100%);
  --wppm-pending: #0f4f66;
  --wppm-pending-bg: #d1f0ff;
  --wppm-pending-border: #5bbfe8;
  --wppm-onhold: #8f1111;
  --wppm-onhold-bg: #ffd6d6;
  --wppm-onhold-border: #ff7a7a;
  --wppm-incomplete: #111111;
  --wppm-incomplete-bg: #ffe8a3;
  --wppm-incomplete-border: #f6b73c;
  --wppm-disapproved: #8f1111;
  --wppm-disapproved-bg: #ffd6d6;
  --wppm-disapproved-border: #ff7a7a;
  --wppm-neutral: #566573;
  --wppm-neutral-bg: #f2f4f5;
  --wppm-neutral-border: #d5dbdb;
  --wppm-radius-sm: 4px;
  --wppm-radius-md: 12px;
  --wppm-radius-lg: 18px;
  --wppm-shadow-sm: 0 12px 32px rgba(17, 17, 17, 0.08);
  --wppm-space-sm: 8px;
  --wppm-space-md: 16px;
  --wppm-space-lg: 24px;
  --wppm-space-xl: 32px;
  --wppm-text-xs: 0.75rem;
  --wppm-text-sm: 0.875rem;
  --wppm-text-base: 1rem;
  --wppm-text-lg: 1.125rem;
  --wppm-text-xl: 1.35rem;
  color: var(--wppm-text);
}

/* public/wppm-public.css lines 1177-1232 */
.wppm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-size: var(--wppm-text-sm);
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.wppm-btn--primary {
  border-color: var(--wppm-brand-black, #111111);
  background: var(--wppm-brand-black, #111111);
  color: #fff;
}

.wppm-btn--primary:hover,
.wppm-btn--primary:focus {
  border-color: #000;
  background: #000;
  color: #fff;
  transform: translateY(-1px);
}

.wppm-btn--secondary {
  border-color: rgba(17, 17, 17, 0.18);
  background: #fff;
  color: var(--wppm-brand-black);
}

.wppm-btn--secondary:hover,
.wppm-btn--secondary:focus {
  border-color: var(--wppm-brand-black);
  background: var(--wppm-brand-black);
  color: #fff;
  transform: translateY(-1px);
}

.wppm-btn--danger {
  border-color: var(--wppm-disapproved);
  background: var(--wppm-disapproved);
  color: #fff;
}

.wppm-btn--sm {
  min-height: 34px;
  padding: 6px 14px;
  font-size: var(--wppm-text-xs);
}

/* public/wppm-public.css lines 1633-1656 */
.wppm-cart-notice:not(.wppm-cart-notice--split) .wppm-cart-notice__content {
  flex: 1;
}

.wppm-checkout-prescriber {
  border-color: var(--wppm-navy, #111111);
  border-radius: var(--wppm-radius-lg, 16px);
  box-shadow: var(--wppm-shadow-sm, 0 12px 32px rgba(17, 17, 17, 0.08));
}

.wppm-checkout-prescriber .wppm-btn--secondary:hover,
.wppm-checkout-prescriber .wppm-btn--secondary:focus,
.wppm-cart-notice .wppm-btn--secondary:hover,
.wppm-cart-notice .wppm-btn--secondary:focus {
  border-color: #111111;
  background: #111111;
  color: #fff;
}

.wppm-checkout-rx-upload__patient,
.wppm-patient-upload {
  margin: 0 0 16px;
  padding: 0 0 12px;
  border-bottom: 1px solid #e5e7eb;
}

.wppm-checkout-rx-upload__patient:last-child,
.wppm-patient-upload:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.wppm-checkout-invite[hidden] {
  display: none !important;
}

.wppm-checkout-prescriber h3 {
  color: var(--wppm-navy);
}

/* public/wppm-public.css lines 1701-1884 */
.wppm-access-gate {
  max-width: 980px;
  margin: 0 auto var(--wppm-space-xl);
}

.wppm-access-gate__card {
  border-color: rgba(17, 17, 17, 0.08);
  box-shadow: 0 22px 55px rgba(17, 17, 17, 0.12);
}

.wppm-access-gate__card .wppm-card__body {
  padding: clamp(28px, 5vw, 54px);
  text-align: center;
}

.wppm-access-gate__eyebrow {
  margin: 0 0 10px;
  color: var(--wppm-text-muted);
  font-size: var(--wppm-text-xs);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.wppm-access-gate__title {
  margin: 0 0 12px;
  color: var(--wppm-brand-black);
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  line-height: 1.12;
}

.wppm-access-gate__message {
  max-width: 720px;
  margin: 0 auto;
  color: var(--wppm-text-muted);
  font-size: var(--wppm-text-base);
  line-height: 1.65;
}

.wppm-access-gate__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
  margin-top: var(--wppm-space-xl);
}

.wppm-access-gate__action {
  display: flex;
  min-width: min(100%, 210px);
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.wppm-access-gate__action-intro {
  color: var(--wppm-brand-black);
  font-size: var(--wppm-text-sm);
  font-weight: 700;
}

.wppm-access-gate__action .wppm-btn {
  width: 100%;
}

.wppm-storefront-access-shell {
  position: relative;
  margin-bottom: var(--wppm-space-lg, 24px);
}

.wppm-storefront-access-content {
  position: relative;
  filter: blur(6px);
  pointer-events: none;
  user-select: none;
}

.wppm-storefront-access-content::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: var(--wppm-radius-lg, 18px);
  background: rgba(255, 255, 255, 0.5);
  content: "";
}

.wppm-storefront-access-overlay {
  position: absolute;
  inset: clamp(18px, 5vw, 56px);
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  pointer-events: auto;
}

.wppm-storefront-access-card {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: clamp(22px, 4vw, 40px);
  border: 1px solid rgba(17, 17, 17, 0.1);
  border-radius: var(--wppm-radius-lg, 18px);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 24px 70px rgba(17, 17, 17, 0.2);
  text-align: center;
}

body.logged-in .wppm-storefront-access-overlay,
html.logged-in .wppm-storefront-access-overlay,
.logged-in .wppm-storefront-access-overlay,
body.wppm-user-logged-in .wppm-storefront-access-overlay,
.wppm-user-logged-in .wppm-storefront-access-overlay {
  display: none !important;
}

body.logged-in .wppm-storefront-access-content,
html.logged-in .wppm-storefront-access-content,
.logged-in .wppm-storefront-access-content,
body.wppm-user-logged-in .wppm-storefront-access-content,
.wppm-user-logged-in .wppm-storefront-access-content {
  filter: none !important;
  pointer-events: auto;
  user-select: auto;
}

body.logged-in .wppm-storefront-access-content::after,
html.logged-in .wppm-storefront-access-content::after,
.logged-in .wppm-storefront-access-content::after,
body.wppm-user-logged-in .wppm-storefront-access-content::after,
.wppm-user-logged-in .wppm-storefront-access-content::after {
  content: none;
}

.wppm-storefront-access-restricted .woocommerce {
  position: relative;
}

.wppm-pom-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  background: var(--wppm-brand-black, #111111);
  color: #fff;
  font-size: var(--wppm-text-sm, 0.875rem);
  line-height: 1.45;
  text-align: center;
}

.wppm-pom-banner__label,
.wppm-pom-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.wppm-pom-banner__label {
  padding: 3px 9px;
  background: var(--wppm-brand-gradient, linear-gradient(135deg, #a2fadb 0%, #b5fefc 100%));
  color: var(--wppm-brand-black, #111111);
  font-size: 0.72rem;
}

.wppm-pom-badge {
  padding: 5px 11px;
  border: 1px solid var(--wppm-brand-black, #111111);
  background: var(--wppm-brand-black, #111111);
  color: #fff;
  font-size: 0.7rem;
  line-height: 1.2;
}

.wppm-pom-badge--loop {
  position: absolute;
  z-index: 3;
  top: 10px;
  left: 10px;
}

.products .product,
.woocommerce ul.products li.product {
  position: relative;
}

.wppm-pom-single {
  margin: 0 0 var(--wppm-space-md, 16px);
}

/* public/wppm-public.css lines 1913-1962 */
.wppm-onboarding-prompt__card .wppm-btn,
.wppm-storefront-access-card .wppm-btn,
.wppm-access-gate__actions .wppm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  height: auto !important;
  padding: 12px 20px !important;
  border-radius: 999px !important;
  box-sizing: border-box;
  line-height: 1.2 !important;
  text-decoration: none;
  vertical-align: middle;
}

.wppm-storefront-access-card .button.wppm-btn,
.wppm-access-gate__actions .button.wppm-btn {
  margin: 0 !important;
  padding-bottom: 12px !important;
}

.wppm-onboarding-prompt__card .wppm-btn--primary,
.wppm-storefront-access-card .wppm-btn--primary {
  border: 1px solid var(--wppm-brand-black, #111111);
  background: var(--wppm-brand-black, #111111);
  color: #fff;
}

.wppm-onboarding-prompt__card .wppm-btn--primary:hover,
.wppm-onboarding-prompt__card .wppm-btn--primary:focus,
.wppm-storefront-access-card .wppm-btn--primary:hover,
.wppm-storefront-access-card .wppm-btn--primary:focus {
  border-color: var(--wppm-brand-accent, #a2fadb);
  background: var(--wppm-brand-accent, #a2fadb);
  color: var(--wppm-brand-black, #111111);
}

.wppm-storefront-access-card .wppm-btn--secondary {
  border: 1px solid var(--wppm-brand-black, #111111);
  background: #fff;
  color: var(--wppm-brand-black, #111111);
}

.wppm-storefront-access-card .wppm-btn--secondary:hover,
.wppm-storefront-access-card .wppm-btn--secondary:focus {
  border-color: var(--wppm-brand-accent, #a2fadb);
  background: var(--wppm-brand-accent, #a2fadb);
  color: var(--wppm-brand-black, #111111);
}

/* Classic cart: two-column layout inspired by the WooCommerce Cart block. */
@media (min-width: 1000px) {
  body.woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 460px);
    gap: 28px 40px;
    align-items: start;
  }

  body.woocommerce-cart .woocommerce > *:not(.woocommerce-cart-form):not(.cart-collaterals) {
    grid-column: 1 / -1;
  }

  body.woocommerce-cart .woocommerce-cart-form {
    grid-column: 1;
    min-width: 0;
  }

  body.woocommerce-cart .cart-collaterals {
    grid-column: 2;
    position: sticky;
    top: 112px;
    width: 100%;
  }
}

body.woocommerce-cart .wppm-classic-cart table.shop_table.cart {
  border: 0;
  margin: 0;
  background: transparent;
}

body.woocommerce-cart .wppm-classic-cart table.shop_table.cart thead {
  display: none;
}

body.woocommerce-cart .wppm-classic-cart table.shop_table.cart tbody tr.cart_item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  grid-template-areas:
    "thumb name remove"
    "thumb qty price";
  column-gap: 16px;
  row-gap: 10px;
  align-items: start;
  margin: 0;
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid #e5e7eb;
  background: transparent;
}

body.woocommerce-cart .wppm-classic-cart table.shop_table.cart tbody tr.cart_item td {
  display: block;
  width: auto;
  padding: 0;
  border: 0;
  background: transparent;
}

body.woocommerce-cart .wppm-classic-cart table.shop_table.cart tbody tr.cart_item td::before {
  display: none;
}

body.woocommerce-cart .wppm-classic-cart td.product-thumbnail {
  grid-area: thumb;
}

body.woocommerce-cart .wppm-classic-cart td.product-thumbnail img {
  display: block;
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 12px;
}

body.woocommerce-cart .wppm-classic-cart td.product-name {
  grid-area: name;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}

body.woocommerce-cart .wppm-classic-cart td.product-name a {
  display: block;
}

body.woocommerce-cart .wppm-classic-cart td.product-remove {
  grid-area: remove;
  justify-self: end;
}

body.woocommerce-cart .wppm-classic-cart td.product-quantity {
  grid-area: qty;
}

body.woocommerce-cart .wppm-classic-cart td.product-price {
  display: none;
}

body.woocommerce-cart .wppm-classic-cart td.product-subtotal {
  grid-area: price;
  justify-self: end;
  font-weight: 700;
}

body.woocommerce-cart .wppm-classic-cart table.shop_table.cart tbody tr:has(> td.actions) {
  display: block;
  padding: 20px 0 0;
  border: 0;
  background: transparent;
}

body.woocommerce-cart .wppm-classic-cart td.actions {
  padding: 0;
  border: 0;
  background: transparent;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100% !important;
  float: none !important;
  padding: 24px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(17, 17, 17, 0.06);
}

body.woocommerce-cart .cart-collaterals .cart_totals table,
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table {
  width: 100%;
}

body.woocommerce-cart .wc-proceed-to-checkout,
body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout {
  display: block;
  width: 100%;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  white-space: nowrap;
}

@media (max-width: 782px) {
  .wppm-card__body {
    padding: var(--wppm-space-md, 16px);
  }

  .wppm-checkout-prescriber {
    padding: 24px;
  }

  .wppm-checkout-prescriber h3,
  .wppm-checkout-prescriber p,
  .wppm-checkout-prescriber .form-row {
    margin-left: 0;
    margin-right: 0;
  }

  .wppm-storefront-access-overlay {
    position: relative;
    inset: auto;
    margin-top: calc(-1 * var(--wppm-space-lg, 24px));
  }

  .wppm-storefront-access-card {
    padding: var(--wppm-space-lg, 24px);
  }

  body.woocommerce-cart .wppm-classic-cart table.shop_table.cart tbody tr.cart_item {
    grid-template-columns: 72px minmax(0, 1fr) auto;
    column-gap: 12px;
  }

  body.woocommerce-cart .wppm-classic-cart td.product-thumbnail img {
    width: 64px;
    height: 64px;
  }
}
