/* initialize a new css variable with name: iaw-hr-color */
:root {
  
  /*
  Typography - Headings
  */
  --iaw-heading-font-color: #303030;


  /*
  Typography - paragraph
  */
  --iaw-paragraph-font-size: 14px;

  /*
  Misc - <hr>
  */
  --iaw-defaults-hr-color: #e5e7eb;

  /* 
  Button --- Large --- Primary 
  */
  --iaw-defaults-button-large-primary-text-color: #ffffff;
  --iaw-defaults-button-large-primary-bg-color: #000;
  --iaw-defaults-button-large-primary-border-color: #000;
  --iaw-defaults-button-large-primary-hover-bg-color: #333;
  --iaw-defaults-button-large-primary-hover-text-color: #ffffff;
  --iaw-defaults-button-large-primary-hover-border-color: #333;

  --iaw-defaults-button-large-primary-border-radius: 14px;
  --iaw-defaults-button-large-primary-height: 52px;
  --iaw-defaults-button-large-primary-font-size: 14px;

  /*
  Text input styles (<input />, <textarea />)
  */
  --iaw-defaults-text-input-border-color: #dfdfdf;
  --iaw-defaults-text-input-border-color-focus: #333;

}


/* Inveterate Widget Styles */
.iaw,
.iaw *,
.iaw *::before,
.iaw *::after {
  box-sizing: border-box;
}

/* Ensure form elements inherit font-family from theme */
.iaw input,
.iaw button,
.iaw textarea,
.iaw select {
  font-family: inherit;
}


.iaw {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  height: 100vh;
  justify-content: center;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  visibility: hidden;
  width: 100%;
  z-index: 2147483647;
}

.iaw__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  padding: var(--iaw-widget-space, 15px);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
}

/* Slide animations for left position */
.iaw .iaw__container {
  transform: translateX(-100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.iaw.iaw--visible .iaw__container {
  transform: translateX(0);
}

.iaw.iaw--closing .iaw__container {
  transform: translateX(calc(-100% - var(--iaw-widget-space, 15px)));
}

.iaw.iaw--closing {
  opacity: 0;
}

.iaw--visible {
  opacity: 1;
  visibility: visible;
}

.iaw__container {
  background: var(--iaw-widget-bg, white);
  border-radius: var(--iaw-widget-radius, 12px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  width: 450px;
  height: 100%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  cursor: default;
  display: flex;
  flex-direction: column;
  /* Transform will be set by position-specific classes */
}

.iaw__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--iaw-widget-border, #e5e7eb);
  position: sticky;
  top: 0;
  background: var(--iaw-widget-bg, white);
  z-index: 10;
  flex-shrink: 0;
}

.iaw__logo {
  line-height: 1;
}

.iaw__logo img {
  height: 16px;
  width: auto;
}

.iaw__close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  position: relative;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.iaw__close::before,
.iaw__close::after {
  content: '';
  position: absolute;
  width: 1.5px;
  min-width: 1px;
  height: 67%;
  background-color: var(--iaw-widget-text, #111827);
  border-radius: 1px;
}

.iaw__close::before {
  transform: rotate(45deg);
}

.iaw__close::after {
  transform: rotate(-45deg);
}

.iaw__close:hover {
  opacity: 0.6;
  /* background-color: #f3f4f6; */
}

/* Middle Section: Main Content Area */
.iaw__content {
  padding: 24px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  flex: 1;
  min-height: 0;
}

/* Remove padding for subpages - padding is on view containers instead */
.iaw__content--subpage {
  padding: 0;
}

.iaw__view {
  display: none;
  flex-direction: column;
  min-height: 100%;
}

.iaw__view--active {
  display: flex;
}

.iaw__view--order-details {
  display: none;
}

.iaw__view--order-details.iaw__view--active {
  display: flex;
}

.iaw__view h3 {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__view p {
  margin: 0 0 16px 0;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
  line-height: 1.5;
}

/* Content sections for each tab */
.iaw__recommendations,
.iaw__membership-info,
.iaw__orders-list,
.iaw__profile-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.iaw__recommendations-block {
  margin-bottom: 24px;
}

/* Recently Viewed Products */

.iaw__recently-viewed h4,
.iaw__recommendations h4 {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__recently-viewed-products {
  display: flex;
  flex-direction: row;
  gap: 12px;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f3f4f6;
}

.iaw__no-recently-viewed {
  width: 100%;
  padding: 16px;
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: var(--iaw-widget-radius, 8px);
  text-align: left;
}

.iaw__no-recently-viewed p {
  margin: 0 0 8px 0;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
  line-height: 1.5;
  font-style: italic;
}

.iaw__no-recently-viewed p:last-child {
  margin-bottom: 0;
}

.iaw__recently-viewed-products::-webkit-scrollbar {
  height: 6px;
}

.iaw__recently-viewed-products::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 3px;
}

.iaw__recently-viewed-products::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}

.iaw__recently-viewed-products::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

.iaw__recently-viewed-product {
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  width: 140px;
  height: 200px;
  flex-shrink: 0;
  position: relative;
}


.iaw__recently-viewed-product .iaw__product-image {
  width: 100%;
  height: 120px;
  border-radius: var(--iaw-widget-radius, 8px);
  overflow: hidden;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 auto;
}

.iaw__recently-viewed-product .iaw__product-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

/* Tooltips handled by JavaScript */

/* Product cards are clickable to go to product page */

.iaw__product-image {
  flex-shrink: 0;
  width: 100%;
  height: 120px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--iaw-widget-radius, 8px);
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
}

.iaw__product-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.iaw__product-placeholder {
  width: 100%;
  height: 100%;
  background: #f3f4f6;
  border-radius: var(--iaw-widget-radius, 8px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}

.iaw__product-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: left;
  min-width: 0;
  overflow: hidden;
}

.iaw__product-title {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--iaw-widget-text, #111827);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  width: 100%;
  max-width: 100%;
}

/* Product cards are clickable to go to product page */

.iaw__product-price {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0;
}

.iaw__price-current {
  font-size: 14px;
  font-weight: 400;
  color: var(--iaw-widget-text, #111827);
}

.iaw__price-original {
  font-size: 12px;
  color: var(--iaw-widget-text, #9ca3af);
  text-decoration: line-through;
  opacity: 0.6;
}

/* Popular Today Products */

.iaw__popular-today h4 {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__popular-today-products {
  display: flex;
  flex-direction: row;
  gap: 12px;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f3f4f6;
}

.iaw__popular-today-products::-webkit-scrollbar {
  height: 6px;
}

.iaw__popular-today-products::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 3px;
}

.iaw__popular-today-products::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}

.iaw__popular-today-products::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

.iaw__popular-today-product {
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  width: 140px;
  height: 200px;
  flex-shrink: 0;
  position: relative;
}


.iaw__popular-today-product .iaw__product-image {
  width: 100%;
  height: 120px;
  border-radius: var(--iaw-widget-radius, 8px);
  overflow: hidden;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 auto;
}

.iaw__popular-today-product .iaw__product-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.iaw__no-popular-products {
  width: 100%;
  padding: 16px;
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: var(--iaw-widget-radius, 8px);
  text-align: left;
}

.iaw__no-popular-products p {
  margin: 0 0 8px 0;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
  line-height: 1.5;
  font-style: italic;
}

.iaw__no-popular-products p:last-child {
  margin-bottom: 0;
}

/* Tooltips handled by JavaScript */

/* Product cards are clickable to go to product page */

/* Wishlist Products */

.iaw__wishlist h4 {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__wishlist-login-prompt {
  padding: 16px;
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: var(--iaw-widget-radius, 8px);
}

.iaw__wishlist-login-prompt p {
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
  line-height: 1.5;
  font-style: italic;
  margin: 0;
}

.iaw__login-hint {
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
  line-height: 1.5;
}

/* .iaw__wishlist-header styles consolidated at line 1551 */

.iaw__manage-link {
  background: transparent;
  border: none;
  color: var(--iaw-widget-link, #3b82f6);
  text-decoration: underline;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  padding: 0;
  transition: color 0.2s;
}

.iaw__manage-link:hover {
  color: var(--iaw-widget-link, #1d4ed8);
  opacity: 0.8;
}

.iaw__security-action-link {
  background: transparent;
  border: none;
  color: var(--iaw-widget-link, #3b82f6);
  text-decoration: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  padding: 0;
  transition: color 0.2s ease;
}

.iaw__security-action-link:hover {
  color: var(--iaw-widget-link, #2563eb);
  opacity: 0.8;
}

.iaw__device-action-link {
  background: transparent;
  border: none;
  color: var(--iaw-widget-link, #3b82f6);
  text-decoration: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  padding: 0;
  transition: color 0.2s ease;
}

.iaw__device-action-link:hover:not(:disabled) {
  color: var(--iaw-widget-link, #2563eb);
  opacity: 0.8;
}

.iaw__device-action-link:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.iaw__wishlist-products {
  display: flex;
  flex-direction: row;
  gap: 12px;
  overflow-x: auto;
  overflow-y: visible;
  padding: 8px 0 8px 0;
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f3f4f6;
}

.iaw__wishlist-products::-webkit-scrollbar {
  height: 6px;
}

.iaw__wishlist-products::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 3px;
}

.iaw__wishlist-products::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}

.iaw__wishlist-products::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

.iaw__wishlist-product {
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  width: 140px;
  height: 200px;
  flex-shrink: 0;
  position: relative;
}


.iaw__wishlist-product .iaw__product-image {
  width: 100%;
  height: 120px;
  border-radius: var(--iaw-widget-radius, 8px);
  overflow: hidden;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 auto;
}

.iaw__wishlist-product .iaw__product-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

/* Tooltips handled by JavaScript */

/* Product cards are clickable to go to product page */

.iaw__wishlist-view-all {
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  width: 140px;
  height: 200px;
  flex-shrink: 0;
}

.iaw__view-all-btn {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
}


.iaw__view-all-icon {
  font-size: 32px;
  margin-bottom: 4px;
}

.iaw__view-all-text {
  font-size: 16px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
  margin-bottom: 4px;
}

.iaw__view-all-count {
  font-size: 12px;
  color: var(--iaw-widget-text, #6b7280);
  font-weight: 500;
}

/* Order list styling */
.iaw__order {
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.iaw__load-more {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  padding: 16px;
}

.iaw__load-more-btn {
  background: #3b82f6;
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.iaw__load-more-btn:hover:not(:disabled) {
  background: #2563eb;
  transform: translateY(-1px);
}

.iaw__load-more-btn:disabled {
  background: #9ca3af;
  cursor: not-allowed;
  transform: none;
}

.iaw__order:hover {
  background-color: transparent;
}

.iaw__order:hover h4 {
  color: var(--iaw-widget-link, #3b82f6);
}

.iaw__recommendation,
.iaw__membership-tier {
  padding: 16px;
  background: var(--iaw-widget-bg, #f9fafb);
  border-radius: 8px;
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
}

/* Order and Profile sections - no card styling, use dividers instead */
.iaw__order,
.iaw__profile-section {
  padding: 16px 0;
}

.iaw__order:first-child,
.iaw__profile-section:first-child {
  padding-top: 0;
}

.iaw__recommendation h4,
.iaw__membership-tier h4,
.iaw__order h4,
.iaw__profile-section h4 {
  margin: 0 0 8px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__order h4 {
  text-decoration: underline;
  color: var(--iaw-widget-link, #3b82f6);
}

.iaw__recommendation p,
.iaw__membership-tier p,
.iaw__order p,
.iaw__profile-section p {
  margin: 0 0 4px 0;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
}

.iaw__benefits ul {
  margin: 8px 0 0 0;
  padding-left: 20px;
}

.iaw__benefits li {
  margin: 4px 0;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
}

/* Bottom Section: Tab Navigation */
.iaw__tabs {
  display: flex;
  background: var(--iaw-tabs-bg, #f9fafb);
  position: sticky;
  bottom: 0;
  z-index: 10;
  flex-shrink: 0;
}

.iaw__tab {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 8px;
  background: none;
  border: none;
  border-top: 2px solid var(--iaw-tabs-border, #e5e7eb);
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--iaw-tabs-text, #6b7280);
}


.iaw__tab--active {
  background-color: var(--iaw-tabs-active-bg, transparent);
  color: var(--iaw-tabs-active-text, #3b82f6);
  border-top-color: var(--iaw-tabs-active-border, #3b82f6);
  position: relative;
  font-weight: var(--iaw-tabs-active-bold, bold);
}

.iaw__tab--active::before {
  display: none;
}

.iaw__tab-icon {
  font-size: 18px;
  margin-bottom: 4px;
}

.iaw__tab-label {
  font-size: 14px;
  font-weight: 500;
}

.iaw__tab--active .iaw__tab-label {
  font-weight: var(--iaw-tabs-active-bold, bold);
}

/* Mobile responsiveness */
@media (max-width: 480px) {
  .iaw__container {
    width: 100%;
    height: 100%;
  }
  
  .iaw__actions {
    flex-direction: column;
  }
  
  .iaw__btn {
    flex: none;
    width: 100%;
  }
}

/* Position variants */
.iaw {
  align-items: center;
  justify-content: flex-start;
}

/* Login Section Styling */
.iaw__login-section {
  padding: 0;
  display: block; /* Visible by default for UI testing */
  margin-bottom: 20px;
}

.iaw__login-section.iaw__login-section--hidden {
  display: none;
}

/* Hide tab content when login is visible (except for For You tab) */
.iaw__login-section:not(.iaw__login-section--hidden) ~ .iaw__view:not([data-tab="for-you"]) {
  display: none !important;
}

/* For You tab shows both login and content when login is visible */
.iaw__login-section:not(.iaw__login-section--hidden) ~ .iaw__view[data-tab="for-you"] {
  display: flex;
}

.iaw__login-container {
  width: 100%;
  max-width: 400px;
}

.iaw__login-header {
  text-align: left;
  margin-bottom: 8px;
}

.iaw__login-header h3 {
  margin: 0 0 8px 0;
  font-size: 24px;
  font-weight: 700;
  color: var(--iaw-widget-text, #111827);
}

.iaw__login-header p {
  margin: 0;
  color: var(--iaw-widget-text, #6b7280);
  font-style: var(--iaw-paragraph-font-size);
}

.iaw__login-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.iaw__login-option {
  width: 100%;
}

.iaw__login-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  border: 2px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: 12px;
  background: var(--iaw-widget-bg, white);
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
}

.iaw__login-btn:hover {
  border-color: var(--iaw-widget-link, #3b82f6);
  background: #f0f9ff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
}

.iaw__login-btn--email:hover {
  border-color: var(--iaw-widget-link, #3b82f6);
  background: #f0f9ff;
}

.iaw__login-btn--gmail:hover {
  border-color: #ea4335;
  background: #fef2f2;
}

.iaw__login-btn--shop:hover {
  border-color: #10b981;
  background: #f0fdf4;
}

.iaw__login-icon {
  font-size: 20px;
  width: 24px;
  text-align: center;
}

.iaw__login-text {
  flex: 1;
  color: var(--iaw-widget-text, #374151);
}

/* Email Login Section - Now shown directly */
.iaw__email-login-section {
  width: 100%;
}

/* Login Divider */
.iaw__login-divider {
  display: flex;
  align-items: center;
  margin: 16px 0;
  position: relative;
}

.iaw__login-divider::before {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--iaw-widget-border, #e5e7eb);
}

.iaw__login-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--iaw-widget-border, #e5e7eb);
}

.iaw__divider-text {
  padding: 0 16px;
  font-size: 14px;
  color: var(--iaw-widget-text, #6b7280);
  background: var(--iaw-widget-bg, white);
  font-weight: 500;
}

/* Login Forms */
.iaw__login-form {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.iaw__form-header {
  text-align: left;
  margin-bottom: 8px;
}

.iaw__form-header h4 {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__form-header p {
  margin: 0;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
}

.iaw__back-to-options,
.iaw__back-to-email {
  background: none;
  border: none;
  color: var(--iaw-widget-link, #3b82f6);
  cursor: pointer;
  font-size: 14px;
  padding: 8px 0;
  margin-bottom: 16px;
  text-align: left;
  transition: color 0.2s ease;
}

.iaw__back-to-options:hover,
.iaw__back-to-email:hover {
  color: var(--iaw-widget-link, #1d4ed8);
  opacity: 0.8;
}

.iaw__form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.iaw__form-label {
  font-size: 14px;
  font-weight: 500;
  color: var(--iaw-widget-text, #374151);
}

.iaw__form-input {
  padding: 12px 16px;
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: 8px;
  font-size: 16px;
  transition: border-color 0.2s ease;
  background: transparent;
  color: var(--iaw-widget-text, #111827);
}

.iaw__form-input:focus {
  outline: none;
  border-color: var(--iaw-widget-border, #e5e7eb);
}

.iaw__form-input::-moz-placeholder {
  color: var(--iaw-widget-text, #111827);
  opacity: 0.5;
}

.iaw__form-input::placeholder {
  color: var(--iaw-widget-text, #111827);
  opacity: 0.5;
}

/* Select wrapper for custom caret */
.iaw__select-wrapper {
  position: relative;
  display: block;
  width: 100%;
}

.iaw__select-wrapper::after {
  content: '';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid var(--iaw-widget-text, #111827);
  pointer-events: none;
  z-index: 1;
}

/* Hide native select caret */
.iaw__select-wrapper select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 10px;
  background-image: none;
  width: 100%;
}

/* Access Code Input */
.iaw__code-inputs {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin-bottom: 24px;
  width: 100%;
}

.iaw__code-input {
  flex: 1;
  height: 48px;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  padding: 12px 16px;
  border: 2px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: 8px;
  background: transparent;
  color: var(--iaw-widget-text, #111827);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  min-width: 0; /* Allow flex items to shrink below their content size */
}

.iaw__code-input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Button Styles */
/* Primary button styles consolidated at line 3465 */

.iaw__btn--gmail {
  background-color: #ea4335;
  color: white;
  border: none;
}

.iaw__btn--gmail:hover {
  background-color: #d33b2c;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(234, 67, 53, 0.3);
}

.iaw__btn--shop {
  background-color: #5a31f4;
  color: white;
  border: none;
}

.iaw__btn--shop:hover {
  background-color: #4c2cd1;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(90, 49, 244, 0.3);
}

.iaw__btn--full {
  width: 100%;
  padding: 18px 24px;
  font-size: 17px;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

/* Spacing for email form button */
.iaw__email-form .iaw__btn--full {
  margin-top: 16px;
}

/* Alternative Login Styles */
.iaw__alternative-login {
  margin-top: 16px;
}

.iaw__separator {
  display: flex;
  align-items: center;
  margin: 8px 0;
}

.iaw__separator-line {
  flex: 1;
  height: 1px;
  background-color: var(--iaw-widget-border, #e5e7eb);
}

.iaw__separator-text {
  padding: 0 12px;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
}

.iaw__alternative-buttons {
  display: block;
}

.iaw__alternative-buttons .iaw__btn {
  margin-bottom: 12px;
}

.iaw__alternative-buttons .iaw__btn:last-child {
  margin-bottom: 0;
}


/* Gmail Info */
.iaw__gmail-info {
  text-align: center;
  padding: 20px;
  background: #f9fafb;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}

.iaw__gmail-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.iaw__gmail-logo {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.iaw__gmail-info p {
  margin: 0 0 20px 0;
  color: #6b7280;
  font-size: 14px;
}

/* Resend Code & Forgot Password */
.iaw__resend-code,
.iaw__forgot-password {
  text-align: center;
  margin-top: 16px;
}

.iaw__resend-code p,
.iaw__forgot-password p {
  margin: 0;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
}

.iaw__resend-btn,
.iaw__forgot-btn {
  background: none;
  border: none;
  color: var(--iaw-widget-link, #3b82f6);
  cursor: pointer;
  font-size: 14px;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.iaw__resend-btn:hover,
.iaw__forgot-btn:hover {
  color: var(--iaw-widget-link, #1d4ed8);
  opacity: 0.8;
}

/* Order Details View Styling */
.iaw__view--order-details {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.iaw__order-header {
  display: block;
  margin-bottom: 20px;
  padding-bottom: 16px;
}

.iaw__order-header .iaw__back-btn {
  margin-bottom: 12px;
}

/* Generic View Header - Use this for all view headers instead of view-specific classes */
.iaw__view-header {
  display: block;
  padding: 16px 24px;
}

.iaw__view-header .iaw__back-btn {
  margin-bottom: 12px;
}

.iaw__view-header h3,
.iaw__view-header h4 {
  margin: 0;
  text-align: left;
}

/* Generic View Title - Use this for all view titles instead of view-specific classes */
.iaw__view-title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--iaw-widget-text, #111827);
  text-align: left;
}

/* Variations for view header */
.iaw__view-header--with-border {
  border-bottom: 1px solid var(--iaw-widget-border, #e5e7eb);
}

.iaw__view-header--spaced {
  /* Spacing handled by padding */
}

.iaw__back-btn {
  background: none;
  border: none;
  color: var(--iaw-widget-link, #3b82f6);
  cursor: pointer;
  font-size: 14px;
  border-radius: 6px;
}

.iaw__order-title {
  text-align: left;
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__order-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px;
}

.iaw__order-summary {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}

.iaw__order-info h4 {
  margin: 0 0 8px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__order-status {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--iaw-widget-text, #374151);
  margin-bottom: 8px;
}

.iaw__order-status--shipped {
  color: var(--iaw-widget-text, #374151);
}

.iaw__order-status--delivered {
  color: var(--iaw-widget-text, #374151);
}

.iaw__order-status--pending {
  color: var(--iaw-widget-text, #374151);
}

.iaw__order-status--fulfilled {
  color: var(--iaw-widget-text, #374151);
}

.iaw__order-status--processing {
  color: var(--iaw-widget-text, #374151);
}

.iaw__order-date {
  margin: 0;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
}

.iaw__order-total {
  text-align: right;
}

.iaw__total-label {
  display: block;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
  margin-bottom: 4px;
}

.iaw__total-amount {
  font-size: 24px;
  font-weight: 700;
  color: var(--iaw-widget-text, #111827);
}

.iaw__order-section {
  margin-bottom: 24px;
}

.iaw__order-section:last-child {
  margin-bottom: 0;
}

.iaw__order-section h4 {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__shipping-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.iaw__shipping-address,
.iaw__shipping-method {
  font-size: 14px;
  line-height: 1.5;
  color: var(--iaw-widget-text, #374151);
}

.iaw__tracking-info {
  color: var(--iaw-widget-link, #3b82f6);
  font-weight: 500;
}

.iaw__delivery-date {
  color: #059669;
  font-weight: 500;
}

.iaw__order-items {
  display: flex;
  flex-direction: column;
  gap: 16px;
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: var(--iaw-widget-radius, 8px);
  padding: 16px;
}

.iaw__order-item {
  display: flex;
  gap: 12px;
  padding: 12px;
}

.iaw__order-items .iaw__item-sku, .iaw__order-items .iaw__item-variant {
  margin-bottom: 0;
}

.iaw__item-image {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  position: relative;
}

.iaw__item-image-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}

.iaw__item-placeholder {
  width: 100%;
  height: 100%;
  background: #f3f4f6;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}

.iaw__loading-products {
  text-align: center;
  padding: 10px;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
}

.iaw__item-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.iaw__item-details h5 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__item-variant,
.iaw__item-sku {
  margin: 0;
  font-size: 12px;
  color: var(--iaw-widget-text, #6b7280);
}

.iaw__item-price-qty {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
}

.iaw__item-price {
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__item-qty {
  font-size: 12px;
  color: var(--iaw-widget-text, #6b7280);
}

.iaw__order-breakdown {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.iaw__breakdown-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
  font-size: 14px;
  color: var(--iaw-widget-text, #374151);
}

.iaw__breakdown-row--total {
  padding-top: 12px;
  margin-top: 8px;
  font-weight: 600;
  font-size: 16px;
  color: var(--iaw-widget-text, #111827);
}

.iaw__payment-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.iaw__payment-method,
.iaw__billing-address {
  font-size: 14px;
  line-height: 1.5;
  color: var(--iaw-widget-text, #374151);
}

.iaw__payment-status {
  color: var(--iaw-widget-text, #374151);
  font-weight: 500;
}

.iaw__order-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 20px;
}

/* Button base styles moved to line 3450 to consolidate with :disabled state */

/* Wishlist View Styling */
.iaw__view--wishlist {
  display: none;
}

.iaw__view--wishlist.iaw__view--active {
  display: flex;
}

.iaw__wishlist-header {
  display: block;
  margin-bottom: 12px;
}

.iaw__wishlist-header .iaw__back-btn {
  margin-bottom: 12px;
}

.iaw__wishlist-title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: var(--iaw-widget-text, #111827);
  text-align: left;
}

.iaw__wishlist-content {
  flex: 1;
  padding: 24px;
}

.iaw__wishlist-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  padding: 8px 0;
}

.iaw__wishlist-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  position: relative;
  min-width: 0;
  overflow: hidden;
}


.iaw__wishlist-item .iaw__product-image {
  width: 100%;
  height: 120px;
  border-radius: var(--iaw-widget-radius, 8px);
  overflow: hidden;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 auto;
  cursor: pointer;
}

.iaw__wishlist-item .iaw__product-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.iaw__remove-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #ef4444;
  color: white;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: bold;
  transition: all 0.2s ease;
  opacity: 0;
}

.iaw__wishlist-item:hover .iaw__remove-btn {
  opacity: 1;
}

.iaw__remove-btn:hover {
  background: #dc2626;
  transform: scale(1.1);
}

/* Manage Wishlists Button */
.iaw__manage-wishlists {
  margin-top: 16px;
  display: flex;
  justify-content: center;
}

.iaw__manage-wishlists-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: #f3f4f6;
  border: 1px solid var(--iaw-widget-border, #d1d5db);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 14px;
  font-weight: 500;
  color: var(--iaw-widget-text, #374151);
}

.iaw__manage-wishlists-btn:hover {
  background: #e5e7eb;
  border-color: var(--iaw-widget-border, #9ca3af);
  transform: translateY(-1px);
}

.iaw__manage-icon {
  font-size: 16px;
}

.iaw__manage-text {
  font-weight: 500;
}

/* Manage Wishlists View */
.iaw__view--manage-wishlists {
  display: none;
}

.iaw__view--manage-wishlists.iaw__view--active {
  display: flex;
}

.iaw__manage-wishlists-header {
  display: block;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--iaw-widget-border, #e5e7eb);
}

.iaw__manage-wishlists-header .iaw__back-btn {
  margin-bottom: 12px;
}

.iaw__manage-wishlists-title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: var(--iaw-widget-text, #111827);
  text-align: left;
}

.iaw__manage-wishlists-content {
  flex: 1;
  padding: 24px;
}

.iaw__create-wishlist-section {
  margin-bottom: 24px;
}

.iaw__create-wishlist-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* Primary button styles will handle background, color, border, etc. */
/* Keep width: 100% from iaw__btn--full */

.iaw__create-icon {
  font-size: 20px;
  font-weight: bold;
}

.iaw__wishlists-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.iaw__wishlist-item-manage {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  background: var(--iaw-widget-bg, #f9fafb);
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: 8px;
  transition: all 0.2s ease;
  position: relative;
  z-index: 1;
}


.iaw__wishlist-item-manage--dropdown-open {
  /* Small z-index to ensure dropdown appears above other wishlist items */
  z-index: 10;
}

.iaw__wishlist-info {
  flex: 1;
}

.iaw__wishlist-name {
  margin: 0 0 4px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__wishlist-count {
  margin: 0;
  font-size: 14px;
  color: var(--iaw-widget-text, #6b7280);
}

.iaw__wishlist-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.iaw__action-btn {
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 14px;
  font-weight: 500;
}

/* When action-btn is combined with iaw__btn, use button padding */
.iaw__action-btn.iaw__btn {
  padding: 0.75em 1.5em;
}

.iaw__view-btn {
  background: transparent;
  color: var(--iaw-widget-text, #6b7280);
  text-decoration: underline;
  border: none;
}

.iaw__view-btn:hover {
  background: transparent;
  color: var(--iaw-widget-text, #374151);
  transform: none;
}

.iaw__edit-btn {
  background: transparent;
  color: var(--iaw-widget-text, #6b7280);
  text-decoration: underline;
  border: none;
}

.iaw__edit-btn:hover {
  background: transparent;
  color: var(--iaw-widget-text, #374151);
  transform: none;
}

.iaw__delete-btn {
  background: transparent;
  color: #dc2626;
  text-decoration: underline;
  border: none;
}

.iaw__delete-btn:hover {
  background: transparent;
  color: #b91c1c;
  transform: none;
}

/* Address Management Styles */
.iaw__section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.iaw__addresses-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

.iaw__address-card {
  transition: all 0.2s ease;
}

.iaw__address-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
  position: relative;
}

.iaw__address-details {
  flex: 1;
  margin-right: 15px;
}

.iaw__address-default-text {
  color: var(--iaw-widget-text, #666);
  font-weight: 400;
  font-size: 14px;
}

.iaw__marketing-preference-label {
  font-size: 14px;
  font-weight: 500;
  color: var(--iaw-widget-text, #111827);
}

.iaw__marketing-preference-value {
  font-size: 14px;
  color: var(--iaw-widget-text, #6b7280);
}

.iaw__marketing-preference-disabled-message {
  font-size: 12px;
  color: var(--iaw-widget-text, #6b7280);
  font-style: italic;
}

.iaw__add-address-link {
  background: transparent;
  border: none;
  color: var(--iaw-widget-link, #3b82f6);
  text-decoration: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  padding: 0;
  transition: color 0.2s ease;
}

.iaw__add-address-link:hover {
  color: var(--iaw-widget-link, #2563eb);
  opacity: 0.8;
}

.iaw__address-action-link {
  background: transparent;
  border: none;
  color: var(--iaw-widget-link, #3b82f6);
  text-decoration: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  padding: 0;
  transition: color 0.2s ease;
}

.iaw__address-action-link:hover {
  color: var(--iaw-widget-link, #2563eb);
  opacity: 0.8;
}

.iaw__address-name {
  font-weight: 600;
  margin-bottom: 5px;
  color: var(--iaw-widget-text, #333);
}

.iaw__address-details p {
  margin: 2px 0;
  color: var(--iaw-widget-text, #666);
  font-size: 14px;
}

.iaw__address-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.iaw__no-addresses {
  text-align: center;
  color: var(--iaw-widget-text, #666);
  font-style: italic;
  padding: 20px;
  background: var(--iaw-widget-bg, #f9f9f9);
  border-radius: 8px;
  margin-bottom: 20px;
}

.iaw__address-form-container {
  background: var(--iaw-widget-bg, #f9f9f9);
  border: 1px solid var(--iaw-widget-border, #e0e0e0);
  border-radius: 8px;
  padding: 15px;
  margin-top: 15px;
}

.iaw__address-form-container h5 {
  margin: 0 0 15px 0;
  color: var(--iaw-widget-text, #333);
  font-size: 14px;
  font-weight: 600;
}

.iaw__address-form .iaw__form-row {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}

.iaw__address-form .iaw__form-group {
  flex: 1;
  min-width: 0;
}

/* Equal width fields (like first name and last name) */
.iaw__address-form .iaw__form-row--equal .iaw__form-group {
  flex: 1;
}

/* State/ZIP row - state takes more space, ZIP takes less */
.iaw__address-form .iaw__form-row--state-zip .iaw__form-group:first-child {
  flex: 2;
}

.iaw__address-form .iaw__form-row--state-zip .iaw__form-group:last-child {
  flex: 1;
}

.iaw__address-form .iaw__form-label {
  font-size: 12px;
  margin-bottom: 4px;
  font-weight: 500;
  color: var(--iaw-widget-text, #374151);
}

.iaw__address-form .iaw__form-input {
  padding: 8px 10px;
  font-size: 14px;
  min-height: 36px;
}

.iaw__address-form .iaw__form-input:-webkit-autofill,
.iaw__address-form .iaw__form-input:-webkit-autofill:hover,
.iaw__address-form .iaw__form-input:-webkit-autofill:focus,
.iaw__address-form .iaw__form-input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  -webkit-text-fill-color: var(--iaw-widget-text, #111827) !important;
  box-shadow: 0 0 0 1000px transparent inset !important;
  background-color: transparent !important;
  -webkit-transition: background-color 5000s ease-in-out 0s !important;
  transition: background-color 5000s ease-in-out 0s !important;
}

.iaw__checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 14px;
  color: var(--iaw-widget-text, #333);
}

.iaw__checkbox {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: #007bff;
  margin-right: 0.75em;
  margin-top: 0.125em;
  flex-shrink: 0;
}

.iaw__checkbox-text {
  font-size: 14px;
  color: var(--iaw-widget-text, #333);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  line-height: 1.5;
}

.iaw__form-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 15px;
  padding-top: 12px;
}

.iaw__btn--small {
  padding: 6px 12px;
  font-size: 12px;
  min-height: 32px;
}

.iaw__btn--danger {
  background-color: #dc3545;
  color: white;
  border-color: #dc3545;
}

.iaw__btn--danger:hover {
  background-color: #c82333;
  border-color: #bd2130;
}

/* Membership Styles */
.iaw__membership-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Sections within membership content - use dividers */
.iaw__membership-content > * {
  padding-top: 24px;
  padding-bottom: 24px;
}

.iaw__membership-content > *:first-child {
  padding-top: 0;
}

.iaw__membership-content > *:last-child {
  padding-bottom: 0;
}

/* When membership-content is used in subpages (like AddressFormView), add padding */
.iaw__content--subpage .iaw__membership-content {
  padding: 24px;
}

.iaw__content--subpage .iaw__membership-content > * {
  padding-top: 0;
  padding-bottom: 0;
}

/* Membership Status Section */
.iaw__membership-status-header {
  margin-bottom: 16px;
}

.iaw__membership-status-title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: var(--iaw-widget-text, #111827);
}

.iaw__membership-status-content {
  margin-top: 16px;
}

.iaw__status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
}



.iaw__status-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.iaw__status-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--iaw-widget-text, #6b7280);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.iaw__status-value {
  font-size: 16px;
  font-weight: 400;
  color: var(--iaw-widget-text, #111827);
}

.iaw__status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  width: -moz-fit-content;
  width: fit-content;
}

.iaw__status-badge--active {
  background-color: #d1fae5;
  color: #065f46;
}

.iaw__status-badge--cancelled {
  background-color: #fee2e2;
  color: #991b1b;
}

.iaw__status-badge--pending {
  background-color: #fef3c7;
  color: #92400e;
}

.iaw__status-badge--default {
  background-color: #f3f4f6;
  color: #374151;
}

/* Membership Actions */
.iaw__membership-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 20px;
  padding-top: 0px;
}

.iaw__membership-action-link {
  background: none;
  border: none;
  color: var(--iaw-widget-link, #3b82f6);
  font-size: 14px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  padding: 8px 0;
  transition: color 0.2s ease;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.iaw__membership-action-link:hover:not(:disabled) {
  color: var(--iaw-widget-link, #2563eb);
  opacity: 0.8;
}

.iaw__membership-action-link:disabled {
  color: #9ca3af;
  cursor: not-allowed;
  opacity: 0.6;
}

.iaw__membership-action-message {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.4;
}

.iaw__membership-action-message--success {
  background-color: #d1fae5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

.iaw__membership-action-message--error {
  background-color: #fee2e2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

/* Credit Balance Section */

.iaw__credit-balance-card {
  padding: 20px 0;
}

.iaw__credit-balance-header {
  margin-bottom: 16px;
}

.iaw__credit-balance-title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: var(--iaw-widget-text, #111827);
}

.iaw__credit-balance-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}

.iaw__credit-balance-amount {
  font-size: 32px;
  font-weight: 700;
  color: var(--iaw-widget-text, #111827);
  line-height: 1.2;
}

.iaw__credit-balance-message {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.4;
}

.iaw__credit-balance-message--success {
  background-color: #d1fae5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

.iaw__credit-balance-message--error {
  background-color: #fee2e2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

/* Discount Code Display Styles */
.iaw__discount-code-display {
  margin-top: 16px;
  padding-top: 16px;
}

.iaw__discount-code-card {
  background: transparent;
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: var(--iaw-widget-radius, 8px);
  padding: 16px;
  color: var(--iaw-widget-text, #111827);
}

.iaw__discount-code-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.iaw__discount-code-header-left {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.iaw__discount-code-header-right {
  display: flex;
  align-items: center;
}

/* Secondary buttons in header should use secondary button styles from merchant customizations */
.iaw__discount-code-header-right .iaw__btn--secondary {
  font-size: 11px;
  padding: 4px 8px;
  min-height: 24px;
  /* Background, color, border, and border-radius come from .iaw__btn--secondary */
}

.iaw__discount-code-header-right .iaw__btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.iaw__discount-code-amount {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: var(--iaw-widget-text, #111827);
}

.iaw__discount-code-label {
  font-size: 14px;
  font-weight: 500;
  color: var(--iaw-widget-text);
}

.iaw__discount-code-info {
  margin-bottom: 14px;
}

.iaw__discount-code-type {
  font-size: 12px;
  margin-bottom: 10px;
  font-weight: 500;
  color: var(--iaw-widget-text, #6b7280);
}

.iaw__discount-code-value {
  display: flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  padding: 10px 12px;
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: var(--iaw-widget-radius, 8px);
}

.iaw__discount-code-text {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.5px;
  flex: 1;
  color: var(--iaw-widget-text, #111827);
}

.iaw__discount-code-copy {
  padding: 6px 10px;
  font-size: 13px;
  min-width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Primary button styles will handle background, color, border, etc. */
.iaw__discount-code-copy.iaw__btn--primary {
  /* Let primary button styles take precedence */
}

.iaw__discount-code-actions {
  display: flex;
  justify-content: flex-end;
}

.iaw__discount-code-error {
  color: #dc2626;
  background-color: #fef2f2;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 12px;
  border: 1px solid #fecaca;
  margin-top: 8px;
}

.iaw__membership-tier-card {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
}

.iaw__tier-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.iaw__tier-image {
  flex-shrink: 0;
}

.iaw__tier-image img {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
}

.iaw__tier-details {
  flex: 1;
}

.iaw__tier-name {
  margin: 0 0 8px 0;
  font-size: 24px;
  font-weight: 700;
  color: var(--iaw-widget-text, #111827);
}

.iaw__tier-pricing {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 8px;
}

.iaw__tier-price {
  font-size: 28px;
  font-weight: 700;
  color: var(--iaw-widget-text, #111827);
}

.iaw__tier-price--free {
  color: #059669;
}

.iaw__tier-interval {
  font-size: 16px;
  color: var(--iaw-widget-text, #6b7280);
  font-weight: 500;
}

.iaw__tier-description {
  margin: 0 0 16px 0;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
  line-height: 1.5;
}

.iaw__credits-section {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
}

.iaw__credits-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.iaw__credits-header h4 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__credits-balance {
  text-align: right;
}

.iaw__credits-amount {
  font-size: 18px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__next-payment-section {
  background: var(--iaw-widget-bg, #f9fafb);
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: 12px;
  padding: 20px;
}

.iaw__next-payment-section h4 {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__payment-details {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.iaw__payment-date,
.iaw__payment-amount {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.iaw__payment-label {
  font-size: 14px;
  color: var(--iaw-widget-text, #6b7280);
}

.iaw__payment-value {
  font-size: 16px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}


.iaw__benefits-section {
  background: var(--iaw-widget-bg, #f9fafb);
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: 12px;
  padding: 20px;
}

.iaw__benefits-section h4 {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__benefits-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.iaw__benefit-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0;
  margin: 0;
}

.iaw__benefit-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: #059669;
  color: white;
  border-radius: 50%;
  font-size: 12px;
  font-weight: bold;
  flex-shrink: 0;
}

.iaw__benefit-text {
  color: var(--iaw-widget-text, #374151);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.iaw__membership-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.iaw__btn--danger {
  background-color: #dc2626;
  color: white;
  border-color: #dc2626;
}

.iaw__btn--danger:hover {
  background-color: #b91c1c;
  border-color: #b91c1c;
}

.iaw__btn--active {
  background-color: #3b82f6;
  color: white;
  border-color: #3b82f6;
}

.iaw__history-toggles {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  width: 100%;
}

.iaw__history-toggles .iaw__btn {
  flex: 1;
}

.iaw__history-section {
  margin-bottom: 24px;
}

.iaw__section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.iaw__section-header h4 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__history-stats {
  display: flex;
  gap: 16px;
}

.iaw__stat {
  font-size: 14px;
  color: var(--iaw-widget-text, #6b7280);
  font-weight: 500;
}

.iaw__table-container {
  overflow-x: auto;
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: 8px;
}

.iaw__history-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--iaw-widget-bg, white);
}

.iaw__history-table th {
  background: var(--iaw-widget-bg, #f9fafb);
  padding: 12px 16px;
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  color: var(--iaw-widget-text, #374151);
  border-bottom: 1px solid var(--iaw-widget-border, #e5e7eb);
}

.iaw__sortable-header {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color 0.2s ease;
}

.iaw__sortable-header:hover {
  background-color: #f3f4f6;
}

.iaw__history-table td {
  padding: 12px 16px;
  font-size: 14px;
  color: var(--iaw-widget-text, #374151);
  border-bottom: 1px solid #f3f4f6;
}

.iaw__history-row:hover {
  background-color: var(--iaw-widget-bg, #f9fafb);
}

.iaw__history-date {
  white-space: nowrap;
}

/* Credit History List */
.iaw__credit-history-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.iaw__credit-entry {
  padding: 12px 0;
  transition: opacity 0.2s ease;
}

.iaw__credit-entry:first-child {
  padding-top: 0;
}

.iaw__credit-entry:hover {
  opacity: 0.8;
}

.iaw__credit-entry-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.iaw__credit-entry-date {
  color: var(--iaw-widget-text, #6b7280);
  font-weight: 400;
  font-size: 14px;
}

.iaw__credit-entry-amount {
  font-size: 15px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__credit-entry-amount--positive {
  color: var(--iaw-widget-text, #111827);
}

.iaw__credit-entry-amount--negative {
  color: var(--iaw-widget-text, #111827);
}

.iaw__credit-entry-reason {
  color: var(--iaw-widget-text, #374151);
  font-weight: 400;
  /* line-height: 1.4; */
  font-size: 14px;
}

.iaw__credit-entry-balance {
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
}

/* Payment History Styles */
.iaw__payment-history-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.iaw__payment-history-section {
  padding-bottom: 0;
}

.iaw__membership-content > .iaw__credit-history-section:last-child {
  padding-bottom: 24px;
}

.iaw__payment-entry {
  padding: 12px 0;
  transition: opacity 0.2s ease;
}

.iaw__payment-entry:first-child {
  padding-top: 0;
}

.iaw__payment-entry:hover {
  opacity: 0.8;
}

.iaw__payment-entry-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.iaw__payment-entry-date {
  font-size: 14px;
  color: var(--iaw-widget-text, #6b7280);
}

.iaw__payment-entry-amount {
  font-size: 15px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__history-reason {
  font-weight: 500;
  color: var(--iaw-widget-text, #374151);
}

.iaw__history-amount {
  font-weight: 600;
  text-align: right;
  color: var(--iaw-widget-text, #111827);
}

.iaw__history-amount--earned {
  color: var(--iaw-widget-text, #111827);
}

.iaw__history-amount--redeemed {
  color: var(--iaw-widget-text, #111827);
}

.iaw__history-balance {
  text-align: right;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__history-description {
  font-weight: 500;
  color: var(--iaw-widget-text, #374151);
}

.iaw__history-status {
  text-align: center;
}

.iaw__status-badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.iaw__status-badge--completed {
  background-color: #d1fae5;
  color: #065f46;
}

.iaw__status-badge--pending {
  background-color: #fef3c7;
  color: #92400e;
}

.iaw__status-badge--failed {
  background-color: #fee2e2;
  color: #991b1b;
}

.iaw__status-badge--refunded {
  background-color: #e0e7ff;
  color: #3730a3;
}

.iaw__status-badge--default {
  background-color: #f3f4f6;
  color: #374151;
}

.iaw__no-history {
  text-align: center;
  padding: 40px 20px;
  color: #6b7280;
}

.iaw__no-history p {
  margin: 0;
  font-size: 14px;
}

/* Non-member view */
.iaw__non-member-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.iaw__non-member-header {
  text-align: center;
  padding: 20px;
}

.iaw__non-member-header h3 {
  margin: 0 0 8px 0;
  font-size: 24px;
  font-weight: 700;
  color: #111827;
}

.iaw__non-member-header p {
  margin: 0;
  color: #6b7280;
  font-size: 16px;
}

.iaw__membership-tiers {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.iaw__tier-card {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  transition: all 0.2s ease;
}

.iaw__tier-card:hover {
  border-color: #3b82f6;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
}

.iaw__tier-card .iaw__tier-image {
  margin: 0 auto 16px;
  width: 60px;
  height: 60px;
}

.iaw__tier-card .iaw__tier-image img {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
}

.iaw__tier-card .iaw__tier-name {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 700;
  color: #111827;
}

.iaw__tier-card .iaw__tier-pricing {
  margin-bottom: 12px;
}

.iaw__tier-card .iaw__tier-price {
  font-size: 24px;
  font-weight: 700;
  color: #111827;
}

.iaw__tier-card .iaw__tier-interval {
  font-size: 14px;
  color: #6b7280;
  font-weight: 500;
}

.iaw__tier-card .iaw__tier-description {
  margin: 0 0 16px 0;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.5;
}

.iaw__tier-features {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
  text-align: left;
}

.iaw__tier-features li {
  padding: 4px 0;
  color: #374151;
  font-size: 14px;
  position: relative;
  padding-left: 20px;
}

.iaw__tier-features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #059669;
  font-weight: bold;
}

/* Modal Styles */
.iaw__modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}

.iaw__modal {
  background: var(--iaw-widget-bg, white);
  border-radius: 12px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  max-width: 500px;
  width: 100%;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  color: var(--iaw-widget-text, #111827);
}

.iaw__modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--iaw-widget-border, #e5e7eb);
}

.iaw__modal-header h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__modal-close {
  background: none;
  border: none;
  font-size: 24px;
  color: #6b7280;
  cursor: pointer;
  padding: 4px;
  line-height: 1;
  border-radius: 4px;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.iaw__modal-close:hover {
  color: #374151;
  background-color: #f3f4f6;
}

.iaw__modal-content {
  padding: 24px;
  overflow-y: auto;
  flex: 1;
}

.iaw__modal-section {
  margin-bottom: 24px;
}

.iaw__modal-section:last-child {
  margin-bottom: 0;
}

.iaw__modal-section h4 {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
}

.iaw__redemption-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.iaw__radio-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  border: 2px solid #e5e7eb;
  border-radius: var(--iaw-widget-radius, 8px);
  cursor: pointer;
  transition: all 0.2s ease;
}

.iaw__radio-option:hover {
  border-color: #3b82f6;
  background-color: #f0f9ff;
}

.iaw__radio-option input[type="radio"] {
  margin: 0;
  accent-color: #3b82f6;
}

.iaw__radio-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.iaw__profile-section h4 {
  font-size: 18px;
}

.iaw__radio-title {
  font-size: 16px;
  font-weight: 600;
  color: #111827;
}

.iaw__radio-description {
  font-size: 14px;
  color: #6b7280;
}

.iaw__amount-input-container {
  position: relative;
  display: flex;
  align-items: center;
}

.iaw__currency-symbol {
  position: absolute;
  left: 16px;
  font-size: 16px;
  font-weight: 600;
  color: #374151;
  z-index: 1;
}

.iaw__amount-input {
  width: 100%;
  padding: 12px 16px 12px 32px;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  background: white;
}

.iaw__amount-input:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.iaw__amount-help {
  margin: 8px 0 0 0;
  font-size: 12px;
  color: #6b7280;
}

.iaw__credit-summary {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
}

.iaw__credit-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  font-size: 14px;
}

.iaw__credit-item--total {
  border-top: 1px solid #e5e7eb;
  margin-top: 8px;
  padding-top: 16px;
  font-weight: 600;
  font-size: 16px;
}

.iaw__credit-amount {
  font-weight: 600;
  color: #111827;
}

.iaw__success-message {
  text-align: center;
  padding: 20px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  margin-bottom: 20px;
}

.iaw__success-icon {
  font-size: 48px;
  color: #059669;
  margin-bottom: 16px;
}

.iaw__success-message h4 {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 600;
  color: #111827;
}

.iaw__success-message p {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
}

.iaw__code-display {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 20px;
}

.iaw__code-label {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 12px;
}

.iaw__code-container {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.iaw__code-text {
  flex: 1;
  font-size: 18px;
  font-weight: 700;
  color: #111827;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 12px 16px;
  text-align: center;
  letter-spacing: 1px;
}

.iaw__copy-btn {
  background: #3b82f6;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 12px 16px;
  cursor: pointer;
  font-size: 16px;
  transition: background-color 0.2s ease;
}

.iaw__copy-btn:hover {
  background: #2563eb;
}

.iaw__code-details {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
}

.iaw__code-detail {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.iaw__code-detail span:first-child {
  color: #6b7280;
  font-weight: 500;
}

.iaw__code-detail span:last-child {
  color: #111827;
  font-weight: 600;
}

.iaw__modal-actions {
  display: flex;
  gap: 12px;
  padding: 20px 24px;
  border-top: 1px solid #e5e7eb;
  background: #f9fafb;
}

.iaw__modal-actions .iaw__btn {
  flex: 1;
}

/* Wishlist Empty State */
.iaw__wishlist-empty {
  width: 100%;
  padding: 16px;
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: var(--iaw-widget-radius, 8px);
  text-align: left;
}

.iaw__wishlist-empty-icon {
  font-size: 3em;
  margin-bottom: 1em;
  opacity: 0.7;
}

.iaw__wishlist-empty-text {
  margin: 0 0 8px 0;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 14px;
  line-height: 1.5;
  font-style: italic;
}

.iaw__wishlist-empty-text:last-child {
  margin-bottom: 0;
}

.iaw__wishlist-empty-subtext {
  font-size: 0.9em;
  color: #666;
  margin: 0;
}

/* Modal Styles */
.iaw__modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 1em;
}

.iaw__modal {
  background: white;
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  max-width: 500px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
}

.iaw__modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5em 1.5em 0 1.5em;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 1.5em;
}

.iaw__modal-title {
  font-size: 1.25em;
  font-weight: 600;
  color: #111827;
  margin: 0;
}

.iaw__modal-close {
  background: none;
  border: none;
  font-size: 1.5em;
  color: #6b7280;
  cursor: pointer;
  padding: 0.25em;
  line-height: 1;
  border-radius: 4px;
  transition: color 0.2s, background-color 0.2s;
}

.iaw__modal-close:hover {
  color: #374151;
  background-color: #f3f4f6;
}

.iaw__modal-close:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.iaw__modal-form {
  padding: 0 1.5em 1.5em 1.5em;
}

.iaw__form-label {
  display: block;
  font-size: 0.875em;
  font-weight: 500;
  color: var(--iaw-widget-text, #374151);
  margin-bottom: 0.5em;
}

.iaw__form-input {
  width: 100%;
  padding: 0.75em;
  border: 1px solid var(--iaw-widget-border, #d1d5db);
  border-radius: 6px;
  font-size: 1em;
  transition: border-color 0.2s, box-shadow 0.2s;
  background: transparent;
  color: var(--iaw-widget-text, #111827);
}

.iaw__form-input:-webkit-autofill,
.iaw__form-input:-webkit-autofill:hover,
.iaw__form-input:-webkit-autofill:focus,
.iaw__form-input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  -webkit-text-fill-color: var(--iaw-widget-text, #111827) !important;
  box-shadow: 0 0 0 1000px transparent inset !important;
  background-color: transparent !important;
  -webkit-transition: background-color 5000s ease-in-out 0s !important;
  transition: background-color 5000s ease-in-out 0s !important;
}

.iaw__form-input--error {
  border-color: #ef4444;
}

.iaw__form-input--error:focus {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.iaw__form-input:disabled {
  background-color: transparent;
  color: var(--iaw-widget-text, #111827);
  opacity: 0.5;
  cursor: not-allowed;
}

.iaw__checkbox-label {
  display: flex;
  align-items: flex-start;
  cursor: pointer;
  font-size: 0.875em;
  color: #374151;
}

/* .iaw__checkbox and .iaw__checkbox-text styles consolidated at line 2003 */

.iaw__form-help {
  font-size: 0.75em;
  color: #6b7280;
  margin: 0.5em 0 0 0;
  line-height: 1.4;
}

.iaw__form-error {
  display: block;
  font-size: 0.75em;
  color: #ef4444;
  margin-top: 0.5em;
}

.iaw__form-error--submit {
  background-color: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 6px;
  padding: 0.75em;
  margin-bottom: 1em;
  font-size: 0.875em;
}

.iaw__modal-actions {
  display: flex;
  gap: 0.75em;
  justify-content: flex-end;
  padding: 1.5em;
  border-top: 1px solid #e5e7eb;
  background-color: #f9fafb;
  border-radius: 0 0 8px 8px;
}

.iaw__btn {
  padding: 0.75em 1.5em;
  border-radius: 6px;
  font-size: 0.875em;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid transparent;
}

.iaw__btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.iaw__btn--primary {
  background-color: var(--iaw-btn-primary-bg, var(--iaw-defaults-button-large-primary-bg-color));
  color: var(--iaw-btn-primary-text, var(--iaw-defaults-button-large-primary-text-color));
  border: 1px solid var(--iaw-btn-primary-border, var(--iaw-defaults-button-large-primary-border-color));
  border-radius: var(--iaw-btn-primary-radius, var(--iaw-defaults-button-large-primary-border-radius));
  height: var(--iaw-defaults-button-large-primary-height, 52px);
  font-size: var(--iaw-defaults-button-large-primary-font-size, 14px);
}

.iaw__btn--primary:hover:not(:disabled) {
  background-color: var(--iaw-btn-primary-hover-bg, var(--iaw-defaults-button-large-primary-hover-bg-color));
  color: var(--iaw-btn-primary-hover-text, var(--iaw-defaults-button-large-primary-hover-text-color));
  border: 1px solid var(--iaw-btn-primary-hover-border, var(--iaw-defaults-button-large-primary-hover-border-color));
}

.iaw__btn--secondary {
  background-color: var(--iaw-btn-secondary-bg, white);
  color: var(--iaw-btn-secondary-text, #374151);
  border: 1px solid var(--iaw-btn-secondary-border, var(--iaw-widget-border, #d1d5db));
  border-radius: var(--iaw-btn-secondary-radius, 6px);
}

.iaw__btn--secondary:hover:not(:disabled) {
  background-color: var(--iaw-btn-secondary-hover-bg, #f9fafb);
  color: var(--iaw-btn-secondary-hover-text, #374151);
  border: 1px solid var(--iaw-btn-secondary-hover-border, var(--iaw-widget-border, #9ca3af));
}

/* Error Message */
.iaw__error-message {
  background-color: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 6px;
  padding: 0.75em;
  margin-bottom: 1em;
  color: #dc2626;
  font-size: 0.875em;
}

/* Empty State */
.iaw__empty-state {
  text-align: center;
  padding: 2em 1em;
  color: #6b7280;
}

.iaw__empty-message {
  font-size: 1em;
  margin: 0;
  line-height: 1.5;
}

/* Wishlist Name Display */
.iaw__wishlist-name-display {
  font-weight: 400;
  color: var(--iaw-widget-text, #6b7280);
  font-size: 0.9em;
}

/* Default Wishlist Badge */
.iaw__wishlist-default-badge {
  font-size: 0.8em;
  font-weight: 600;
  color: #4b5563;
  background-color: #e5e7eb;
  padding: 0.25em 0.5em;
  border-radius: 0.375em;
  margin-left: 0.5em;
  display: inline-block;
}

/* Inline Editing Styles */
.iaw__wishlist-edit-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.iaw__wishlist-edit-input {
  padding: 8px 12px;
  border: 1px solid var(--iaw-widget-border, #d1d5db);
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  color: var(--iaw-widget-text, #111827);
  background: transparent;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.iaw__wishlist-edit-input:focus {
  outline: none;
  border-color: var(--iaw-widget-link, #3b82f6);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.iaw__wishlist-edit-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.iaw__save-btn {
  background: #10b981;
  color: white;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}

.iaw__save-btn:hover:not(:disabled) {
  background: #059669;
}

.iaw__save-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.iaw__cancel-btn {
  background: #6b7280;
  color: white;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}

.iaw__cancel-btn:hover:not(:disabled) {
  background: #4b5563;
}

.iaw__set-default-btn {
  background: transparent;
  color: #6b7280;
  text-decoration: underline;
  border: none;
}

.iaw__set-default-btn:hover:not(:disabled) {
  color: #374151;
}

.iaw__set-default-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Dropdown Menu Styles */
.iaw__wishlist-actions {
  position: relative;
  display: flex;
  align-items: center;
}

.iaw__dropdown-toggle {
  background: transparent;
  border: none;
  color: #6b7280;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: all 0.2s;
  line-height: 1;
}

.iaw__dropdown-toggle:hover {
  color: #374151;
}

.iaw__dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background: var(--iaw-widget-bg, white);
  border: 1px solid var(--iaw-widget-border, #e5e7eb);
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  /* z-index not needed - parent item handles stacking */
  min-width: 160px;
  padding: 4px 0;
  margin-top: 4px;
  color: var(--iaw-widget-text, #374151);
}

.iaw__dropdown-menu--up {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 4px;
  box-shadow: 0 -10px 25px rgba(0, 0, 0, 0.15);
}

.iaw__dropdown-item {
  display: block;
  width: 100%;
  padding: 8px 16px;
  border: none;
  background: transparent;
  color: var(--iaw-widget-text, #374151);
  text-align: left;
  cursor: pointer;
  transition: background-color 0.2s;
  font-size: 14px;
  font-weight: 500;
}

.iaw__dropdown-item:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.05);
}

.iaw__dropdown-item:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.iaw__dropdown-item--danger {
  color: #dc2626;
}

.iaw__dropdown-item--danger:hover:not(:disabled) {
  color: #b91c1c;
}

/* Quick Links Styles */
.iaw__quick-link {
  color: var(--iaw-widget-link, #3b82f6);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s ease;
}

.iaw__quick-link:hover {
  color: var(--iaw-widget-link, #2563eb);
  opacity: 0.8;
}

/* Discount Highlight Section */
.iaw__discount-highlight {
  margin-bottom: 24px;
}

.iaw__discount-content {
  position: relative;
}

.iaw__discount-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.iaw__discount-header h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #1e293b;
}

.iaw__discount-badge {
  background: #3b82f6;
  color: white;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
}

.iaw__discount-body {
  position: relative;
}

.iaw__discount-title {
  margin: 0 0 6px 0;
  font-size: 14px;
  font-weight: 500;
  color: #374151;
}

.iaw__discount-description {
  margin: 0 0 12px 0;
  font-size: 13px;
  color: #6b7280;
  line-height: 1.4;
}

.iaw__discount-code-section {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.iaw__discount-code-btn {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  padding: 6px 10px;
  color: #1e293b;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.iaw__discount-code-btn:hover {
  background: #e2e8f0;
  border-color: #94a3b8;
}

.iaw__discount-code-btn:active {
  background: #cbd5e1;
  transform: scale(0.98);
}

.iaw__discount-auto {
  margin-bottom: 8px;
}

.iaw__discount-auto-label {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
}

.iaw__discount-auto-label::before {
  content: '✓';
  font-weight: bold;
  color: #10b981;
}

.iaw__discount-expiry {
  margin-top: 6px;
}

.iaw__discount-expiry-text {
  font-size: 11px;
  color: #9ca3af;
  font-weight: 500;
}

/* Featured Section Styles */
.iaw__featured-section {
  padding: 0;
}

.iaw__featured-image-container {
  width: 100%;
  height: 200px;
  border-radius: var(--iaw-widget-radius, 8px);
  overflow: hidden;
  margin-bottom: 16px;
  position: relative;
}

.iaw__featured-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 0.3s ease;
}

.iaw__featured-image-container:hover .iaw__featured-image {
  transform: scale(1.05);
}

.iaw__featured-heading {
  margin: 0 0 12px 0;
  font-size: 20px;
  font-weight: 600;
  color: #111827;
  line-height: 1.3;
}

.iaw__featured-text {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.6;
}

/* Loading spinner animation */
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
