/**
 * Amazon Style Theme for OpenCart 3.0.5.0
 * Product Styles - Cards, Gallery, Details
 *
 * @package    theme_amazon
 * @author     ChatGPT.com
 * @version    1.0.0
 */

/* ========================================
   PRODUCT CARD
   ======================================== */

.amazon-product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--amazon-bg-card, #fff);
  border: 1px solid var(--amazon-border-color, #D5D9D9);
  border-radius: var(--amazon-radius, 8px);
  overflow: hidden;
  box-shadow: var(--amazon-shadow-card, 0 2px 5px 0 rgba(213,217,217,.5));
  transition: box-shadow var(--amazon-transition, 0.2s), transform var(--amazon-transition, 0.2s);
}

.amazon-product-card:hover {
  box-shadow: var(--amazon-shadow-lg, 0 8px 16px rgba(0,0,0,.15));
  transform: translateY(-2px);
}

/* Card Image */
.amazon-product-card-image {
  position: relative;
  aspect-ratio: var(--amazon-card-image-ratio);
  background: var(--amazon-bg-light);
  overflow: hidden;
}

.amazon-product-card-image a {
  display: block;
  width: 100%;
  height: 100%;
}

.amazon-product-card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform var(--amazon-transition-slow);
}

.amazon-product-card:hover .amazon-product-card-image img {
  transform: scale(1.05);
}

/* Card Badges */
.amazon-product-card-badges {
  position: absolute;
  top: var(--amazon-space-2);
  left: var(--amazon-space-2);
  display: flex;
  flex-direction: column;
  gap: var(--amazon-space-1);
  z-index: 2;
}

/* Card Actions (Wishlist, Compare) */
.amazon-product-card-actions {
  position: absolute;
  top: var(--amazon-space-2, 8px);
  right: var(--amazon-space-2, 8px);
  display: flex;
  flex-direction: column;
  gap: var(--amazon-space-1, 4px);
  opacity: 0;
  transform: translateX(10px);
  transition: all var(--amazon-transition, 0.2s);
  z-index: 2;
}

.amazon-product-card:hover .amazon-product-card-actions {
  opacity: 1;
  transform: translateX(0);
}

/* On touch devices, always show action buttons (desktop tablets) */
@media (hover: none) and (min-width: 768px) {
  .amazon-product-card-actions {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Hide wishlist/compare on mobile — they cover product images too much */
@media (max-width: 767.98px) {
  .amazon-product-card-actions {
    display: none;
  }
}

.amazon-product-card-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--amazon-bg-light, #fff);
  border: 1px solid var(--amazon-border-color, #D5D9D9);
  border-radius: var(--amazon-radius-full, 50%);
  color: var(--amazon-text-secondary, #565959);
  cursor: pointer;
  overflow: hidden;
  transition: all var(--amazon-transition, 0.2s);
}

.amazon-product-card-action-btn:hover {
  background: var(--amazon-bg-gray);
  color: var(--amazon-text-primary);
}

.amazon-product-card-action-btn.active {
  background: var(--amazon-danger-light);
  border-color: var(--amazon-danger);
  color: var(--amazon-danger);
}

.amazon-product-card-action-btn svg {
  width: 18px;
  height: 18px;
}

/* Card Body */
.amazon-product-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: var(--amazon-card-padding);
}

/* Card Title */
.amazon-product-card-title {
  margin: 0 0 var(--amazon-space-2);
  font-size: var(--amazon-text-base);
  font-weight: var(--amazon-font-normal);
  line-height: var(--amazon-leading-snug);
}

.amazon-product-card-title a {
  color: var(--amazon-text-primary);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.amazon-product-card-title a:hover {
  color: var(--amazon-link-hover);
  text-decoration: none;
}

/* Card Rating */
.amazon-product-card-rating {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-1);
  margin-bottom: var(--amazon-space-2);
}

/* Card Price */
.amazon-product-card-price {
  margin-bottom: var(--amazon-space-2);
}

.amazon-product-card-price-current {
  display: inline-flex;
  align-items: flex-start;
  gap: 0;
  color: var(--amazon-price-color, #0F1111);
}

.amazon-product-card-price-whole {
  font-size: var(--amazon-text-xl, 21px);
  font-weight: var(--amazon-font-normal, 400);
  line-height: 1;
}

.amazon-product-card-price-separator {
  display: none;
}

.amazon-product-card-price-fraction {
  font-size: var(--amazon-text-sm, 12px);
  align-self: flex-start;
  margin-top: 1px;
}

/* Currency symbol — top-aligned like Amazon */
.amazon-product-card-price-symbol {
  font-size: var(--amazon-text-sm, 12px);
  align-self: flex-start;
  margin-top: 1px;
}

.amazon-product-card-price-original {
  font-size: var(--amazon-text-sm);
  color: var(--amazon-text-secondary);
  text-decoration: line-through;
  margin-left: var(--amazon-space-2);
}

/* Sale price */
.amazon-product-card-price.on-sale .amazon-product-card-price-current {
  color: var(--amazon-price-sale);
}

/* Card Stock */
.amazon-product-card-stock {
  font-size: var(--amazon-text-sm);
  margin-bottom: var(--amazon-space-2);
}

.amazon-product-card-stock.in-stock {
  color: var(--amazon-success);
}

.amazon-product-card-stock.low-stock {
  color: var(--amazon-warning);
}

.amazon-product-card-stock.out-of-stock {
  color: var(--amazon-danger);
}

/* Card Shipping */
.amazon-product-card-shipping {
  font-size: var(--amazon-text-sm);
  color: var(--amazon-text-secondary);
  margin-bottom: var(--amazon-space-2);
}

.amazon-product-card-shipping strong {
  color: var(--amazon-text-primary);
}

/* Card Footer (Add to Cart) */
.amazon-product-card-footer {
  margin-top: auto;
  padding-top: var(--amazon-space-2);
}

.amazon-product-card-footer .btn-amazon {
  width: 100%;
}

/* ========================================
   PRODUCT CARD VARIATIONS
   ======================================== */

/* List view card — class is on parent grid, not on each card */
.amazon-product-grid.list-view .amazon-product-card {
  flex-direction: row;
  align-items: flex-start;
}

.amazon-product-grid.list-view .amazon-product-card-image {
  flex-shrink: 0;
  width: 200px;
  aspect-ratio: 1;
}

.amazon-product-grid.list-view .amazon-product-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.amazon-product-grid.list-view .amazon-product-card-title {
  font-size: var(--amazon-text-lg);
  -webkit-line-clamp: 3;
}

@media (max-width: 575.98px) {
  .amazon-product-grid.list-view .amazon-product-card {
    flex-direction: row;
  }

  .amazon-product-grid.list-view .amazon-product-card-image {
    width: 120px;
  }

  .amazon-product-grid.list-view .amazon-product-card-title {
    font-size: var(--amazon-text-base);
    -webkit-line-clamp: 2;
  }
}

/* Compact card (for carousels) */
.amazon-product-card.compact .amazon-product-card-body {
  padding: var(--amazon-space-2);
}

.amazon-product-card.compact .amazon-product-card-title {
  font-size: var(--amazon-text-sm);
  -webkit-line-clamp: 2;
}

.amazon-product-card.compact .amazon-product-card-footer {
  display: none;
}

/* ========================================
   PRODUCT PAGE - MAIN LAYOUT
   ======================================== */

.amazon-product-page {
  background: var(--amazon-bg-light);
}

.amazon-product-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: var(--amazon-space-4);
  padding: var(--amazon-space-4);
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .amazon-product-layout {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
}

@media (max-width: 991.98px) {
  .amazon-product-layout {
    grid-template-columns: 1fr;
    padding: var(--amazon-space-3);
  }
}

/* ========================================
   PRODUCT GALLERY
   ======================================== */

.amazon-product-gallery {
  display: flex;
  gap: var(--amazon-space-4);
}

.amazon-product-gallery-thumbs {
  display: flex;
  flex-direction: column;
  gap: var(--amazon-space-2, 8px);
  width: 150px;
  min-width: 150px;
  flex-shrink: 0;
  max-height: calc(150px * 5 + 8px * 4);
  overflow: hidden;
  position: relative;
}

.amazon-product-gallery-thumbs-inner {
  display: flex;
  flex-direction: column;
  gap: var(--amazon-space-2, 8px);
  transition: transform 0.3s ease;
}

.amazon-thumb-nav {
  position: absolute;
  left: 0;
  width: 100%;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.9);
  border: 1px solid var(--amazon-border-color, #D5D9D9);
  border-radius: var(--amazon-radius-sm, 4px);
  cursor: pointer;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}

.amazon-thumb-nav.visible {
  opacity: 1;
  pointer-events: auto;
}

.amazon-thumb-nav--up {
  top: 0;
}

.amazon-thumb-nav--down {
  bottom: 0;
}

.amazon-thumb-nav svg {
  width: 16px;
  height: 16px;
  fill: #333;
}

.amazon-product-gallery-thumb {
  width: 150px;
  height: 150px;
  flex-shrink: 0;
  border: 2px solid var(--amazon-border-color, #D5D9D9);
  border-radius: var(--amazon-radius-sm, 4px);
  cursor: pointer;
  overflow: hidden;
  background: var(--amazon-bg-card, #fff);
  padding: 0;
  transition: border-color var(--amazon-transition, 0.2s);
}

.amazon-product-gallery-thumb:hover,
.amazon-product-gallery-thumb.active {
  border-color: var(--amazon-accent);
}

.amazon-product-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.amazon-product-gallery-main {
  flex: 1;
  position: relative;
  overflow: hidden;
}

.amazon-product-gallery-image {
  aspect-ratio: 1;
  background: var(--amazon-bg-light);
  border: 1px solid var(--amazon-border-light);
  border-radius: var(--amazon-radius);
  overflow: hidden;
  cursor: zoom-in;
}

.amazon-product-gallery-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Zoom styling handled by amazon-gallery.css */

@media (max-width: 991.98px) {
  .amazon-product-gallery {
    flex-direction: column-reverse;
  }

  .amazon-product-gallery-thumbs {
    flex-direction: row;
    width: 100%;
    overflow-x: auto;
    max-height: none;
    overflow: visible;
  }

  .amazon-product-gallery-thumbs-inner {
    flex-direction: row;
    transform: none !important;
  }

  .amazon-thumb-nav {
    display: none;
  }

  .amazon-product-gallery-zoom {
    display: none;
  }
}

/* ========================================
   PRODUCT INFO
   ======================================== */

.amazon-product-availability {
  margin-bottom: var(--amazon-space-1);
}

.amazon-product-info {
  position: -webkit-sticky;
    position: sticky;
  top: calc(var(--amazon-header-height) + var(--amazon-space-4));
  z-index: 20;
}

@media (max-width: 991.98px) {
  .amazon-product-availability {
  margin-bottom: var(--amazon-space-1);
}

.amazon-product-info {
    position: static;
  }
}

.amazon-product-gallery-wrapper {
  min-width: 0;
  overflow: hidden;
}

.amazon-product-title {
  font-size: var(--amazon-text-2xl);
  font-weight: var(--amazon-font-normal);
  line-height: var(--amazon-leading-snug);
  margin-bottom: var(--amazon-space-2);
}

.amazon-product-brand {
  font-size: var(--amazon-text-sm);
  margin-bottom: var(--amazon-space-2);
}

.amazon-product-brand a {
  color: var(--amazon-link);
}

/* Product rating section */
.amazon-product-rating-section {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-3);
  padding-bottom: var(--amazon-space-3);
  margin-bottom: var(--amazon-space-3);
  border-bottom: 1px solid var(--amazon-border-light);
}

/* Product price section */
.amazon-product-price-section {
  padding-bottom: 4px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--amazon-border-light);
}

.amazon-product-price-label {
  font-size: var(--amazon-text-sm);
  color: var(--amazon-text-secondary);
  margin-bottom: var(--amazon-space-1);
}

.amazon-product-price-main {
  display: flex;
  align-items: baseline;
  gap: var(--amazon-space-3);
}

.amazon-product-price-current {
  display: flex;
  align-items: flex-start;
  color: var(--amazon-price-sale);
}

.amazon-product-price-separator {
  display: none;
}

.amazon-product-price-whole {
  font-size: var(--amazon-text-4xl);
  line-height: 1;
}

.amazon-product-price-fraction {
  font-size: var(--amazon-text-md);
  align-self: flex-start;
  margin-top: 2px;
}

/* Currency symbol (e.g. €/$) — top-aligned like Amazon */
.amazon-product-price-symbol {
  font-size: var(--amazon-text-md);
  align-self: flex-start;
  margin-top: 2px;
}

.amazon-product-price-original {
  font-size: var(--amazon-text-base);
  color: var(--amazon-text-secondary);
  text-decoration: line-through;
}

.amazon-product-discount {
  display: inline-block;
  padding: 2px 8px;
  background: var(--amazon-danger);
  color: white;
  font-size: var(--amazon-text-sm);
  font-weight: var(--amazon-font-semibold);
  border-radius: var(--amazon-radius-sm);
}

/* Product availability — main definition in STOCK URGENCY LEVELS section below */

/* Product delivery */
.amazon-product-delivery {
  margin-bottom: 4px;
  padding: var(--amazon-space-2);
  background: var(--amazon-bg-gray-light, #F7F8F8);
  border-radius: var(--amazon-radius);
  border: 1px solid var(--amazon-border-color, #D5D9D9);
}

.amazon-product-delivery-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--amazon-border-light, #EAEDED);
  font-size: 14px;
  line-height: 1.4;
}

.amazon-product-delivery-row:last-child,
.amazon-product-delivery-row:last-of-type {
  border-bottom: none;
}

.amazon-product-delivery-icon {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--amazon-text-secondary, #565959);
}

.amazon-product-delivery-express .amazon-product-delivery-icon {
  color: var(--amazon-primary, #FF9900);
}

.amazon-product-delivery-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.amazon-product-delivery-label {
  color: var(--amazon-text-secondary, #565959);
  font-size: 13px;
}

.amazon-product-delivery-date {
  color: var(--amazon-success, #067D62);
  font-weight: var(--amazon-font-bold, 700);
}

.amazon-product-delivery-express .amazon-product-delivery-date {
  color: var(--amazon-primary, #FF9900);
}

.amazon-product-delivery-badge {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: var(--amazon-font-semibold, 600);
  color: var(--amazon-success, #067D62);
  background: rgba(6, 125, 98, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
  white-space: nowrap;
}

/* Shipping policy collapsible */
.amazon-product-shipping-policy {
  margin-top: 4px;
  font-size: 13px;
}

.amazon-product-shipping-policy summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--amazon-link, #007185);
  padding: 6px 0;
  user-select: none;
  list-style: none;
}

.amazon-product-shipping-policy summary::-webkit-details-marker {
  display: none;
}

.amazon-product-shipping-policy summary:hover {
  color: var(--amazon-link-hover, #C7511F);
  text-decoration: underline;
}

.amazon-product-shipping-policy-content {
  padding: 8px 0 4px 24px;
  color: var(--amazon-text-secondary, #565959);
  font-size: 13px;
  line-height: 1.5;
}

/* Cart delivery estimate */
.amazon-cart-delivery-estimate {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  margin-bottom: 12px;
  background: rgba(6, 125, 98, 0.05);
  border: 1px solid rgba(6, 125, 98, 0.2);
  border-radius: var(--amazon-radius, 8px);
  font-size: 14px;
}

.amazon-cart-delivery-estimate svg {
  flex-shrink: 0;
  color: var(--amazon-success, #067D62);
}

.amazon-cart-delivery-label {
  display: block;
  font-size: 12px;
  color: var(--amazon-text-secondary, #565959);
}

.amazon-cart-delivery-dates {
  color: var(--amazon-success, #067D62);
}

/* Product options */
.amazon-product-options {
  margin-bottom: var(--amazon-space-4);
}

.amazon-product-option {
  margin-bottom: var(--amazon-space-4);
}

.amazon-product-option-label {
  display: block;
  font-weight: var(--amazon-font-semibold);
  margin-bottom: var(--amazon-space-2);
}

.amazon-product-option-values {
  display: flex;
  flex-wrap: wrap;
  gap: var(--amazon-space-2);
}

/* Color swatches */
.amazon-product-swatch {
  width: 40px;
  height: 40px;
  border: 2px solid var(--amazon-border-color);
  border-radius: var(--amazon-radius-sm);
  cursor: pointer;
  transition: border-color var(--amazon-transition);
}

.amazon-product-swatch:hover,
.amazon-product-swatch.selected {
  border-color: var(--amazon-accent);
}

.amazon-product-swatch.selected {
  box-shadow: 0 0 0 2px var(--amazon-accent);
}

/* Size buttons */
.amazon-product-size {
  min-width: 50px;
  padding: var(--amazon-space-2) var(--amazon-space-3);
  text-align: center;
  border: 1px solid var(--amazon-border-color);
  border-radius: var(--amazon-radius);
  cursor: pointer;
  transition: all var(--amazon-transition);
}

.amazon-product-size:hover,
.amazon-product-size.selected {
  border-color: var(--amazon-accent);
  background: var(--amazon-bg-gray-light);
}

.amazon-product-size.out-of-stock {
  opacity: 0.5;
  text-decoration: line-through;
  cursor: not-allowed;
}

/* Quantity selector */
.amazon-product-quantity {
  margin-bottom: var(--amazon-space-4);
}

.amazon-product-quantity-label {
  display: block;
  font-weight: var(--amazon-font-semibold);
  margin-bottom: var(--amazon-space-2);
}

/* Add to cart section */
.amazon-product-actions {
  display: flex;
  flex-direction: column;
  gap: var(--amazon-space-3);
}

.amazon-product-actions .btn-amazon {
  height: 44px;
  font-size: var(--amazon-text-md);
}

/* Secondary actions */
.amazon-product-secondary-actions {
  display: flex;
  gap: var(--amazon-space-1);
  margin-top: var(--amazon-space-1);
  padding-top: var(--amazon-space-1);
  border-top: 1px solid var(--amazon-border-light);
}

.amazon-product-secondary-action {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-2);
  color: var(--amazon-link);
  font-size: var(--amazon-text-sm);
  cursor: pointer;
}

.amazon-product-secondary-action:hover {
  color: var(--amazon-link-hover);
}

.amazon-product-secondary-action svg {
  width: 18px;
  height: 18px;
}

/* ========================================
   PRODUCT DETAILS / TABS
   ======================================== */

.amazon-product-details {
  margin-top: 4px;
  background: var(--amazon-bg-light);
  border-radius: var(--amazon-radius);
  padding: var(--amazon-space-6);
}

.amazon-product-details-title {
  font-size: var(--amazon-text-xl);
  font-weight: var(--amazon-font-bold);
  margin-bottom: var(--amazon-space-4);
}

/* Specifications table */
.amazon-product-specs {
  width: 100%;
  border-collapse: collapse;
}

.amazon-product-specs tr:nth-child(odd) {
  background: var(--amazon-bg-gray-light);
}

.amazon-product-specs th,
.amazon-product-specs td {
  padding: var(--amazon-space-3) var(--amazon-space-4);
  text-align: left;
  font-size: var(--amazon-text-base);
}

.amazon-product-specs th {
  width: 30%;
  font-weight: var(--amazon-font-semibold);
  color: var(--amazon-text-primary);
}

.amazon-product-specs td {
  color: var(--amazon-text-secondary);
}

@media (max-width: 575.98px) {
  .amazon-product-specs,
  .amazon-product-specs tbody,
  .amazon-product-specs tr,
  .amazon-product-specs th,
  .amazon-product-specs td {
    display: block;
    width: 100%;
  }
  .amazon-product-specs th {
    background: var(--amazon-bg-gray-light);
    border-bottom: none;
    padding-bottom: var(--amazon-space-1);
  }
  .amazon-product-specs td {
    padding-top: var(--amazon-space-1);
    padding-bottom: var(--amazon-space-3);
    border-bottom: 1px solid var(--amazon-border-light, #eee);
  }
}

/* ========================================
   PRODUCT REVIEWS
   ======================================== */

.amazon-reviews {
  margin-top: var(--amazon-space-6);
  background: var(--amazon-bg-light);
  border-radius: var(--amazon-radius);
  padding: var(--amazon-space-6);
}

.amazon-reviews-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--amazon-space-6);
}

.amazon-reviews-title {
  font-size: var(--amazon-text-xl);
  font-weight: var(--amazon-font-bold);
  margin: 0;
}

/* Reviews summary */
.amazon-reviews-summary {
  display: flex;
  gap: var(--amazon-space-4);
  padding-bottom: var(--amazon-space-4);
  margin-bottom: var(--amazon-space-4);
  border-bottom: 1px solid var(--amazon-border-light);
}

.amazon-reviews-average {
  text-align: center;
}

.amazon-reviews-average-score {
  font-size: var(--amazon-text-4xl);
  font-weight: var(--amazon-font-bold);
  line-height: 1;
}

.amazon-reviews-average-text {
  font-size: var(--amazon-text-sm);
  color: var(--amazon-text-secondary);
  margin-top: var(--amazon-space-2);
}

.amazon-reviews-breakdown {
  flex: 1;
}

.amazon-reviews-bar {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-3);
  margin-bottom: var(--amazon-space-2);
}

.amazon-reviews-bar-label {
  width: 60px;
  font-size: var(--amazon-text-sm);
  color: var(--amazon-link);
}

.amazon-reviews-bar-track {
  flex: 1;
  height: 16px;
  background: var(--amazon-bg-gray);
  border-radius: var(--amazon-radius-sm);
  overflow: hidden;
}

.amazon-reviews-bar-fill {
  height: 100%;
  background: var(--amazon-star-color);
  border-radius: var(--amazon-radius-sm);
}

.amazon-reviews-bar-count {
  width: 40px;
  font-size: var(--amazon-text-sm);
  color: var(--amazon-link);
  text-align: right;
}

/* Individual review */
.amazon-review {
  padding: var(--amazon-space-4) 0;
  border-bottom: 1px solid var(--amazon-border-light);
}

.amazon-review:last-child {
  border-bottom: none;
}

.amazon-review-header {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-3);
  margin-bottom: var(--amazon-space-3);
}

.amazon-review-avatar {
  width: 36px;
  height: 36px;
  background: var(--amazon-bg-gray);
  border-radius: var(--amazon-radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--amazon-text-secondary);
  font-weight: var(--amazon-font-semibold);
}

.amazon-review-author {
  font-weight: var(--amazon-font-semibold);
}

.amazon-review-title {
  font-weight: var(--amazon-font-bold);
  margin-bottom: var(--amazon-space-2);
}

.amazon-review-date {
  font-size: var(--amazon-text-sm);
  color: var(--amazon-text-secondary);
  margin-bottom: var(--amazon-space-3);
}

.amazon-review-content {
  line-height: var(--amazon-leading-relaxed);
}

.amazon-review-helpful {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-4);
  margin-top: var(--amazon-space-3);
  font-size: var(--amazon-text-sm);
  color: var(--amazon-text-secondary);
}

/* ========================================
   RELATED PRODUCTS
   ======================================== */

.amazon-related-products {
  margin-top: var(--amazon-space-4);
}

.amazon-related-products-title {
  font-size: var(--amazon-text-xl);
  font-weight: var(--amazon-font-bold);
  margin-bottom: var(--amazon-space-4);
}

/* ========================================
   VOLUME / QUANTITY DISCOUNTS
   ======================================== */

.amazon-product-discounts {
  border: 1px solid var(--amazon-border);
  border-radius: var(--amazon-radius);
  padding: var(--amazon-space-3);
  background: var(--amazon-bg-card);
}

.amazon-product-discounts-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--amazon-text-sm);
}

.amazon-product-discounts-table th {
  background: var(--amazon-bg-secondary);
  padding: var(--amazon-space-2) var(--amazon-space-3);
  text-align: left;
  font-weight: 600;
  border-bottom: 2px solid var(--amazon-border);
}

.amazon-product-discounts-table td {
  padding: var(--amazon-space-2) var(--amazon-space-3);
  border-bottom: 1px solid var(--amazon-border-light, #eee);
}

.amazon-product-discounts-table tr:last-child td {
  border-bottom: none;
}

.amazon-product-discounts-table tr:hover td {
  background: var(--amazon-bg-hover, #f7f7f7);
}

/* ========================================
   RECENTLY VIEWED PRODUCTS
   ======================================== */

/* ========================================
   STOCK URGENCY LEVELS
   ======================================== */

.amazon-product-availability {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  padding: 8px 0;
  margin-bottom: var(--amazon-space-4);
}

.amazon-product-availability.in-stock {
  color: var(--amazon-success, #067D62);
}

.amazon-product-availability.low-stock {
  color: #fd7e14;
}

.amazon-product-availability.critical-stock {
  color: var(--amazon-danger, #B12704);
  font-weight: 700;
}

.amazon-product-availability.critical-stock .amazon-stock-icon {
  animation: amazon-pulse-stock 1.5s ease-in-out infinite;
}

.amazon-product-availability.out-of-stock {
  color: var(--amazon-danger, #B12704);
}

.amazon-stock-icon {
  flex-shrink: 0;
}

@keyframes amazon-pulse-stock {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* ========================================
   PRODUCT ASSURANCES (Return Policy / Payment)
   ======================================== */

.amazon-product-assurances {
  margin-top: var(--amazon-space-4);
  padding: var(--amazon-space-3);
  background: var(--amazon-bg-gray-light, #f7f7f7);
  border-radius: var(--amazon-radius);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.amazon-product-assurance-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--amazon-text-sm, 12px);
  color: var(--amazon-text-secondary, #565959);
}

.amazon-product-assurance-item svg {
  flex-shrink: 0;
  color: var(--amazon-success, #067D62);
}

/* ========================================
   ALSO BOUGHT SECTION
   ======================================== */

.amazon-also-bought {
  margin-top: var(--amazon-space-3);
  padding-top: var(--amazon-space-3);
  border-top: 1px solid var(--amazon-border-light, #eee);
}

/* ========================================
   QUICK VIEW - HIDE ON MOBILE
   ======================================== */

@media (max-width: 767.98px) {
  .amazon-quickview-btn {
    display: none !important;
  }
}

/* ========================================
   RECENTLY VIEWED PRODUCTS
   ======================================== */

/* ========================================
   EMPTY CATEGORY STATE
   ======================================== */

.amazon-category-empty {
  text-align: center;
  padding: var(--amazon-space-8) var(--amazon-space-4);
}

.amazon-category-empty-title {
  font-size: var(--amazon-text-xl);
  color: var(--amazon-text-primary);
  margin-bottom: var(--amazon-space-2);
}

.amazon-category-empty-text {
  color: var(--amazon-text-secondary);
  margin-bottom: var(--amazon-space-6);
}

.amazon-recently-viewed {
  margin-top: var(--amazon-space-4);
  padding-top: var(--amazon-space-6);
  border-top: 1px solid var(--amazon-border);
}

/* ============================================
   Video Gallery (YouTube)
   ============================================ */
.amazon-product-gallery-thumb--video {
  position: relative;
}

.amazon-gallery-play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px;
  height: 32px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.amazon-gallery-play-icon svg {
  margin-left: 2px;
}

.amazon-product-gallery-thumb--video:hover .amazon-gallery-play-icon {
  background: rgba(255, 0, 0, 0.85);
}

.amazon-gallery-video {
  width: 100%;
  background: #000;
  border-radius: var(--amazon-radius, 4px);
  overflow: hidden;
}

.amazon-gallery-video__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}

.amazon-gallery-video__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

[data-theme="DISABLED-dark"] .amazon-gallery-play-icon {
  background: rgba(255, 255, 255, 0.3);
}

[data-theme="DISABLED-dark"] .amazon-product-gallery-thumb--video:hover .amazon-gallery-play-icon {
  background: rgba(255, 0, 0, 0.85);
}

/* ============================================
   NOTIFY WHEN BACK IN STOCK
   ============================================ */

/* Notify Button (product page) */
.amazon-notify-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 20px;
  font-family: var(--amazon-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
  font-size: var(--amazon-text-base, 14px);
  font-weight: var(--amazon-font-semibold, 600);
  line-height: 1;
  border: none;
  border-radius: var(--amazon-radius, 8px);
  cursor: pointer;
  transition: background-color var(--amazon-transition, 0.2s), transform 0.1s;
  background: var(--amazon-notify-btn-bg, var(--amazon-accent, #FF9900));
  color: var(--amazon-notify-btn-text, var(--amazon-text, #0F1111));
}

.amazon-notify-btn:hover {
  background: var(--amazon-notify-btn-hover, var(--amazon-accent-hover, #FFB84D));
  transform: translateY(-1px);
}

.amazon-notify-btn:active {
  transform: translateY(0);
}

.amazon-notify-btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  flex-shrink: 0;
}

/* Notify Button (thumb cards) — inherits font/size/radius from .btn-amazon in components.css */

/* Modal Backdrop */
.amazon-notify-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(2px);
  z-index: var(--amazon-z-modal-backdrop, 500);
  opacity: 0;
  transition: opacity var(--amazon-transition-slow, 0.3s);
  pointer-events: none; /* visual dim only — close handled by JS outside-click */
}

.amazon-notify-backdrop--visible {
  opacity: 1;
}

/* Modal Dialog */
.amazon-notify-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  z-index: var(--amazon-z-modal, 600);
  background: var(--amazon-bg-card, #FFFFFF);
  border-radius: var(--amazon-radius, 8px);
  box-shadow: var(--amazon-shadow-xl, 0 12px 24px rgba(0, 0, 0, 0.2));
  max-height: 90vh;
  overflow-y: auto;
  opacity: 0;
  transition: opacity var(--amazon-transition-slow, 0.3s), transform var(--amazon-transition-slow, 0.3s);
  width: 90%;
}

.amazon-notify-modal--visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* Modal Sizes */
.amazon-notify-modal--small { max-width: 350px; }
.amazon-notify-modal--medium { max-width: 500px; }
.amazon-notify-modal--large { max-width: 700px; }

/* Modal no-animation */
.amazon-notify-modal--no-animation {
  transition: none !important;
}

/* Modal Header */
.amazon-notify-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--amazon-space-4, 16px) var(--amazon-space-5, 20px);
  border-bottom: 1px solid var(--amazon-border-color, #DDD);
}

.amazon-notify-modal__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--amazon-text-lg, 18px);
  font-weight: var(--amazon-font-bold, 700);
  color: var(--amazon-text-primary, #0F1111);
  margin: 0;
}

.amazon-notify-modal__title svg {
  width: 22px;
  height: 22px;
  fill: var(--amazon-accent, #FF9900);
}

.amazon-notify-modal__close {
  background: none;
  border: none;
  font-size: 28px;
  line-height: 1;
  color: var(--amazon-text-secondary, #565959);
  cursor: pointer;
  padding: 0 4px;
  transition: color var(--amazon-transition, 0.2s);
}

.amazon-notify-modal__close:hover {
  color: var(--amazon-text-primary, #0F1111);
}

/* Modal Body */
.amazon-notify-modal__body {
  padding: var(--amazon-space-5, 20px);
}

.amazon-notify-modal__desc {
  font-size: var(--amazon-text-base, 14px);
  color: var(--amazon-text-secondary, #565959);
  line-height: var(--amazon-leading-normal, 1.5);
  margin: 0 0 var(--amazon-space-4, 16px);
}

/* Form */
.amazon-notify-form__group {
  margin-bottom: var(--amazon-space-3, 12px);
}

.amazon-notify-form__group label {
  display: block;
  font-size: var(--amazon-text-sm, 13px);
  font-weight: var(--amazon-font-semibold, 600);
  color: var(--amazon-text-primary, #0F1111);
  margin-bottom: var(--amazon-space-1, 4px);
}

.amazon-notify-form__input {
  width: 100%;
  padding: 10px 12px;
  font-size: var(--amazon-text-base, 14px);
  border: 1px solid var(--amazon-border-color, #DDD);
  border-radius: var(--amazon-radius-sm, 4px);
  color: var(--amazon-text-primary, #0F1111);
  background: var(--amazon-bg-light, #FFFFFF);
  box-sizing: border-box;
  transition: border-color var(--amazon-transition, 0.2s), box-shadow var(--amazon-transition, 0.2s);
}

.amazon-notify-form__input:focus {
  border-color: var(--amazon-accent, #FF9900);
  box-shadow: 0 0 0 3px rgba(255, 153, 0, 0.15);
  outline: none;
}

.amazon-notify-form__input--invalid {
  border-color: var(--amazon-danger, #B12704) !important;
  box-shadow: 0 0 0 3px rgba(177, 39, 4, 0.15) !important;
}

/* Consent checkbox */
.amazon-notify-form__consent {
  margin-bottom: var(--amazon-space-3, 12px);
}

.amazon-notify-form__consent label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  font-weight: normal;
}

.amazon-notify-form__consent input[type="checkbox"] {
  margin-top: 3px;
  flex-shrink: 0;
}

.amazon-notify-form__consent span {
  font-size: var(--amazon-text-sm, 13px);
  color: var(--amazon-text-secondary, #565959);
  line-height: var(--amazon-leading-snug, 1.4);
}

.amazon-notify-form__consent a {
  color: var(--amazon-link, #007185);
  text-decoration: none;
}

.amazon-notify-form__consent a:hover {
  color: var(--amazon-link-hover, #C7511F);
  text-decoration: underline;
}

/* Messages */
.amazon-notify-form__message {
  padding: 10px 12px;
  border-radius: var(--amazon-radius-sm, 4px);
  font-size: var(--amazon-text-sm, 13px);
  margin-top: var(--amazon-space-3, 12px);
}

.amazon-notify-form__message--success {
  background: var(--amazon-success-light, #E7F4F0);
  border: 1px solid var(--amazon-success, #067D62);
  color: #155724;
}

.amazon-notify-form__message--error {
  background: var(--amazon-danger-light, #FEECEB);
  border: 1px solid var(--amazon-danger, #B12704);
  color: var(--amazon-danger, #B12704);
}

/* Modal Footer */
.amazon-notify-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: var(--amazon-space-3, 12px) var(--amazon-space-5, 20px);
  border-top: 1px solid var(--amazon-border-color, #DDD);
}

.amazon-notify-modal__btn-cancel,
.amazon-notify-modal__btn-submit {
  font-family: var(--amazon-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
}

.amazon-notify-modal__btn-cancel {
  padding: 8px 16px;
  font-size: var(--amazon-text-base, 14px);
  font-weight: var(--amazon-font-semibold, 600);
  border: 1px solid var(--amazon-border-color, #DDD);
  border-radius: var(--amazon-radius-sm, 4px);
  background: var(--amazon-bg-light, #FFFFFF);
  color: var(--amazon-text-primary, #0F1111);
  cursor: pointer;
  transition: background var(--amazon-transition, 0.2s);
}

.amazon-notify-modal__btn-cancel:hover {
  background: var(--amazon-bg-secondary, #F5F5F5);
}

.amazon-notify-modal__btn-submit {
  padding: 8px 20px;
  font-size: var(--amazon-text-base, 14px);
  font-weight: var(--amazon-font-semibold, 600);
  border: none;
  border-radius: var(--amazon-radius-sm, 4px);
  background: var(--amazon-notify-btn-bg, var(--amazon-accent, #FF9900));
  color: var(--amazon-notify-btn-text, var(--amazon-text, #0F1111));
  cursor: pointer;
  transition: background var(--amazon-transition, 0.2s);
}

.amazon-notify-modal__btn-submit:hover {
  background: var(--amazon-notify-btn-hover, var(--amazon-accent-hover, #FFB84D));
}

.amazon-notify-modal__btn-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Dark Mode */
[data-theme="DISABLED-dark"] .amazon-notify-form__message--success {
  background: var(--amazon-success-light, #1B2E1C);
  border-color: var(--amazon-success, #4CAF50);
  color: #8fc98f;
}

[data-theme="DISABLED-dark"] .amazon-notify-form__message--error {
  background: var(--amazon-danger-light, #2E1515);
  border-color: var(--amazon-danger, #FF5252);
  color: #f08080;
}

[data-theme="DISABLED-dark"] .amazon-notify-modal {
  background: var(--amazon-bg-card, #1A1A2E);
}

[data-theme="DISABLED-dark"] .amazon-notify-modal__header {
  border-bottom-color: var(--amazon-border-color, #3A3A4A);
}

[data-theme="DISABLED-dark"] .amazon-notify-modal__title {
  color: var(--amazon-text-primary, #E0E0E0);
}

[data-theme="DISABLED-dark"] .amazon-notify-modal__close {
  color: var(--amazon-text-secondary, #AAAAAA);
}

[data-theme="DISABLED-dark"] .amazon-notify-modal__close:hover {
  color: var(--amazon-text-primary, #E0E0E0);
}

[data-theme="DISABLED-dark"] .amazon-notify-modal__desc {
  color: var(--amazon-text-secondary, #AAAAAA);
}

[data-theme="DISABLED-dark"] .amazon-notify-form__group label {
  color: var(--amazon-text-primary, #E0E0E0);
}

[data-theme="DISABLED-dark"] .amazon-notify-form__input {
  background: var(--amazon-bg-secondary, #2A2A3E);
  border-color: var(--amazon-border-color, #3A3A4A);
  color: var(--amazon-text-primary, #E0E0E0);
}

[data-theme="DISABLED-dark"] .amazon-notify-form__consent span {
  color: var(--amazon-text-secondary, #AAAAAA);
}

[data-theme="DISABLED-dark"] .amazon-notify-modal__footer {
  border-top-color: var(--amazon-border-color, #3A3A4A);
}

[data-theme="DISABLED-dark"] .amazon-notify-modal__btn-cancel {
  background: var(--amazon-bg-secondary, #2A2A3E);
  border-color: var(--amazon-border-color, #3A3A4A);
  color: var(--amazon-text-primary, #E0E0E0);
}

[data-theme="DISABLED-dark"] .amazon-notify-modal__btn-cancel:hover {
  background: var(--amazon-bg-light, #3A3A4A);
}

/* Responsive */
@media (max-width: 575.98px) {
  .amazon-notify-modal {
    width: 95%;
  }

  .amazon-notify-modal__footer {
    flex-direction: column;
  }

  .amazon-notify-modal__btn-cancel,
  .amazon-notify-modal__btn-submit {
    width: 100%;
    text-align: center;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .amazon-notify-modal,
  .amazon-notify-backdrop {
    transition: none !important;
  }
}
