
:root {
  --loyalty-brand-primary: #6A30C3;
  --loyalty-brand-radius: 14px;
  --loyalty-brand-spacing: 14px;
  
  --loyalty-text: inherit;
  --loyalty-bg: inherit;
  --loyalty-border: #E7E7E7;
  --loyalty-bg-alt: #F5F5F5;
  
  --loyalty-focus-color: var(--loyalty-brand-primary);
  --loyalty-focus-width: 2px;
  --loyalty-focus-offset: 2px;
  
  --loyalty-min-target: 16px;
  --loyalty-spacing-xs: 3px;
  --loyalty-spacing-sm: 6px;
  --loyalty-spacing-md: 10px;
  --loyalty-spacing-lg: 14px;
  --loyalty-spacing-xl: 18px;
}

.pshh-loyalty-registration-container,
.pshh-loyalty-account-page,
.pshh-loyalty-cart-info,
.pshh-loyalty-checkout-info,
.pshh-loyalty-points-redemption {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  direction: inherit;
}

.pshh-loyalty-registration-container,
.pshh-loyalty-benefits,
.points-card,
.loyalty-info,
.loyalty-history,
.pshh-loyalty-cart-info,
.pshh-loyalty-checkout-info,
.pshh-loyalty-points-redemption,
.pshh-loyalty-non-member-cart,
.pshh-loyalty-non-member-checkout,
.pshh-loyalty-my-points,
.pshh-loyalty-history,
.pshh-loyalty-checkout-box,
.pshh-loyalty-not-member,
.loyalty-marketing-preferences {
  border-radius: var(--loyalty-brand-radius);
  border: 1px solid var(--loyalty-border);
  background: var(--loyalty-bg);
  padding: var(--loyalty-spacing-xl);
}

.pshh-loyalty-form {
  border: 0;
  border-radius: var(--loyalty-brand-radius);
}

.pshh-loyalty-container h1,
.pshh-loyalty-container h2,
.pshh-loyalty-container h3,
.pshh-loyalty-container h4,
.pshh-loyalty-registration-header h2,
.pshh-loyalty-not-member h2,
.loyalty-info h3,
.loyalty-history h3 {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  margin: 0 0 var(--loyalty-spacing-sm) 0;
}

.pshh-loyalty-registration-header h2,
.pshh-loyalty-not-member h2,
.loyalty-info h3,
.loyalty-history h3,
.pshh-loyalty-my-points h3,
.pshh-loyalty-history h3,
.pshh-loyalty-cart-info h3,
.pshh-loyalty-checkout-info h3,
.loyalty-marketing-preferences h3 {
  color: var(--loyalty-brand-primary);
  text-align: center;
}

.pshh-loyalty-registration-header p,
.pshh-loyalty-not-member > p {
  margin: 0;
  text-align: center;
}

.form-field,
.pshh-loyalty-not-member .form-row {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--loyalty-spacing-lg);
}

.form-field label,
.pshh-loyalty-not-member .form-row label {
  display: block;
  margin-bottom: var(--loyalty-spacing-xs);
  font-weight: 500;
  color: inherit;
  font-size: inherit;
}

.form-field input,
.pshh-loyalty-not-member .form-row input[type="tel"],
.pshh-loyalty-not-member .form-row input[type="date"],
.points-input-group input,
.loyalty-points-selector select {
  border-radius: var(--loyalty-brand-radius);
  width: 100%;
  padding: var(--loyalty-spacing-sm) var(--loyalty-spacing-md);
  border: 1px solid var(--loyalty-border);
  background: var(--loyalty-bg);
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  box-sizing: border-box;
}

.form-field input:focus,
.pshh-loyalty-not-member .form-row input:focus,
.loyalty-points-selector select:focus {
  outline: var(--loyalty-focus-width) solid var(--loyalty-focus-color);
  outline-offset: var(--loyalty-focus-offset);
}

.checkbox-field,
.pshh-loyalty-not-member .checkbox-field {
  flex-direction: row;
  align-items: center;
  gap: var(--loyalty-spacing-sm);
}

.checkbox-field label,
.pshh-loyalty-not-member .checkbox-field label {
  margin: 0;
  cursor: pointer;
  font-weight: normal;
}

.checkbox-field input[type="checkbox"],
.pshh-loyalty-not-member .checkbox-field input[type="checkbox"] {
  width: auto;
  margin: 0;
  cursor: pointer;
  min-width: 16px;
  min-height: 16px;
}

.pshh-loyalty-submit-btn,
.loyalty-toggle-redemption,
.loyalty-actions button,
.loyalty-join-btn,
.loyalty-register-btn,
.non-member-actions .button.button-primary,
.offer-actions .button:not(.secondary),
.pshh-loyalty-not-member button.button,
.copy-coupon-btn,
.loyalty-apply-btn {
  background: var(--loyalty-brand-primary);
  color: #fff;
  border: none;
  border-radius: var(--loyalty-brand-radius);
  font-family: inherit;
  font-size: inherit;
  font-weight: 600;
  padding: var(--loyalty-spacing-sm) var(--loyalty-spacing-lg);
  cursor: pointer;
  min-height: var(--loyalty-min-target);
  transition: opacity 0.2s ease;
}

.pshh-loyalty-submit-btn,
.pshh-loyalty-not-member button.button {
  width: 100%;
  margin-top: var(--loyalty-spacing-lg);
}

.pshh-loyalty-submit-btn:hover,
.loyalty-toggle-redemption:hover,
.loyalty-actions button:hover,
.non-member-actions .button:hover,
.quick-points:hover,
.pshh-loyalty-not-member button.button:hover,
.copy-coupon-btn:hover,
.loyalty-shop-btn:hover {
  opacity: 0.9;
}

.pshh-loyalty-submit-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.loyalty-login-btn,
.loyalty-reset-btn,
.non-member-actions .button.secondary,
.button.secondary.loyalty-reset-btn,
button.secondary.loyalty-reset-btn {
  background: transparent;
  color: inherit;
  border: 1px solid currentColor;
  border-radius: var(--loyalty-brand-radius);
  padding: var(--loyalty-spacing-sm) var(--loyalty-spacing-lg);
  font-weight: 600;
  font-size: inherit;
  font-family: inherit;
  min-height: var(--loyalty-min-target);
}

.loyalty-reset-btn:hover,
.loyalty-login-btn:hover,
.button.secondary.loyalty-reset-btn:hover,
button.secondary.loyalty-reset-btn:hover {
  background: var(--loyalty-bg-alt);
}

.message,
.pshh-loyalty-message,
.loyalty-message .success,
.loyalty-message .error {
  padding: var(--loyalty-spacing-md);
  border-radius: var(--loyalty-brand-radius);
  margin: var(--loyalty-spacing-md) 0;
  font-weight: 500;
}

.message.success,
.pshh-loyalty-message.success,
.loyalty-message .success,
.points-redemption-message .success,
#marketing-consent-message .success {
  background: #edfaef;
  color: #00693c;
  border: 1px solid #00a32a;
}

.message.error,
.pshh-loyalty-message.error,
.loyalty-message .error,
.points-redemption-message .error,
#marketing-consent-message .error {
  background: #fcf0f1;
  color: #8a2424;
  border: 1px solid #d63638;
}

.pshh-loyalty-message.info {
  background: #f0f6fc;
  color: #0a4f89;
  border: 1px solid #2271b1;
}

.pshh-loyalty-benefits,
.pshh-loyalty-not-member .loyalty-benefits {
  background: var(--loyalty-bg-alt);
  padding: var(--loyalty-spacing-lg);
  margin: var(--loyalty-spacing-lg) 0;
}

.pshh-loyalty-benefits h3,
.pshh-loyalty-not-member .loyalty-benefits h3 {
  margin: 0 0 var(--loyalty-spacing-md) 0;
  text-align: center;
  color: var(--loyalty-brand-primary);
}

.pshh-loyalty-benefits ul,
.pshh-loyalty-not-member .loyalty-benefits ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pshh-loyalty-benefits li,
.pshh-loyalty-not-member .loyalty-benefits li {
  padding: var(--loyalty-spacing-sm) 0;
}

.pshh-loyalty-benefits li:not(:last-child),
.pshh-loyalty-not-member .loyalty-benefits li:not(:last-child) {
  border-bottom: 1px solid var(--loyalty-border);
}

.points-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--loyalty-spacing-lg);
}

.points-card {
  text-align: center;
  padding: var(--loyalty-spacing-lg);
}

.card-icon,
.info-icon,
.points-icon {
  color: var(--loyalty-brand-primary);
  font-size: 1.3em;
  margin-bottom: var(--loyalty-spacing-sm);
}

.card-content h3 {
  font-weight: 600;
  margin: 0;
  color: var(--loyalty-brand-primary);
}

.card-content p {
  margin: var(--loyalty-spacing-xs) 0 0 0;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--loyalty-spacing-lg);
}

.info-item {
  text-align: center;
  padding: var(--loyalty-spacing-md);
  border-radius: var(--loyalty-brand-radius);
  background: var(--loyalty-bg-alt);
}

.info-item h4 {
  margin: 0 0 var(--loyalty-spacing-sm) 0;
  color: var(--loyalty-brand-primary);
}

.info-item p {
  margin: 0;
}

.history-list {
  max-height: 300px;
  overflow-y: auto;
}

.history-item,
.history-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--loyalty-spacing-md);
  padding: var(--loyalty-spacing-md);
  align-items: center;
}

.history-item:not(:last-child),
.history-row:not(:last-child) {
  border-bottom: 1px solid var(--loyalty-border);
}

.history-row {
  grid-template-columns: auto 1fr auto 2fr;
}

.history-row:nth-child(even) {
  background: var(--loyalty-bg-alt);
}

.history-date {
  opacity: 0.7;
}

.history-points {
  font-weight: 600;
  padding: var(--loyalty-spacing-xs) var(--loyalty-spacing-sm);
  border-radius: var(--loyalty-brand-radius);
}

.history-item.positive .history-points {
  background: #edfaef;
  color: #008422;
}

.history-item.negative .history-points {
  background: #fcf0f1;
  color: #c02d2f;
}

.history-header {
  display: grid;
  grid-template-columns: auto 1fr auto 2fr;
  gap: var(--loyalty-spacing-md);
  padding: var(--loyalty-spacing-md);
  border-radius: var(--loyalty-brand-radius) var(--loyalty-brand-radius) 0 0;
  font-weight: 600;
  background: var(--loyalty-brand-primary);
  color: #fff;
}

.pshh-loyalty-product-points,
.pshh-loyalty-product-points-shortcode {
  border-radius: var(--loyalty-brand-radius);
  padding: var(--loyalty-spacing-md);
  margin: var(--loyalty-spacing-md) 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--loyalty-spacing-sm);
  background: var(--loyalty-bg-alt);
  border: 1px solid var(--loyalty-border);
}

.pshh-loyalty-checkout-box {
  padding: 0;
  margin: var(--loyalty-spacing-xl) 0;
  overflow: hidden;
}

.loyalty-checkout-header {
  padding: var(--loyalty-spacing-lg) var(--loyalty-spacing-xl);
  display: flex;
  align-items: center;
  gap: var(--loyalty-spacing-md);
  border-bottom: 1px solid var(--loyalty-border);
  background: var(--loyalty-bg-alt);
}

.loyalty-icon {
  font-size: 40px;
  line-height: 1;
  flex-shrink: 0;
}

.loyalty-title {
  flex: 1;
}

.loyalty-title h3 {
  margin: 0 0 var(--loyalty-spacing-xs) 0;
  font-weight: 700;
  color: var(--loyalty-brand-primary);
}

.loyalty-subtitle {
  margin: 0;
  opacity: 0.8;
}

.loyalty-checkout-content {
  padding: var(--loyalty-spacing-xl);
}

.loyalty-points-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--loyalty-spacing-md);
  margin-bottom: var(--loyalty-spacing-xl);
}

.loyalty-points-summary > div {
  display: flex;
  flex-direction: row;
  gap: var(--loyalty-spacing-xs);
  padding: var(--loyalty-spacing-md);
  border-radius: var(--loyalty-brand-radius);
  background: var(--loyalty-bg-alt);
  text-align: center;
  border: 1px solid var(--loyalty-border);
  justify-content: center;
  align-items: center;
}

.loyalty-points-summary .label {
  opacity: 0.7;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.loyalty-points-summary .value {
  font-weight: 700;
  line-height: 1;
  color: var(--loyalty-brand-primary);
}

.loyalty-points-summary .value.active {
  color: #008422;
}

.loyalty-toggle-redemption {
  width: 100%;
  padding: var(--loyalty-spacing-md);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--loyalty-spacing-sm);
}

.loyalty-toggle-redemption::after {
  content: '▼';
  opacity: 0.6;
}

.loyalty-redemption-form {
  margin-top: var(--loyalty-spacing-lg);
  padding-top: var(--loyalty-spacing-lg);
  border-top: 1px solid var(--loyalty-border);
}

.loyalty-points-selector {
  border-radius: var(--loyalty-brand-radius);
}

.loyalty-points-selector label {
  display: block;
  font-weight: 700;
  margin-bottom: var(--loyalty-spacing-sm);
}

.points-quick-select {
  display: flex;
  flex-wrap: wrap;
  gap: var(--loyalty-spacing-sm);
  align-items: center;
  margin: var(--loyalty-spacing-md) 0;
}

.points-quick-select span {
  font-weight: 600;
}

.quick-points {
  border-radius: var(--loyalty-brand-radius);
  padding: var(--loyalty-spacing-xs) var(--loyalty-spacing-md);
  cursor: pointer;
  border: 1px solid var(--loyalty-border);
  background: var(--loyalty-bg-alt);
  min-height: var(--loyalty-min-target);
  min-width: var(--loyalty-min-target);
}

.quick-points:hover {
  background: var(--loyalty-brand-primary);
  color: #fff;
  border-color: var(--loyalty-brand-primary);
}

.loyalty-actions {
  display: flex;
  gap: var(--loyalty-spacing-md);
  margin-top: var(--loyalty-spacing-lg);
}

.loyalty-actions button {
  flex: 1;
  padding: var(--loyalty-spacing-sm) var(--loyalty-spacing-md);
  font-weight: 700;
  border-radius: var(--loyalty-brand-radius);
}

.loyalty-apply-btn {
  background: #00a32a;
  border: 2px solid #00a32a;
}

.loyalty-apply-btn:hover {
  background: var(--loyalty-brand-primary);
}

.loyalty-pending-points {
  background: linear-gradient(135deg, #fff8e1 0%, #fff3cd 100%);
  border: 2px solid #ffc107;
  border-radius: 16px;
  padding: 24px;
  margin: 24px 0;
  box-shadow: 0 4px 12px rgba(255, 193, 7, 0.15);
}

.pending-points-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.pending-icon {
  font-size: 48px;
  line-height: 1;
}

.pending-info h3 {
  margin: 0 0 4px 0;
  color: #f57f17;
}

.pending-amount {
  font-weight: bold;
  color: #f57f17;
  margin: 0;
}

.pending-points-details {
  background: white;
  border-radius: 12px;
  padding: 16px;
}

.pending-description {
  line-height: 1.6;
  margin: 0 0 16px 0;
}

.pending-description strong {
  color: #7d400a;
}

.pending-orders-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pending-order-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  background: #fafafa;
  border-radius: 8px;
}

.order-number {
  font-weight: 600;
}

.order-status {
  padding: 4px 12px;
  border-radius: 12px;
  font-weight: 600;
}

.status-processing,
.status-טיפול {
  background: #e3f2fd;
  color: #1976d2;
}

.status-on-hold,
.status-בהמתנה {
  background: #fff3e0;
  color: #f57c00;
}

.status-pending,
.status-ממתין-לתשלום {
  background: #fce4ec;
  color: #c2185b;
}

.order-points {
  font-weight: bold;
  color: #4caf50;
}

.marketing-preference-box {
  margin-top: 15px;
}

.marketing-toggle {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  cursor: pointer;
  border-radius: 6px;
}

.toggle-text {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

#marketing-consent-message {
  border-radius: 6px;
  text-align: center;
}

#marketing-consent-message .loading {
  color: var(--loyalty-brand-primary);
}

.loyalty-signup-coupon {
  background: #fff8f3;
  border: 2px solid var(--loyalty-brand-primary);
  border-radius: 12px;
  padding: 30px;
  margin: 30px 0;
  box-shadow: 0 4px 12px rgba(106, 48, 195, 0.15);
}

.coupon-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 25px;
}

.coupon-header .coupon-icon {
  font-size: 48px;
  line-height: 1;
}

.coupon-header h3 {
  margin: 0;
  color: var(--loyalty-brand-primary);
  font-weight: 700;
}

.coupon-code-display {
  border: 2px dashed var(--loyalty-brand-primary);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  text-align: center;
}

.coupon-label {
  display: block;
  margin-bottom: 10px;
  font-weight: 600;
}

.coupon-code-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

.coupon-code {
  font-weight: 700;
  color: var(--loyalty-brand-primary);
  font-family: 'Courier New', monospace;
  letter-spacing: 2px;
}

.copy-coupon-btn.copied {
  background: #77D8C2;
}

.coupon-benefit {
  text-align: center;
  padding: 20px;
  background: var(--loyalty-bg-alt);
  border-radius: 12px;
  border: 1px solid var(--loyalty-border);
}

.discount-amount {
  display: block;
  font-weight: 800;
  color: var(--loyalty-brand-primary);
  line-height: 1;
  margin-bottom: 8px;
}

.coupon-meta {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  padding: 15px;
  border-radius: 8px;
  border: 1px solid var(--loyalty-border);
}

.coupon-expiry,
.coupon-usage {
  display: flex;
  align-items: center;
  gap: 5px;
}

.coupon-expiry strong {
  color: var(--loyalty-brand-primary);
}

.coupon-cta {
  text-align: center;
}

.loyalty-shop-btn {
  background: var(--loyalty-brand-primary);
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 16px 40px;
  font-weight: 700;
  cursor: pointer;
  display: inline-block;
  text-decoration: none;
  font-family: inherit;
}

.loyalty-shop-btn:hover {
  color: #fff;
}

.loyalty-coupon-used {
  background: #edfaef;
  border: 2px solid #77D8C2;
  border-radius: 12px;
  padding: 20px;
  margin: 20px 0;
  text-align: center;
}

.loyalty-coupon-used p {
  margin: 0;
  color: #008422;
  font-weight: 600;
}

.loyalty-cta-actions {
  display: flex;
  text-align: center;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.loyalty-auth-buttons {
  display: flex;
  gap: var(--loyalty-spacing-md);
  justify-content: center;
  flex-wrap: wrap;
}

.pshh-loyalty-login-link {
  text-align: center;
  margin-top: var(--loyalty-spacing-lg);
  padding-top: var(--loyalty-spacing-lg);
  border-top: 1px solid var(--loyalty-border);
}

.pshh-loyalty-login-link a,
.view-all-history {
  text-decoration: none;
  font-weight: 600;
  color: var(--loyalty-brand-primary);
}

.loyalty-header {
  padding: var(--loyalty-spacing-xl);
  border-radius: var(--loyalty-brand-radius);
  text-align: center;
  margin-bottom: var(--loyalty-spacing-xl);
  background: var(--loyalty-brand-primary);
  color: #fff;
}

.loyalty-header h2 {
  margin: 0 0 var(--loyalty-spacing-sm) 0;
}

.loyalty-dashboard {
  display: flex;
  gap: 12px;
  flex-direction: column;
  flex-wrap: nowrap;
}

@media (max-width: 768px) {
  .points-cards,
  .info-grid {
    grid-template-columns: 1fr;
  }
  
  .history-item,
  .history-header,
  .history-row {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .points-input-group,
  .points-redemption-actions,
  .non-member-actions,
  .offer-actions,
  .loyalty-actions,
  .loyalty-auth-buttons {
    flex-direction: column;
  }
  
  .points-quick-select {
    justify-content: center;
  }
  
  .loyalty-checkout-header,
  .loyalty-points-summary {
    flex-direction: column;
    text-align: center;
    gap: var(--loyalty-spacing-md);
  }
  
  .loyalty-cta-actions {
    text-align: center;
    display: block;
  }
  
  .loyalty-signup-coupon {
    padding: 20px;
  }
  
  .coupon-meta {
    flex-direction: column;
    gap: 10px;
  }
  
  .loyalty-shop-btn {
    padding: 14px 20px;
  }
  
  .coupon-code-box {
    flex-direction: column;
  }
  
  .copy-coupon-btn {
    width: 100%;
  }
}

.loading {
  opacity: 0.6;
  pointer-events: none;
}

.pshh-loyalty-registration-container button:focus-visible,
.pshh-loyalty-registration-container input:focus-visible,
.pshh-loyalty-registration-container select:focus-visible,
.pshh-loyalty-registration-container a:focus-visible,
.pshh-loyalty-account-page button:focus-visible,
.pshh-loyalty-account-page input:focus-visible,
.pshh-loyalty-account-page select:focus-visible,
.pshh-loyalty-account-page a:focus-visible,
.pshh-loyalty-cart-info button:focus-visible,
.pshh-loyalty-cart-info input:focus-visible,
.pshh-loyalty-cart-info select:focus-visible,
.pshh-loyalty-cart-info a:focus-visible,
.pshh-loyalty-checkout-info button:focus-visible,
.pshh-loyalty-checkout-info input:focus-visible,
.pshh-loyalty-checkout-info select:focus-visible,
.pshh-loyalty-checkout-info a:focus-visible,
.pshh-loyalty-checkout-box button:focus-visible,
.pshh-loyalty-checkout-box input:focus-visible,
.pshh-loyalty-checkout-box select:focus-visible,
.pshh-loyalty-checkout-box a:focus-visible,
.pshh-loyalty-not-member button:focus-visible,
.pshh-loyalty-not-member input:focus-visible,
.pshh-loyalty-not-member select:focus-visible,
.pshh-loyalty-not-member a:focus-visible,
.quick-points:focus-visible {
  outline: var(--loyalty-focus-width) solid var(--loyalty-focus-color);
  outline-offset: var(--loyalty-focus-offset);
}

.pshh-loyalty-skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--loyalty-brand-primary);
  color: #fff;
  padding: 8px;
  text-decoration: none;
  border-radius: 0 0 var(--loyalty-brand-radius) 0;
}

.pshh-loyalty-skip-link:focus {
  top: 0;
}

.pshh-loyalty-registration-container button,
.pshh-loyalty-registration-container a,
.pshh-loyalty-registration-container input[type="checkbox"],
.pshh-loyalty-registration-container input[type="radio"],
.pshh-loyalty-account-page button,
.pshh-loyalty-account-page a,
.pshh-loyalty-account-page input[type="checkbox"],
.pshh-loyalty-account-page input[type="radio"],
.pshh-loyalty-cart-info button,
.pshh-loyalty-cart-info a,
.pshh-loyalty-cart-info input[type="checkbox"],
.pshh-loyalty-cart-info input[type="radio"],
.pshh-loyalty-checkout-info button,
.pshh-loyalty-checkout-info a,
.pshh-loyalty-checkout-info input[type="checkbox"],
.pshh-loyalty-checkout-info input[type="radio"],
.pshh-loyalty-checkout-box button,
.pshh-loyalty-checkout-box a,
.pshh-loyalty-checkout-box input[type="checkbox"],
.pshh-loyalty-checkout-box input[type="radio"],
.pshh-loyalty-not-member button,
.pshh-loyalty-not-member a,
.pshh-loyalty-not-member input[type="checkbox"],
.pshh-loyalty-not-member input[type="radio"],
.quick-points {
  min-width: var(--loyalty-min-target);
  min-height: var(--loyalty-min-target);
}