/**
 * EHUKA - Page Produit - Style moderne complet
 * Targeting: .tvproduct-page-wrapper, .tv-product-price, .tvall-inner-btn, etc.
 */

/* ==================== VARIABLES ==================== */
:root {
  --ehuka-coral: #ed6a5a;
  --ehuka-turquoise: #5bc0ae;
  --ehuka-bg: #f8f9fa;
  --ehuka-text: #5d576b;
  --ehuka-shadow: 0 2px 12px rgba(93, 87, 107, 0.08);
  --ehuka-shadow-hover: 0 6px 20px rgba(237, 106, 90, 0.3);
  --ehuka-radius: 16px;
  --ehuka-radius-sm: 12px;
  --ehuka-radius-xs: 8px;
}

/* ==================== CONTAINER PRINCIPAL ==================== */
.tvproduct-page-wrapper {
  background: var(--ehuka-bg) !important;
  padding: 20px 0 60px !important;
}

/* ==================== BREADCRUMB ==================== */
.breadcrumb,
nav[data-depth="3"] {
  background: transparent !important;
  padding: 15px 0 !important;
  margin-bottom: 20px !important;
}

.breadcrumb ol {
  background: transparent !important;
}

/* ==================== SECTION CONTENU PRODUIT ==================== */
.tvproduct-content-area,
.tv-product-details-wrapper,
.product-detail-left {
  background: white !important;
  border-radius: var(--ehuka-radius) !important;
  padding: 40px !important;
  margin-bottom: 40px !important;
  box-shadow: var(--ehuka-shadow) !important;
}

/* ==================== GALERIE D'IMAGES ==================== */
.tvproduct-image,
.tv-product-img {
  border-radius: var(--ehuka-radius-sm) !important;
  overflow: hidden !important;
  background: white !important;
  padding: 20px !important;
}

.tvproduct-image img,
.tv-product-img img,
.product-cover img {
  border-radius: var(--ehuka-radius-xs) !important;
  transition: transform 0.4s ease !important;
}

.tvproduct-image:hover img,
.tv-product-img:hover img {
  transform: scale(1.05) !important;
}

/* Thumbnails */
.tvproduct-thumb-image,
.js-thumb,
.tv-product-thumb img {
  border-radius: var(--ehuka-radius-xs) !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  transition: all 0.3s ease !important;
}

.tvproduct-thumb-image:hover,
.tvproduct-thumb-image.active,
.js-thumb:hover,
.js-thumb.selected,
.tv-product-thumb.active img {
  border-color: var(--ehuka-coral) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--ehuka-shadow-hover) !important;
}

/* ==================== TITRE PRODUIT ==================== */
.tvproduct-title-brandimage h1,
.tvproduct-name h1,
.h1[itemprop="name"] {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--ehuka-text) !important;
  margin-bottom: 15px !important;
  line-height: 1.3 !important;
}

/* ==================== PRIX ==================== */
.tv-product-price,
.product-prices,
.product-price {
  background: linear-gradient(
    135deg,
    rgba(91, 192, 174, 0.08) 0%,
    rgba(81, 182, 168, 0.05) 100%
  ) !important;
  border-radius: var(--ehuka-radius-sm) !important;
  padding: 20px !important;
  margin: 20px 0 !important;
}

.tv-product-price .current-price,
.product-price span {
  font-size: 36px !important;
  font-weight: 700 !important;
  color: var(--ehuka-turquoise) !important;
  display: inline-block !important;
}

/* Prix barré (ancien prix) */
.tv-product-price .regular-price,
.product-discount .regular-price {
  font-size: 20px !important;
  text-decoration: line-through !important;
  color: #999 !important;
  opacity: 0.7 !important;
  margin-right: 15px !important;
}

/* Badge de réduction */
.product-discount-percentage,
.product-discount .discount-percentage {
  background: linear-gradient(
    135deg,
    var(--ehuka-coral) 0%,
    #f47068 100%
  ) !important;
  color: white !important;
  padding: 6px 12px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-left: 15px !important;
}

/* ==================== BOUTON AJOUTER AU PANIER - SIMPLE ET EFFICACE ==================== */
/* Cibler le bouton précisément */
#add-to-cart-or-refresh button.btn.add-to-cart,
.product-add-to-cart button.add-to-cart,
button.tvall-inner-btn,
.tvcart-btn-model button {
  min-height: 50px !important;
  padding: 16px 32px !important;
  background: #ed6a5a !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
}

/* Texte visible */
#add-to-cart-or-refresh button span,
.product-add-to-cart button span,
button.tvall-inner-btn span {
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

/* Hover */
#add-to-cart-or-refresh button:hover,
.product-add-to-cart button:hover {
  background: #f47068 !important;
  transform: translateY(-2px);
}

/* ==================== BOUTONS SECONDAIRES (Wishlist, Compare) ==================== */
.tvproduct-social-sharing,
.product-actions,
.tvproduct-action-inner {
  display: flex !important;
  gap: 15px !important;
  align-items: center !important;
}

.tvproduct-social-sharing a,
.wishlist-button-add,
.product-actions button,
.tvproduct-wishlist-icon,
.tvproduct-compare-icon {
  padding: 12px 20px !important;
  border-radius: var(--ehuka-radius-xs) !important;
  border: 2px solid #e0e0e0 !important;
  background: white !important;
  color: var(--ehuka-text) !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  min-width: 44px !important;
  cursor: pointer !important;
}

.tvproduct-social-sharing a:hover,
.wishlist-button-add:hover,
.product-actions button:hover,
.tvproduct-wishlist-icon:hover,
.tvproduct-compare-icon:hover {
  border-color: var(--ehuka-coral) !important;
  color: var(--ehuka-coral) !important;
  transform: translateY(-2px) !important;
}

/* ==================== DESCRIPTION COURTE ==================== */
.tvproduct-description,
.product-description-short,
#product-description-short {
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: var(--ehuka-text) !important;
  margin: 20px 0 !important;
  padding: 20px !important;
  background: #f9f9f9 !important;
  border-radius: var(--ehuka-radius-xs) !important;
  border-left: 4px solid var(--ehuka-coral) !important;
}

/* ==================== VARIANTES (Couleur, Taille, etc.) ==================== */
.tvproduct-variants,
.product-variants,
.product-variants-item {
  margin: 20px 0 !important;
}

.tvproduct-variants label,
.product-variants label {
  font-weight: 600 !important;
  color: var(--ehuka-text) !important;
  margin-bottom: 10px !important;
  display: block !important;
}

.tvproduct-variants select,
.product-variants select,
.product-variants .form-control {
  padding: 12px 20px !important;
  border: 2px solid #e0e0e0 !important;
  border-radius: var(--ehuka-radius-xs) !important;
  transition: all 0.3s ease !important;
  font-size: 15px !important;
  background: white !important;
}

.tvproduct-variants select:hover,
.product-variants select:hover,
.product-variants .form-control:hover {
  border-color: var(--ehuka-coral) !important;
}

.tvproduct-variants select:focus,
.product-variants select:focus,
.product-variants .form-control:focus {
  border-color: var(--ehuka-coral) !important;
  box-shadow: 0 0 0 3px rgba(237, 106, 90, 0.1) !important;
  outline: none !important;
}

/* ==================== QUANTITÉ ==================== */
.tvproduct-quantity,
.product-quantity,
.qty,
.input-group.bootstrap-touchspin {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  margin: 20px 0 !important;
}

.tvproduct-quantity input,
.product-quantity input,
#quantity_wanted {
  border: 2px solid #e0e0e0 !important;
  border-radius: var(--ehuka-radius-xs) !important;
  padding: 12px !important;
  text-align: center !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  width: 80px !important;
  transition: all 0.3s ease !important;
}

.tvproduct-quantity input:hover,
#quantity_wanted:hover {
  border-color: var(--ehuka-coral) !important;
}

.tvproduct-quantity input:focus,
#quantity_wanted:focus {
  border-color: var(--ehuka-coral) !important;
  box-shadow: 0 0 0 3px rgba(237, 106, 90, 0.1) !important;
  outline: none !important;
}

/* Boutons +/- */
.bootstrap-touchspin .btn-touchspin,
.qty-btn,
.input-group-btn-vertical button,
.btn.btn-touchspin {
  background: white !important;
  border: 2px solid #e0e0e0 !important;
  border-radius: var(--ehuka-radius-xs) !important;
  padding: 10px 15px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  min-width: 44px !important;
}

.bootstrap-touchspin .btn-touchspin:hover,
.qty-btn:hover,
.input-group-btn-vertical button:hover {
  border-color: var(--ehuka-coral) !important;
  color: var(--ehuka-coral) !important;
}

/* ==================== BADGES DISPONIBILITÉ ==================== */
.product-availability,
.tvproduct-availability,
.product-availability-message {
  padding: 10px 16px !important;
  border-radius: var(--ehuka-radius-xs) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin: 15px 0 !important;
  display: inline-block !important;
}

.product-available {
  background: linear-gradient(
    135deg,
    rgba(91, 192, 174, 0.1) 0%,
    rgba(81, 182, 168, 0.05) 100%
  ) !important;
  color: var(--ehuka-turquoise) !important;
  border: 2px solid var(--ehuka-turquoise) !important;
}

.product-unavailable {
  background: linear-gradient(
    135deg,
    rgba(237, 106, 90, 0.1) 0%,
    rgba(244, 112, 104, 0.05) 100%
  ) !important;
  color: var(--ehuka-coral) !important;
  border: 2px solid var(--ehuka-coral) !important;
}

/* ==================== BADGES PRODUIT (Nouveau, Promo) ==================== */
.product-flags .product-flag,
.tvproduct-label,
.tvproduct-label-wrapper span {
  padding: 6px 12px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  position: absolute !important;
  top: 15px !important;
  left: 15px !important;
  z-index: 10 !important;
}

.product-flag.new,
.tvproduct-label.new {
  background: linear-gradient(
    135deg,
    var(--ehuka-turquoise) 0%,
    #50b6a8 100%
  ) !important;
  color: white !important;
}

.product-flag.discount,
.tvproduct-label.sale,
.product-flag.on-sale {
  background: linear-gradient(
    135deg,
    var(--ehuka-coral) 0%,
    #f47068 100%
  ) !important;
  color: white !important;
}

/* ==================== ONGLETS ==================== */
.tabs.tvproduct-description-tab,
.product-tabs {
  background: white !important;
  border-radius: var(--ehuka-radius) !important;
  padding: 40px !important;
  margin-bottom: 40px !important;
  box-shadow: var(--ehuka-shadow) !important;
}

.tabs .nav-tabs,
.product-tabs .nav-tabs {
  border-bottom: 2px solid #e0e0e0 !important;
  margin-bottom: 30px !important;
  display: flex !important;
  gap: 30px !important;
}

.tabs .nav-item,
.product-tabs .nav-item {
  margin: 0 !important;
}

.tabs .nav-link,
.product-tabs .nav-link {
  border: none !important;
  background: transparent !important;
  color: var(--ehuka-text) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 15px 0 !important;
  border-bottom: 3px solid transparent !important;
  transition: all 0.3s ease !important;
  position: relative !important;
}

.tabs .nav-link:hover,
.product-tabs .nav-link:hover {
  color: var(--ehuka-coral) !important;
}

.tabs .nav-link.active,
.product-tabs .nav-link.active {
  color: var(--ehuka-coral) !important;
  border-bottom-color: var(--ehuka-coral) !important;
  background: transparent !important;
}

/* Contenu des onglets */
.tabs .tab-content,
.product-tabs .tab-pane {
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: var(--ehuka-text) !important;
}

.tabs .tab-content h3,
.tabs .tab-content h4 {
  color: var(--ehuka-text) !important;
  font-weight: 700 !important;
  margin-top: 20px !important;
  margin-bottom: 15px !important;
}

.tabs .tab-content ul,
.tabs .tab-content ol {
  padding-left: 20px !important;
  margin: 15px 0 !important;
}

.tabs .tab-content li {
  margin-bottom: 10px !important;
}

/* ==================== INFORMATIONS SUPPLÉMENTAIRES ==================== */
.tvcmshome-extra,
.product-information {
  background: white !important;
  border-radius: var(--ehuka-radius) !important;
  padding: 30px !important;
  margin-bottom: 30px !important;
  box-shadow: var(--ehuka-shadow) !important;
}

.tvcmshome-extra ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
}

.tvcmshome-extra li {
  flex: 1 1 250px !important;
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  padding: 20px !important;
  background: #f9f9f9 !important;
  border-radius: var(--ehuka-radius-xs) !important;
  transition: all 0.3s ease !important;
}

.tvcmshome-extra li:hover {
  background: #f0f0f0 !important;
  transform: translateY(-2px) !important;
}

.tvcmshome-extra img {
  width: 50px !important;
  height: 50px !important;
  object-fit: contain !important;
}

/* ==================== BOUTONS SOCIAUX - CACHER LE PREMIER GROUPE ==================== */
/* Cacher Facebook/Twitter/Pinterest (garder seulement Suivez-nous) */
.product-information .tvproduct-social-sharing,
.tvproduct-size-custom-social-block ul,
.tvproduct-social-icon ul {
  display: none !important;
}

/* S'assurer que "Suivez-nous" reste visible */
.tvproduct-social-inline {
  display: flex !important;
}

/* ==================== RESPONSIVE ==================== */
@media (max-width: 991px) {
  .tvproduct-content-area,
  .tv-product-details-wrapper {
    padding: 30px 20px !important;
  }

  .tvproduct-title-brandimage h1 {
    font-size: 26px !important;
  }

  .tv-product-price .current-price,
  .product-price span {
    font-size: 30px !important;
  }

  .tabs.tvproduct-description-tab {
    padding: 30px 20px !important;
  }

  .tabs .nav-tabs {
    gap: 15px !important;
  }

  .tabs .nav-link {
    font-size: 14px !important;
    padding: 12px 0 !important;
  }
}

@media (max-width: 768px) {
  .tvproduct-page-wrapper {
    padding: 15px 0 40px !important;
  }

  .tvproduct-content-area,
  .tv-product-details-wrapper,
  .tabs.tvproduct-description-tab {
    border-radius: var(--ehuka-radius-sm) !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
  }

  .tvproduct-title-brandimage h1 {
    font-size: 22px !important;
  }

  .tv-product-price .current-price {
    font-size: 26px !important;
  }

  .tvall-inner-btn.add-to-cart,
  button[data-button-action="add-to-cart"] {
    padding: 14px 24px !important;
    font-size: 15px !important;
  }

  .tvcmshome-extra li {
    flex: 1 1 100% !important;
  }

  .tabs .nav-tabs {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
}
