.gplt-commerce-panel { margin-top: 1rem; }
.gplt-commerce-product-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.gplt-commerce-product-card, .gplt-commerce-course-card, .gplt-commerce-order-row { border: 1px solid rgba(0,0,0,.08); border-radius: 12px; padding: 14px; background: #fff; min-width: 0; max-width: 100%; box-sizing: border-box; }
.gplt-commerce-product-thumb img, .gplt-commerce-product-detail-image { width: 100%; height: auto; border-radius: 10px; max-width: 100%; }
.gplt-commerce-product-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; min-width: 0; }
.gplt-commerce-cart-list, .gplt-commerce-checkout-items { list-style: none; padding: 0; margin: 0 0 1rem; max-width: 100%; }
.gplt-commerce-cart-item { display: grid; gap: 6px; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.06); min-width: 0; }
.gplt-commerce-coupon { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 1rem 0; min-width: 0; }
.gplt-commerce-notice { padding: 12px; border-radius: 10px; margin-bottom: 1rem; overflow-wrap: anywhere; word-break: break-word; }
.gplt-commerce-notice--success { background: #ecfdf3; color: #166534; }
.gplt-commerce-notice--error { background: #fef2f2; color: #991b1b; }
.gplt-commerce-access-box, .gplt-commerce-shipping-box { margin-top: 10px; padding: 10px; background: #fafafa; border-radius: 8px; min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.gplt-commerce-panel--disabled .gplt-empty-text { opacity: .85; }
.gplt-commerce-orders-list,
.gplt-commerce-courses-list { display: grid; gap: 12px; max-width: 100%; min-width: 0; }
.gplt-commerce-order-row { display: grid; gap: 8px; }
.gplt-commerce-order-row > div { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.gplt-commerce-order-item,
.gplt-commerce-course-card { min-width: 0; }
.gplt-commerce-order-item code,
.gplt-commerce-course-card code,
.gplt-commerce-access-box code { overflow-wrap: anywhere; word-break: break-word; }
.gplt-commerce-order-item a,
.gplt-commerce-course-card a,
.gplt-commerce-checkout-items li { overflow-wrap: anywhere; word-break: break-word; }
.gplt-commerce-checkout-form input,
.gplt-commerce-checkout-form select,
.gplt-commerce-checkout-form textarea { max-width: 100%; box-sizing: border-box; width: 100%; }
.gplt-commerce-account-step p:last-child { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.gplt-commerce-actions { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }

body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-panel,
body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-order-row,
body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-course-card,
body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-cart-item,
body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-checkout-form,
body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-account-step {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

body.gplt-user-portal-page #gplt-user-portal .gplt-responsive-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body.gplt-user-portal-page #gplt-user-portal .gplt-responsive-table table {
  max-width: 100%;
}

@media (max-width: 640px) {
  body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-account-step p:last-child,
  body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-actions,
  body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-coupon {
    flex-direction: column;
    align-items: stretch;
  }

  body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-account-step .gplt-btn,
  body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-actions .gplt-btn,
  body.gplt-user-portal-page #gplt-user-portal #gplt-commerce-pay-submit {
    width: 100%;
  }
}

.gplt-commerce-add-to-cart.is-loading {
  opacity: 0.7;
  cursor: wait;
}

.gplt-profile-shop-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.gplt-commerce-guide {
  margin-bottom: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 18px;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.gplt-commerce-guide-title {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  line-height: 1.5;
}

.gplt-commerce-guide-steps {
  display: grid;
  gap: 0.65rem;
  margin: 0 0 0.85rem;
  padding: 0 1.1rem 0 0;
  list-style: decimal;
}

.gplt-commerce-guide-steps li {
  line-height: 1.65;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.gplt-commerce-guide-note {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  line-height: 1.65;
  opacity: 0.92;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.gplt-commerce-guide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.gplt-commerce-guide--compact {
  padding: 0.85rem 1rem;
}

.gplt-commerce-guide--compact .gplt-commerce-guide-title {
  margin-bottom: 0.45rem;
  font-size: 0.98rem;
}

.gplt-commerce-guide--compact .gplt-commerce-guide-note {
  margin-bottom: 0.65rem;
  font-size: 0.9rem;
}

body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-guide {
  max-width: 100%;
  min-width: 0;
}

@media (min-width: 768px) {
  .gplt-commerce-guide:not(.gplt-commerce-guide--compact) .gplt-commerce-guide-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1rem;
  }
}

@media (max-width: 640px) {
  body.gplt-user-portal-page #gplt-user-portal .gplt-commerce-guide-actions .gplt-btn {
    width: 100%;
    text-align: center;
  }
}
