/**
 * Amazon Style Theme for OpenCart 3.0.5.0
 * Conversion Optimization Styles
 *
 * @package    theme_amazon
 * @author     ChatGPT.com
 * @version    1.0.0
 */

/* ========================================
   MOBILE STICKY ADD TO CART
   ======================================== */

.amazon-mobile-sticky-cart {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--amazon-bg-card);
  border-top: 1px solid var(--amazon-border-color);
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
  padding: var(--amazon-space-3) var(--amazon-space-4);
  z-index: var(--amazon-z-fixed, 300);
  transform: translateY(100%);
  transition: transform 0.3s ease-in-out;
  display: none;
}

@media (max-width: 767.98px) {
  .amazon-mobile-sticky-cart {
    display: block;
    /* Sit above the mobile bottom nav bar; env() returns 0 on non-iOS */
    bottom: calc(var(--amazon-mobile-nav-height, 56px) + env(safe-area-inset-bottom, 0px));
  }
}

.amazon-mobile-sticky-cart.visible {
  transform: translateY(0);
}

.amazon-mobile-sticky-cart-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 100%;
  gap: var(--amazon-space-3);
}

.amazon-mobile-sticky-cart-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.amazon-mobile-sticky-cart-price {
  font-size: var(--amazon-text-lg);
  font-weight: var(--amazon-font-bold);
  color: var(--amazon-price-sale);
}

.amazon-mobile-sticky-cart-stock {
  font-size: var(--amazon-text-xs);
}

.amazon-mobile-sticky-cart-stock.in-stock {
  color: var(--amazon-success);
}

.amazon-mobile-sticky-cart-stock.out-of-stock {
  color: var(--amazon-danger);
}

.amazon-mobile-sticky-cart-actions {
  display: flex;
  gap: var(--amazon-space-2);
}

.amazon-mobile-sticky-cart-actions .btn-amazon-sm {
  padding: var(--amazon-space-2) var(--amazon-space-3);
  font-size: var(--amazon-text-sm);
  white-space: nowrap;
}

/* ========================================
   SOCIAL PROOF POPUP
   ======================================== */

.amazon-social-proof {
  position: fixed;
  bottom: 80px;
  left: var(--amazon-space-4);
  background: var(--amazon-bg-card);
  border-radius: var(--amazon-radius);
  box-shadow: var(--amazon-shadow-lg);
  padding: var(--amazon-space-3) var(--amazon-space-4);
  display: flex;
  align-items: center;
  gap: var(--amazon-space-3);
  z-index: var(--amazon-z-toast, 800);
  transform: translateX(-120%);
  opacity: 0;
  transition: all 0.4s ease-in-out;
  max-width: 320px;
}

.amazon-social-proof.visible {
  transform: translateX(0);
  opacity: 1;
}

@media (max-width: 767.98px) {
  .amazon-social-proof {
    bottom: 100px;
    left: var(--amazon-space-2);
    right: var(--amazon-space-2);
    max-width: none;
  }
}

.amazon-social-proof-icon {
  width: 40px;
  height: 40px;
  background: var(--amazon-bg-gray-light);
  border-radius: var(--amazon-radius-full);
  padding: var(--amazon-space-2);
  color: var(--amazon-accent);
  flex-shrink: 0;
}

.amazon-social-proof-content {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-3);
  flex: 1;
}

.amazon-social-proof-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.amazon-social-proof-name {
  font-weight: var(--amazon-font-semibold);
  font-size: var(--amazon-text-sm);
  color: var(--amazon-text-primary);
}

.amazon-social-proof-action {
  font-size: var(--amazon-text-xs);
  color: var(--amazon-success);
}

.amazon-social-proof-close {
  position: absolute;
  top: var(--amazon-space-1);
  right: var(--amazon-space-2);
  background: none;
  border: none;
  font-size: var(--amazon-text-lg);
  color: var(--amazon-text-secondary);
  cursor: pointer;
  padding: 0;
  line-height: 1;
}

.amazon-social-proof-close:hover {
  color: var(--amazon-text-primary);
}

/* ========================================
   TRUST BADGES
   ======================================== */

.amazon-trust-badges {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--amazon-space-2);
  padding: var(--amazon-space-2) var(--amazon-space-3);
  background: var(--amazon-bg-gray-light);
  border-radius: var(--amazon-radius);
  margin-top: 4px;
  margin-bottom: 4px;
}

@media (max-width: 991.98px) {
  .amazon-trust-badges {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575.98px) {
  .amazon-trust-badges {
    grid-template-columns: 1fr;
    gap: var(--amazon-space-3);
    padding: var(--amazon-space-4);
  }
}

.amazon-trust-badge {
  display: flex;
  align-items: flex-start;
  gap: var(--amazon-space-3);
}

.amazon-trust-badge-icon {
  width: 32px;
  height: 32px;
  color: var(--amazon-accent);
  flex-shrink: 0;
}

.amazon-trust-badge-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.amazon-trust-badge-title {
  font-weight: var(--amazon-font-semibold);
  font-size: var(--amazon-text-sm);
  color: var(--amazon-text-primary);
}

.amazon-trust-badge-desc {
  font-size: var(--amazon-text-xs);
  color: var(--amazon-text-secondary);
  line-height: 1.4;
}

/* ========================================
   Q&A SECTION
   ======================================== */

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

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

.amazon-qa-search {
  position: relative;
  margin-bottom: var(--amazon-space-4);
}

.amazon-qa-search .amazon-input {
  padding-left: 40px;
}

.amazon-qa-search-icon {
  position: absolute;
  left: var(--amazon-space-3);
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  color: var(--amazon-text-secondary);
}

.amazon-qa-list {
  margin-bottom: var(--amazon-space-4);
}

.amazon-qa-item {
  padding: var(--amazon-space-4);
  background: var(--amazon-bg-gray-light);
  border-radius: var(--amazon-radius);
  margin-bottom: var(--amazon-space-3);
}
.amazon-qa-item.amazon-qa-faq {
  background: #f0f7ff;
  border-left: 3px solid var(--amazon-orange, #ff9900);
}

.amazon-qa-question {
  display: flex;
  gap: var(--amazon-space-3);
  margin-bottom: var(--amazon-space-3);
}

.amazon-qa-question-icon {
  width: 24px;
  height: 24px;
  color: var(--amazon-accent);
  flex-shrink: 0;
}

.amazon-qa-question-text {
  font-weight: var(--amazon-font-semibold);
  color: var(--amazon-text-primary);
}

.amazon-qa-answer {
  display: flex;
  gap: var(--amazon-space-3);
  padding-left: var(--amazon-space-6);
}

.amazon-qa-answer-icon {
  width: 20px;
  height: 20px;
  color: var(--amazon-success);
  flex-shrink: 0;
}

.amazon-qa-answer-text {
  color: var(--amazon-text-secondary);
  line-height: 1.6;
}

.amazon-qa-meta {
  display: flex;
  gap: var(--amazon-space-4);
  margin-top: var(--amazon-space-2);
  font-size: var(--amazon-text-xs);
  color: var(--amazon-text-secondary);
}

.amazon-qa-helpful {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-2);
  cursor: pointer;
}

.amazon-qa-helpful:hover {
  color: var(--amazon-link);
}

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

.amazon-qa-empty-icon {
  width: 48px;
  height: 48px;
  color: var(--amazon-text-secondary);
  margin-bottom: var(--amazon-space-3);
}

.amazon-qa-form {
  background: var(--amazon-bg-gray-light);
  border-radius: var(--amazon-radius);
  padding: var(--amazon-space-4);
  margin-top: var(--amazon-space-4);
}

.amazon-qa-form h4 {
  margin-bottom: var(--amazon-space-3);
}

/* ========================================
   REVIEWS FILTER & SORT
   ======================================== */

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

.amazon-reviews-filter,
.amazon-reviews-sort {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-2);
}

.amazon-form-label-inline {
  font-size: var(--amazon-text-sm);
  color: var(--amazon-text-secondary);
  white-space: nowrap;
}

.amazon-input-sm {
  padding: var(--amazon-space-1) var(--amazon-space-2);
  font-size: var(--amazon-text-sm);
  min-width: 140px;
}

.amazon-rating-selector {
  display: flex;
  flex-direction: column;
  gap: var(--amazon-space-2);
}

.amazon-rating-option {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-3);
  padding: var(--amazon-space-2) var(--amazon-space-3);
  border: 1px solid var(--amazon-border-color);
  border-radius: var(--amazon-radius);
  cursor: pointer;
  transition: all var(--amazon-transition);
}

.amazon-rating-option:hover {
  border-color: var(--amazon-accent);
  background: var(--amazon-bg-gray-light);
}

.amazon-rating-option input[type="radio"] {
  display: none;
}

.amazon-rating-option input[type="radio"]:checked + .amazon-rating-option-stars {
  color: var(--amazon-star-color);
}

.amazon-rating-option input[type="radio"]:checked ~ .amazon-rating-option-label {
  font-weight: var(--amazon-font-semibold);
}

.amazon-rating-option-stars {
  display: flex;
  gap: 2px;
}

.amazon-rating-option-stars svg {
  width: 18px;
  height: 18px;
}

.amazon-rating-option-label {
  font-size: var(--amazon-text-sm);
  color: var(--amazon-text-secondary);
}

/* ========================================
   VIDEO GALLERY
   ======================================== */

.amazon-product-gallery-thumb-video {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--amazon-bg-dark);
  color: white;
}

.amazon-gallery-video-icon {
  width: 24px;
  height: 24px;
  margin-bottom: 2px;
}

.amazon-product-gallery-thumb-video span {
  font-size: var(--amazon-text-xs);
}

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

.amazon-video-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.amazon-video-wrapper iframe,
.amazon-video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Mobile Gallery Navigation */
.amazon-product-gallery-nav {
  display: none;
  align-items: center;
  justify-content: center;
  gap: var(--amazon-space-3);
  margin-top: var(--amazon-space-3);
}

@media (max-width: 767.98px) {
  .amazon-product-gallery-nav {
    display: none;
  }

  /* Only show nav when thumbnails overflow (JS adds .has-overflow) */
  .amazon-product-gallery-thumbs.has-overflow ~ .amazon-product-gallery-nav {
    display: flex;
  }
}

.amazon-gallery-nav-btn {
  width: 36px;
  height: 36px;
  border: 1px solid var(--amazon-border-color);
  border-radius: var(--amazon-radius-full);
  background: var(--amazon-bg-card);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--amazon-transition);
}

.amazon-gallery-nav-btn:hover {
  border-color: var(--amazon-accent);
  background: var(--amazon-bg-gray-light);
}

.amazon-gallery-nav-btn svg {
  width: 18px;
  height: 18px;
}

.amazon-gallery-dots {
  display: flex;
  gap: var(--amazon-space-2);
}

.amazon-gallery-dot {
  width: 8px;
  height: 8px;
  border-radius: var(--amazon-radius-full);
  background: var(--amazon-border-color);
  transition: all var(--amazon-transition);
}

.amazon-gallery-dot.active {
  background: var(--amazon-accent);
  width: 24px;
}

/* ========================================
   SHIPPING CALCULATOR
   ======================================== */

.amazon-shipping-calculator {
  margin: var(--amazon-space-4) 0;
  border: 1px solid var(--amazon-border-color);
  border-radius: var(--amazon-radius);
  overflow: visible;
}

.amazon-shipping-calculator-header {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-2);
  padding: var(--amazon-space-3);
  background: var(--amazon-bg-gray-light);
  cursor: pointer;
  transition: background var(--amazon-transition);
}

.amazon-shipping-calculator-header:hover {
  background: var(--amazon-bg-gray);
}

.amazon-shipping-calculator-icon {
  width: 20px;
  height: 20px;
  color: var(--amazon-accent);
}

.amazon-shipping-calculator-header span {
  flex: 1;
  font-size: var(--amazon-text-sm);
  font-weight: var(--amazon-font-semibold);
}

.amazon-shipping-calculator-arrow {
  width: 16px;
  height: 16px;
  color: var(--amazon-text-secondary);
  transition: transform var(--amazon-transition);
}

.amazon-shipping-calculator-header.open .amazon-shipping-calculator-arrow {
  transform: rotate(180deg);
}

.amazon-shipping-calculator-body {
  padding: var(--amazon-space-3);
  background: var(--amazon-bg-card);
}

.amazon-shipping-results {
  margin-top: var(--amazon-space-3);
  padding-top: var(--amazon-space-3);
  border-top: 1px solid var(--amazon-border-light);
}

.amazon-shipping-results-title {
  font-size: var(--amazon-text-sm);
  font-weight: var(--amazon-font-semibold);
  margin-bottom: var(--amazon-space-3);
}

.amazon-shipping-method {
  margin-bottom: var(--amazon-space-3);
}

.amazon-shipping-method h5 {
  font-size: var(--amazon-text-sm);
  color: var(--amazon-text-secondary);
  margin-bottom: var(--amazon-space-2);
}

.amazon-shipping-option {
  display: flex;
  align-items: center;
  gap: var(--amazon-space-3);
  padding: var(--amazon-space-2);
  border: 1px solid var(--amazon-border-color);
  border-radius: var(--amazon-radius-sm);
  margin-bottom: var(--amazon-space-2);
  cursor: pointer;
  transition: all var(--amazon-transition);
}

.amazon-shipping-option:hover {
  border-color: var(--amazon-accent);
  background: var(--amazon-bg-gray-light);
}

.amazon-shipping-option input[type="radio"] {
  accent-color: var(--amazon-accent);
}

.amazon-shipping-option-info {
  display: flex;
  flex: 1;
  justify-content: space-between;
  align-items: center;
}

.amazon-shipping-option-title {
  font-size: var(--amazon-text-sm);
}

.amazon-shipping-option-cost {
  font-weight: var(--amazon-font-semibold);
  color: var(--amazon-price-color);
}

/* ========================================
   CART TRUST BADGES
   ======================================== */

.amazon-cart-trust-badges {
  display: flex;
  justify-content: space-between;
  padding: var(--amazon-space-3) 0;
  margin-top: var(--amazon-space-3);
  border-top: 1px solid var(--amazon-border-light);
}

.amazon-cart-trust-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--amazon-space-1);
  text-align: center;
}

.amazon-cart-trust-badge svg {
  width: 24px;
  height: 24px;
  color: var(--amazon-success);
}

.amazon-cart-trust-badge span {
  font-size: var(--amazon-text-xs);
  color: var(--amazon-text-secondary);
  line-height: 1.3;
}

@media (max-width: 575.98px) {
  .amazon-cart-trust-badges {
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--amazon-space-3);
  }
}

/* ========================================
   RESPONSIVE ADJUSTMENTS
   ======================================== */

@media (max-width: 767.98px) {
  .amazon-trust-badges {
    margin-top: var(--amazon-space-2);
  }

  .amazon-qa-header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--amazon-space-3);
  }

  .amazon-reviews-controls {
    flex-direction: column;
    gap: var(--amazon-space-2);
  }

  .amazon-reviews-filter,
  .amazon-reviews-sort {
    width: 100%;
  }

  .amazon-input-sm {
    flex: 1;
  }
}

/* Page bottom padding for sticky cart bars */
.amazon-product-page {
  padding-bottom: 70px;
}
@media (max-width: 767.98px) {
  .amazon-product-page {
    /* nav bar height (56px) + sticky cart bar (~70px) + extra breathing room */
    padding-bottom: calc(var(--amazon-mobile-nav-height, 56px) + 80px);
  }
}

/* ========================================
   DESKTOP STICKY ADD-TO-CART BAR
   ======================================== */

.amazon-sticky-cart {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9990;
  background: var(--amazon-bg-card, #FFFFFF);
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);
}

.amazon-sticky-cart__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.amazon-sticky-cart__product {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.amazon-sticky-cart__img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid var(--amazon-border-color, #e3e6e6);
}

.amazon-sticky-cart__name {
  font-size: var(--amazon-text-sm, 14px);
  font-weight: var(--amazon-font-semibold, 600);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--amazon-text-primary, #0F1111);
}

.amazon-sticky-cart__price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-shrink: 0;
}

.amazon-sticky-cart__special {
  font-size: var(--amazon-text-lg, 18px);
  font-weight: var(--amazon-font-bold, 700);
  color: var(--amazon-price-sale, #B12704);
}

.amazon-sticky-cart__old {
  font-size: var(--amazon-text-xs, 13px);
  text-decoration: line-through;
  color: var(--amazon-text-secondary, #767676);
}

.amazon-sticky-cart__current {
  font-size: var(--amazon-text-lg, 18px);
  font-weight: var(--amazon-font-bold, 700);
  color: var(--amazon-text-primary, #0F1111);
}

.amazon-sticky-cart__buy {
  padding: var(--amazon-space-2, 8px) var(--amazon-space-5, 24px);
  font-size: var(--amazon-text-sm, 14px);
  white-space: nowrap;
}

/* Dark mode */
[data-theme="DISABLED-dark"] .amazon-sticky-cart {
  background: var(--amazon-bg-card, #1a1a2e);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

[data-theme="DISABLED-dark"] .amazon-sticky-cart__name,
[data-theme="DISABLED-dark"] .amazon-sticky-cart__current {
  color: var(--amazon-text-primary, #e8e8e8);
}

/* Mobile: never show desktop sticky cart (mobile version handles it) */
@media (max-width: 768px) {
  .amazon-sticky-cart {
    display: none !important;
  }
}

/* ========================================
   SOCIAL SHARE BUTTONS
   ======================================== */

.amazon-share {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 2px 0;
  margin-top: 2px;
  border-top: 1px solid var(--amazon-border-color, #e3e6e6);
}

.amazon-share__label {
  font-size: var(--amazon-text-xs, 13px);
  color: var(--amazon-text-secondary, #767676);
  white-space: nowrap;
}

.amazon-share__buttons {
  display: flex;
  gap: 6px;
}

.amazon-share__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--amazon-radius-full, 50%);
  border: 1px solid var(--amazon-border-color, #e3e6e6);
  background: transparent;
  color: var(--amazon-text-secondary, #565959);
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
}

.amazon-share__btn:hover {
  border-color: transparent;
  color: #fff;
}

.amazon-share__btn--whatsapp:hover {
  background: #25D366;
}

.amazon-share__btn--facebook:hover {
  background: #1877F2;
}

.amazon-share__btn--twitter:hover {
  background: #000;
}

.amazon-share__btn--copy:hover {
  background: var(--amazon-accent, #FF9900);
  color: #fff;
}

.amazon-share__btn--copied {
  background: var(--amazon-success, #067D62) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* Dark mode */
[data-theme="DISABLED-dark"] .amazon-share {
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="DISABLED-dark"] .amazon-share__btn {
  border-color: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.7);
}
