/** Shopify CDN: Minification failed

Line 602:0 Comments in CSS use "/* ... */" instead of "//"
Line 604:2 Comments in CSS use "/* ... */" instead of "//"
Line 604:75 Unterminated string token
Line 606:10 Expected ":"
Line 608:3 Expected ":"
Line 609:8 Expected ":"

**/
/* Navigation fixe en bas - solution directe */
@media (min-width: 769px) {
  .naked-size-popup-content {
    position: relative;
  }
  
  .naked-size-navigation {
    position: fixed !important;
    bottom: 110px !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    margin-left: 50% !important;
    transform: translateX(-25%) !important;
    padding: 0 30px !important;
    z-index: 10000 !important;
    background: transparent !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    max-width: 500px !important;
  }
  
  /* Ajustement pour l'étape 5 (moins d'espace) */
  .naked-size-step[data-step="5"] .naked-size-navigation {
    bottom: 100px !important;
  }
  
  /* Style des boutons plus visibles */
  .naked-size-navigation .naked-size-next-btn,
  .naked-size-navigation .naked-size-apply-btn {
    background-color: #1a1a1a !important;
    color: white !important;
    border: none !important;
    padding: 15px 30px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    width: auto !important;
    min-width: 150px !important;
  }
  
  .naked-size-navigation .naked-size-prev-btn,
  .naked-size-navigation .naked-size-edit-btn {
    background-color: #f5f5f5 !important;
    color: #333 !important;
    border: 1px solid #ddd !important;
    padding: 15px 30px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    width: auto !important;
    min-width: 150px !important;
  }
}

/* Optimisations pour l'étape 7 (résultats) */
.naked-size-step[data-step="7"] .naked-size-step-title {
  font-size: 16px;
  letter-spacing: 0.5px;
  margin: 10px 0 25px;
  color: #333;
  text-transform: uppercase;
  font-weight: 600;
  text-align: center;
}

/* Style amélioré pour les résultats */
.naked-size-recommendation {
  margin-bottom: 30px;
  text-align: center;
  background-color: #f8f8f8;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.03);
}

.naked-size-recommendation h4 {
  font-size: 18px;
  margin: 10px 0;
  color: #333;
}

.naked-size-recommendation h4 span {
  font-weight: 700;
  color: #1a1a1a;
  font-size: 24px;
  display: inline-block;
  margin-left: 10px;
}

/* Styles pour l'affichage spécifique aux body */
.naked-size-step[data-step="7"][data-product-type="body"] .naked-size-recommendation-top h4 {
  margin-bottom: 5px;
}
.naked-size-step[data-step="7"][data-product-type="body"] .naked-size-recommendation-top h4 span {
  font-size: 36px;
  display: block;
  margin: 25px auto;
  padding: 15px 0;
  font-weight: 700;
  color: #1a1a1a;
}
.naked-size-step[data-step="7"][data-product-type="body"] .naked-size-recommendation-bottom {
  display: none;
}
.naked-size-body-explanation {
  font-size: 14px;
  color: #666;
  margin: 15px auto;
  max-width: 90%;
  line-height: 1.5;
}

/* Style pour le message de preuve sociale qui remplace la barre de confiance */
.naked-size-social-proof {
  max-width: 400px;
  margin: 0 auto 40px;
  display: flex;
  align-items: center;
  background-color: #f8f9ff;
  padding: 15px 20px;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.03);
}

.naked-size-social-proof-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background-color: #4285f4;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
  color: white;
}

.naked-size-check-icon {
  width: 22px;
  height: 22px;
}

.naked-size-social-proof-content {
  display: flex;
  align-items: center;
  flex: 1;
}

.naked-size-trust-badge {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  margin-right: 12px;
  color: #1a1a1a;
}

.naked-size-seal {
  width: 100%;
  height: 100%;
}

.naked-size-social-proof p {
  margin: 0;
  font-size: 15px;
  color: #333;
  line-height: 1.4;
  font-weight: 500;
  flex: 1;
}

/* Navigation pour l'étape 7 - boutons à positions inversées */
.naked-size-step[data-step="7"] .naked-size-navigation {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 20px;
}

.naked-size-step[data-step="7"] .naked-size-edit-btn {
  order: 1;
  flex: 1;
  padding: 15px 20px;
  font-weight: 500;
  border-radius: 10px;
  background-color: #f5f5f5;
  color: #333;
}

.naked-size-step[data-step="7"] .naked-size-apply-btn {
  order: 2;
  flex: 1;
  padding: 15px 20px;
  font-weight: 500;
  border-radius: 10px;
  background-color: #1a1a1a;
  color: white;
}

/* Optimisations pour mobile de l'étape 7 */
@media (max-width: 768px) {
  .naked-size-step[data-step="7"] .naked-size-step-title {
    font-size: 15px;
    margin: 10px 0 15px;
    text-align: center;
    padding-bottom: 12px;
    position: relative;
  }
  
  .naked-size-step[data-step="7"] .naked-size-step-title:after {
    content: '';
    width: 40px;
    height: 2px;
    background: #333;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  
  .naked-size-recommendation {
    padding: 15px;
    margin-bottom: 20px;
  }
  
  .naked-size-recommendation h4 {
    font-size: 16px;
    margin: 8px 0;
  }
  
  .naked-size-recommendation h4 span {
    font-size: 20px;
  }
  
  .naked-size-social-proof {
    padding: 12px 15px;
    margin-bottom: 25px;
  }
  
  .naked-size-social-proof-icon {
    width: 32px;
    height: 32px;
    margin-right: 12px;
  }
  
  .naked-size-trust-badge {
    width: 36px;
    height: 36px;
    margin-right: 10px;
  }
  
  .naked-size-social-proof p {
    font-size: 14px;
  }
  
  .naked-size-step[data-step="7"] .naked-size-navigation {
    margin-top: 20px;
    padding-top: 15px;
    gap: 10px;
  }
  
  .naked-size-step[data-step="7"] .naked-size-edit-btn {
    background-color: #f5f5f5;
    color: #333;
    padding: 12px 15px;
    font-size: 14px;
    border-radius: 8px;
    border: 1px solid #ddd;
  }
  
  .naked-size-step[data-step="7"] .naked-size-apply-btn {
    padding: 12px 15px;
    font-size: 14px;
    border-radius: 8px;
  }
}

/* Optimisations pour mobile des étapes 5 et 6 */
@media (max-width: 768px) {
  /* Titres des étapes 5 et 6 */
  .naked-size-step[data-step="5"] .naked-size-step-title,
  .naked-size-step[data-step="6"] .naked-size-step-title {
    font-size: 15px;
    margin: 10px 0 15px;
    text-align: center;
    padding-bottom: 12px;
    position: relative;
  }
  
  .naked-size-step[data-step="5"] .naked-size-step-title:after,
  .naked-size-step[data-step="6"] .naked-size-step-title:after {
    content: '';
    width: 40px;
    height: 2px;
    background: #333;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  
  /* Sélecteur de région plus compact */
  .naked-size-region-selector {
    margin-bottom: 15px;
  }
  
  .naked-size-region-selector select {
    padding: 12px;
    border-radius: 8px;
    font-size: 13px;
  }
  
  /* Groupes de tailles */
  .naked-size-size-group {
    margin-bottom: 18px;
  }
  
  .naked-size-size-group h4 {
    margin: 0 0 8px;
    font-size: 13px;
  }
  
  .naked-size-size-buttons {
    gap: 8px;
    margin-bottom: 12px;
  }
  
  /* Boutons de taille plus compacts mais toujours faciles à toucher */
  .naked-size-size-btn {
    min-width: 40px;
    padding: 10px 12px;
    font-size: 13px;
    border-radius: 8px;
  }
  
  /* Navigation - ajustement pour mobile */
  .naked-size-step[data-step="5"] .naked-size-navigation,
  .naked-size-step[data-step="6"] .naked-size-navigation {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    padding-top: 15px;
  }
  
  .naked-size-step[data-step="5"] .naked-size-prev-btn,
  .naked-size-step[data-step="6"] .naked-size-prev-btn {
    background-color: #f5f5f5;
    color: #333;
    padding: 12px 15px;
    font-size: 14px;
    border-radius: 8px;
    flex: 1;
    text-align: center;
    border: 1px solid #ddd;
  }
  
  .naked-size-step[data-step="5"] .naked-size-next-btn,
  .naked-size-step[data-step="6"] .naked-size-next-btn {
    background-color: #1a1a1a;
    color: white;
    padding: 12px 15px;
    font-size: 14px;
    border-radius: 8px;
    flex: 1;
    text-align: center;
  }
  
  /* Affichage optimisé des boutons de taille pour s'adapter aux petits écrans */
  .naked-size-step[data-step="5"] .naked-size-size-buttons,
  .naked-size-step[data-step="6"] .naked-size-size-buttons {
    justify-content: center;
  }
}

/* Style amélioré pour les étapes 5 et 6 - Sélection des tailles */
.naked-size-step[data-step="5"] .naked-size-step-title,
.naked-size-step[data-step="6"] .naked-size-step-title {
  font-size: 16px;
  letter-spacing: 0.5px;
  margin: 10px 0 25px;
  color: #333;
  text-transform: uppercase;
  font-weight: 600;
  text-align: center;
}

/* Sélecteur de région amélioré */
.naked-size-region-selector {
  margin-bottom: 20px;
}

.naked-size-region-selector select {
  width: 100%;
  padding: 14px 15px;
  border: 1px solid #ddd;
  border-radius: 10px;
  font-size: 14px;
  color: #333;
  background-color: #f9f9f9;
  transition: all 0.3s;
  outline: none;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 15px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.03);
}

.naked-size-region-selector select:focus {
  border-color: #1a1a1a;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Style des groupes de tailles amélioré */
.naked-size-size-group {
  margin-bottom: 25px;
}

.naked-size-size-group h4 {
  margin: 0 0 12px;
  font-size: 15px;
  color: #444;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.naked-size-size-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
}

/* Style pour les boutons de taille amélioré */
.naked-size-size-btn {
  min-width: 45px;
  padding: 12px 15px;
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 10px;
  font-size: 14px;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
}

.naked-size-size-btn:hover {
  border-color: #aaa;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.naked-size-size-btn.selected {
  background: #1a1a1a;
  color: white;
  border-color: #1a1a1a;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  font-weight: 500;
}

/* Navigation - correction de la position des boutons pour étapes 5-6 */
.naked-size-step[data-step="5"] .naked-size-navigation,
.naked-size-step[data-step="6"] .naked-size-navigation {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 30px;
}

.naked-size-step[data-step="5"] .naked-size-prev-btn,
.naked-size-step[data-step="6"] .naked-size-prev-btn {
  order: 1;
  flex: 1;
  padding: 15px 20px;
  font-weight: 500;
  border-radius: 10px;
}

.naked-size-step[data-step="5"] .naked-size-next-btn,
.naked-size-step[data-step="6"] .naked-size-next-btn {
  order: 2;
  flex: 1;
  padding: 15px 20px;
  font-weight: 500;
  border-radius: 10px;
  background-color: #1a1a1a;
}

/* Titre principal - style amélioré pour les étapes 2-4 */
.naked-size-step[data-step="2"] .naked-size-step-title,
.naked-size-step[data-step="3"] .naked-size-step-title,
.naked-size-step[data-step="4"] .naked-size-step-title {
  font-size: 16px;
  letter-spacing: 0.5px;
  margin: 10px 0 25px;
  color: #333;
  text-transform: uppercase;
  font-weight: 600;
  text-align: center;
}

/* Navigation - correction de la position du bouton Précédent */
.naked-size-navigation {
  margin-top: auto;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding-top: 30px;
  position: relative;
  bottom: 0;
  width: 100%;
  gap: 12px;
}

/* Bouton Suivant - étapes 2-4 */
.naked-size-step[data-step="2"] .naked-size-next-btn,
.naked-size-step[data-step="3"] .naked-size-next-btn,
.naked-size-step[data-step="4"] .naked-size-next-btn {
  order: 2;
  flex: 1;
  padding: 15px 20px;
  font-weight: 500;
  border-radius: 10px;
  background-color: #1a1a1a;
}

/* Bouton Précédent - étapes 2-4 */
.naked-size-step[data-step="2"] .naked-size-prev-btn,
.naked-size-step[data-step="3"] .naked-size-prev-btn,
.naked-size-step[data-step="4"] .naked-size-prev-btn {
  order: 1;
  flex: 1;
  padding: 15px 20px;
  font-weight: 500;
  border-radius: 10px;
}

/* Optimisations mobile pour les étapes 2-4 */
@media (max-width: 768px) {
  .naked-size-step[data-step="2"] .naked-size-step-title,
  .naked-size-step[data-step="3"] .naked-size-step-title,
  .naked-size-step[data-step="4"] .naked-size-step-title {
    font-size: 15px;
    margin: 10px 0 15px;
    text-align: center;
    padding-bottom: 12px;
    position: relative;
  }
  
  .naked-size-step[data-step="2"] .naked-size-step-title:after,
  .naked-size-step[data-step="3"] .naked-size-step-title:after,
  .naked-size-step[data-step="4"] .naked-size-step-title:after {
    content: '';
    width: 40px;
    height: 2px;
    background: #333;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  
  .naked-size-morphology-options {
    gap: 10px;
    margin-top: 10px;
  }
  
  .naked-size-morphology-option {
    padding: 14px 16px;
    height: 65px;
  }
  
  .naked-size-morphology-label {
    font-size: 15px;
  }
  
  .naked-size-navigation {
    margin-top: 20px;
    padding-top: 15px;
  }
}

// Méthode pour empêcher le défilement - Ajoutez cette méthode à votre classe
preventScroll(e) {
  // Pour permettre le défilement à l'intérieur du formulaire uniquement
  if (e.target.closest('.naked-size-form-side')) {
    return true;
  }
  e.preventDefault();
  return false;
}

/* Style pour le widget calculer ma taille (version lien) */
.naked-size-recommender {
  margin: 15px 0;
  font-family: inherit;
}

/* Transformation du bouton en texte stylisé */
.naked-size-button {
  background-color: transparent !important;
  color: #1a1a1a !important;
  border: none !important;
  padding: 0 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  text-transform: none !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
  position: relative !important;
  margin: 10px 0 !important;
  text-decoration: none;
}

/* Effet de soulignement */
.naked-size-button::after {
  content: '' !important;
  position: absolute !important;
  width: 100% !important;
  height: 2px !important;
  bottom: -2px !important;
  left: 0 !important;
  background-color: #1a1a1a !important;
  transition: all 0.3s ease !important;
}

/* Animation au survol */
.naked-size-button:hover {
  color: #444 !important;
}

.naked-size-button:hover::after {
  background-color: #444 !important;
}

/* Icône crayon pour les résultats sauvegardés */
.naked-size-button.has-result {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.naked-size-button.has-result::before {
  content: '✏️' !important;
  font-size: 14px !important;
}

/* Style pour le widget avec taille déjà calculée */
.naked-size-button.with-size {
  font-weight: 500;
}

.naked-size-button .size-result {
  font-weight: 700;
}

/* Style pour bloquer complètement le défilement - technique robuste */
.naked-size-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 0.3s ease;
  overscroll-behavior: none; /* Empêche le pull-to-refresh et les gestes de navigation */
  touch-action: none; /* Désactive les actions tactiles sur la couche de fond */
}

/* Ajustement pour assurer que le contenu peut défiler si nécessaire */
.naked-size-form-side {
  overscroll-behavior: contain; /* Contient les défilements à l'intérieur */
  touch-action: pan-y; /* Permet le défilement vertical uniquement dans le formulaire */
}

/* Structure de la popup avec hauteur fixe basée sur l'étape 1 */
.naked-size-popup-content {
  background: white;
  width: 90%;
  max-width: 1000px;
  display: flex;
  flex-direction: row;
  height: 650px; /* Hauteur fixe définie explicitement */
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
  transform: scale(1);
  transition: transform 0.3s ease;
}

/* Suppression de l'en-tête avec le titre du produit */
.naked-size-popup-header {
  display: none;
}

/* Restauration et optimisation du footer */
.naked-size-popup-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 25px;
  background-color: transparent;
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 1;
}

/* Ajout des points de progression repositionnés et décalés vers la droite */
.naked-size-progress-dots {
  display: flex;
  gap: 8px;
  position: absolute;
  left: 50%;
  transform: translateX(calc(-50% + 20px)); /* Décalage de 20px vers la droite */
  bottom: 15px;
}

.naked-size-progress-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #ddd;
  transition: all 0.3s;
}

.naked-size-progress-dot.active {
  background-color: #1a1a1a;
  transform: scale(1.2);
}

/* Positionnement du branding NAKED UNDERWEAR */
.naked-size-branding {
  position: absolute;
  right: 20px;
  bottom: 15px;
  color: #1a1a1a;
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 600;
  text-transform: uppercase;
}

/* Réorganisation de la structure pour un affichage côte à côte */
.naked-size-popup-body {
  width: 100%;
  height: 100%;
}

.naked-size-popup-split {
  display: flex;
  height: 100%;
  flex-direction: row;
}

/* Côté image 45% sans marges */
.naked-size-product-side {
  width: 45%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background-color: #f5f5f5;
}

.naked-size-product-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block; /* Élimine l'espace sous l'image */
  transition: transform 0.5s ease;
}

.naked-size-product-side img:hover {
  transform: scale(1.03);
}

/* Ajustement de la structure globale du formulaire */
.naked-size-form-side {
  width: 55%;
  padding: 30px 30px 120px 30px; /* Augmentation du padding en bas pour les boutons */
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  overflow-y: auto; /* Permettre le défilement si nécessaire */
  height: auto;
  min-height: 600px;
}

/* Ajout du titre du produit au-dessus de la question */
.naked-size-form-side::before {
  content: attr(data-product-title);
  display: block;
  font-size: 18px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 30px;
}

/* Ajustement du titre pour prendre moins d'espace */
.naked-size-step-title {
  font-size: 22px;
  letter-spacing: 0.5px;
  margin-top: 0;
  margin-bottom: 30px; /* Réduit la marge inférieure */
  color: #1a1a1a;
  font-weight: 600;
}

/* Champs de formulaire - augmentation de l'espacement */
.naked-size-form-field {
  margin-bottom: 30px; /* Réduit légèrement l'espacement pour gagner de la place verticale */
}

.naked-size-form-field label {
  display: block;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 14px;
  color: #1a1a1a;
  margin-bottom: 15px;
  font-weight: 500;
}

/* Standardisation du style pour toutes les étapes */
.naked-size-step {
  position: relative;
  width: 100%;
  animation: fadeIn 0.4s ease-out;
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
}

/* S'assurer que chaque étape remplit complètement l'espace sans débordement */
.naked-size-step[data-step] {
  display: none;
  height: 100%;
}

.naked-size-step[data-step].active {
  display: flex; /* Utilise flex pour mieux contrôler l'espace */
}

/* Ajustement spécifique pour l'étape 1 - remontée du bouton Suivant */
.naked-size-step[data-step="1"] {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  min-height: 0; /* Réinitialisation de la hauteur minimale */
  padding-bottom: 20px;
}

/* Réduction extrême des espaces pour l'étape 1 */
.naked-size-step[data-step="1"] .naked-size-step-title {
  margin-bottom: 20px;
  font-size: 20px;
}

.naked-size-step[data-step="1"] .naked-size-form-field {
  margin-bottom: 20px;
}

.naked-size-step[data-step="1"] .naked-size-form-field label {
  margin-bottom: 5px;
}

/* Navigation positionnée en bas pour l'étape 1 */
.naked-size-step[data-step="1"] .naked-size-navigation {
  margin-top: 20px;
  padding-top: 0;
}

/* Optimisation des champs pour qu'ils prennent moins de place */
.naked-size-input-container {
  position: relative;
  background-color: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 10px;
  transition: all 0.3s ease;
  padding: 3px 15px; /* Réduction du padding */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
}

.naked-size-input-container:focus-within {
  border-color: #1a1a1a;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.naked-size-input-container input {
  width: 100%;
  padding: 15px 70px 15px 0;
  border: none;
  font-size: 16px;
  background: transparent;
  outline: none;
}

/* Style amélioré pour les sélecteurs d'unités */
.naked-size-units {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  background-color: #f5f5f5;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.naked-size-unit {
  color: #888;
  padding: 6px 10px;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s;
}

.naked-size-unit.active {
  color: #fff;
  background-color: #1a1a1a;
  font-weight: 500;
}

.naked-size-unit-label {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #888;
  font-size: 14px;
}

/* Style optimisé des options morphologiques - version améliorée */
.naked-size-morphology-options {
  margin-top: 15px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.naked-size-morphology-option {
  display: flex;
  align-items: center;
  padding: 15px 18px;
  background-color: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  height: 70px;
  position: relative;
}

.naked-size-morphology-option:hover {
  transform: translateY(-2px);
  border-color: #d0d0d0;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.naked-size-morphology-option.selected {
  border-color: #1a1a1a;
  background-color: #f8f8f8;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.naked-size-morphology-image {
  width: 50px;
  height: 50px;
  margin-right: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.naked-size-morphology-label {
  flex: 1;
  font-size: 16px;
  color: #1a1a1a;
  font-weight: 500;
}

.naked-size-morphology-arrow {
  color: #1a1a1a;
  font-size: 18px;
  opacity: 0.6;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.2s ease;
}

.naked-size-morphology-option:hover .naked-size-morphology-arrow {
  opacity: 1;
  transform: translateY(-50%) translateX(3px);
}

/* Sélecteur de taille de soutien-gorge */
.naked-size-bra-selector,
.naked-size-bottom-selector {
  margin-top: 20px;
}

.naked-size-region-selector {
  margin-bottom: 20px;
}

.naked-size-region-selector select {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  color: #333;
  background-color: #f9f9f9;
  transition: all 0.3s;
  outline: none;
}

.naked-size-region-selector select:focus {
  border-color: #1a1a1a;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.naked-size-size-group {
  margin-bottom: 20px;
}

.naked-size-size-group h4 {
  margin: 0 0 10px;
  font-size: 14px;
  color: #555;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.naked-size-size-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
}

/* Style pour les boutons de taille */
.naked-size-size-btn {
  min-width: 40px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  font-size: 13px;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
}

.naked-size-size-btn:hover {
  border-color: #d0d0d0;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.naked-size-size-btn.selected {
  background: #1a1a1a;
  color: white;
  border-color: #1a1a1a;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* Navigation en bas avec points d'étape - positionnement amélioré */
.naked-size-navigation {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 30px;
  position: relative;
  bottom: 0;
  width: 100%;
}

/* Styles améliorés pour les boutons et la navigation */
.naked-size-next-btn, 
.naked-size-apply-btn,
.naked-size-prev-btn, 
.naked-size-edit-btn {
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s ease;
  font-weight: 500;
  cursor: pointer;
}

.naked-size-next-btn, 
.naked-size-apply-btn {
  background-color: #1a1a1a;
  color: white;
  border: none;
  padding: 15px 30px;
  border-radius: 10px;
  font-size: 14px;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.naked-size-next-btn:hover, 
.naked-size-apply-btn:hover {
  background-color: #000;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

.naked-size-next-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: #aaa;
}

.naked-size-prev-btn, 
.naked-size-edit-btn {
  background-color: transparent;
  color: #666;
  border: 1px solid #ddd;
  padding: 15px 25px;
  border-radius: 10px;
  font-size: 14px;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
}

.naked-size-prev-btn:hover, 
.naked-size-edit-btn:hover {
  background-color: #f5f5f5;
  color: #333;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

/* Résultats */
.naked-size-recommendation {
  margin-bottom: 30px;
  text-align: center;
}

.naked-size-recommendation h4 {
  font-size: 18px;
  margin: 15px 0;
  color: #333;
}

.naked-size-recommendation h4 span {
  font-weight: 700;
  color: #1a1a1a;
}

/* Styles pour les sliders */
.naked-size-slider-container {
  position: relative;
  background-color: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 10px;
  transition: all 0.3s ease;
  padding: 15px 15px 25px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
  margin-bottom: 5px;
}

.naked-size-slider-container:focus-within {
  border-color: #1a1a1a;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.naked-size-slider-value {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 10px;
  text-align: center;
  color: #1a1a1a;
}

.naked-size-unit-display {
  font-size: 16px;
  font-weight: normal;
  color: #666;
  margin-left: 4px;
}

.naked-size-slider-wrapper {
  width: 100%;
  margin: 20px 0;
  position: relative;
}

/* Style de base du slider */
.naked-size-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 4px;
  background: #f0f0f0;
  border-radius: 2px;
  outline: none;
}

/* Le "pouce" du slider (la partie qu'on fait glisser) */
.naked-size-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #1a1a1a;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
}

.naked-size-slider::-moz-range-thumb {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #1a1a1a;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
  border: none;
}

/* Animation du pouce lors de l'interaction */
.naked-size-slider::-webkit-slider-thumb:hover,
.naked-size-slider:active::-webkit-slider-thumb {
  transform: scale(1.1);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.naked-size-slider::-moz-range-thumb:hover,
.naked-size-slider:active::-moz-range-thumb {
  transform: scale(1.1);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

/* Piste remplie (avant le pouce) */
.naked-size-slider-wrapper::before {
  content: '';
  position: absolute;
  height: 4px;
  background: #1a1a1a;
  border-radius: 2px;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 50%; /* Sera mis à jour dynamiquement en JS */
  z-index: 0;
  pointer-events: none;
}

/* Repositionnement des unités */
.naked-size-slider-units {
  position: absolute;
  right: 0;
  bottom: -5px;
  display: flex;
  background-color: #f5f5f5;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* Styles supplémentaires pour une meilleure intégration des sliders */
/* Remplissage du slider - méthode avec variable CSS */
:root {
  --slider-fill-color: #1a1a1a;
}

.naked-size-slider-fill {
  position: absolute;
  height: 4px;
  background: var(--slider-fill-color);
  border-radius: 2px;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  z-index: 0;
  pointer-events: none;
  transition: width 0.1s ease;
}

/* Amélioration esthétique des étiquettes de valeur */
.naked-size-slider-value {
  display: flex;
  justify-content: center;
  align-items: baseline;
}

/* Styles des pastilles min/max sur les sliders */
.naked-size-slider-wrapper::after {
  content: attr(data-min) " - " attr(data-max);
  position: absolute;
  bottom: -18px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: #999;
}

/* Animation des transitions */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Styles pour mobile - version esthétique optimisée + popup modale */
@media (max-width: 768px) {
  /* Fond semi-transparent pour l'effet modal */
  .naked-size-popup {
    background-color: rgba(0, 0, 0, 0.7);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1; /* Remettre à 1 pour l'affichage par défaut */
    transition: opacity 0.3s ease;
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
  }
  
  /* État spécifique pour les animations d'entrée/sortie */
  .naked-size-popup.fade-in {
    opacity: 1;
  }
  
  .naked-size-popup.fade-out {
    opacity: 0;
  }
  
  /* Contenu de la popup avec coins arrondis */
  .naked-size-popup-content {
    background: #fff;
    width: 90%;
    max-width: 1000px; /* Restaurer la valeur d'origine */
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
    margin: auto;
    transform: scale(1); /* Restaurer la valeur d'origine */
    transition: transform 0.3s ease;
    position: relative;
    height: 85vh; /* Hauteur ajustée */
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  
  /* Animation seulement pour les états spécifiques */
  .naked-size-popup.fade-in .naked-size-popup-content {
    animation: modalFadeIn 0.3s ease forwards;
  }
  
  .naked-size-popup.fade-out .naked-size-popup-content {
    animation: modalFadeOut 0.3s ease forwards;
  }
  
  /* Bouton de fermeture (X) */
  .naked-size-close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    background: #f2f2f2;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 100;
    border: none;
    padding: 0;
    transition: all 0.2s ease;
  }
  
  .naked-size-close-btn:hover,
  .naked-size-close-btn:focus {
    background: #e0e0e0;
  }
  
  .naked-size-close-btn::before,
  .naked-size-close-btn::after {
    content: '';
    position: absolute;
    width: 14px;
    height: 2px;
    background-color: #555;
    transform: rotate(45deg);
  }
  
  .naked-size-close-btn::after {
    transform: rotate(-45deg);
  }
  
  /* Optimisation globale des espacements */
  .naked-size-popup-body {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  
  /* Optimisation de la division verticale */
  .naked-size-popup-split {
    flex-direction: column;
    height: auto;
    max-height: 85vh;
  }
  
  /* Masquer complètement l'image sur mobile */
  .naked-size-product-side {
    display: none;
  }
  
  /* Section formulaire avec défilement si nécessaire */
  .naked-size-form-side {
    width: 100%;
    padding: 16px 20px;
    overflow-y: auto;
    max-height: 85vh; /* Hauteur maximale sans l'image */
    background-color: #fafafa;
  }
  
  /* Animation d'entrée/sortie */
  @keyframes modalFadeIn {
    from {
      opacity: 0;
      transform: scale(0.95);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
  
  @keyframes modalFadeOut {
    from {
      opacity: 1;
      transform: scale(1);
    }
    to {
      opacity: 0;
      transform: scale(0.95);
    }
  }
  
  .naked-size-popup.fade-in .naked-size-popup-content {
    animation: modalFadeIn 0.3s ease forwards;
  }
  
  .naked-size-popup.fade-out .naked-size-popup-content {
    animation: modalFadeOut 0.3s ease forwards;
  }
  
  /* Gestion du défilement */
  body.size-popup-open {
    overflow: hidden; /* Empêcher le défilement de la page */
  }
  
  /* Titre et éléments d'en-tête */
  .naked-size-popup-title {
    padding: 16px 20px 0;
    margin-bottom: 10px;
    position: relative;
    z-index: 2;
  }
  
  .naked-size-popup-title h2 {
    font-size: 16px;
    margin: 0;
    padding-right: 30px; /* Espace pour le bouton de fermeture */
    text-align: center;
  }
  
  /* Meilleures proportions pour les sections */
  .naked-size-step[data-step="1"] {
    padding: 0 0 10px;
  }
  
  /* Titre principal élégant */
  .naked-size-step-title {
    font-size: 14px;
    letter-spacing: 0.7px;
    margin: 6px 0 18px;
    color: #444;
    text-transform: uppercase;
    font-weight: 600;
    position: relative;
    padding-bottom: 10px;
  }
  
  .naked-size-step-title:after {
    content: '';
    display: block;
    width: 40px;
    height: 2px;
    background: #1a1a1a;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  
  /* Titre de catégorie (TAILLE, POIDS, ÂGE) plus élégant */
  .naked-size-form-field label,
  .naked-size-form-side h3 {
    font-size: 12px;
    margin: 0 0 6px;
    color: #666;
    letter-spacing: 0.5px;
    opacity: 0.8;
  }
  
  /* Labels élégants */
  .naked-size-step[data-step="1"] .naked-size-form-field label {
    font-size: 11px;
    margin: 0 0 6px 2px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    font-weight: 500;
    display: block;
  }
  
  /* Espacement des sections plus élégant */
  .naked-size-form-field {
    margin-bottom: 18px;
  }
  
  /* Réduire l'espacement des champs tout en gardant une bonne proportion */
  .naked-size-step[data-step="1"] .naked-size-form-field {
    margin-bottom: 16px;
  }
  
  /* Container principal élégant */
  .naked-size-slider-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 15px;
    background: linear-gradient(to bottom, #ffffff, #fafafa);
    border-radius: 10px;
    padding: 14px 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  }
  
  /* Layout pour la ligne avec valeur et unité */
  .naked-size-value-unit-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
  }
  
  /* Conteneur de la valeur avec meilleur espacement */
  .naked-size-value-container {
    flex: 1;
    display: flex;
    align-items: baseline;
  }
  
  /* OPTIMISATIONS ÉQUILIBRÉES POUR LA PREMIÈRE ÉTAPE (TAILLE, POIDS, ÂGE) */
  /* Espacement modéré entre sections */
  .naked-size-step[data-step="1"] .naked-size-form-field {
    margin-bottom: 12px;
  }
  
  /* Titre de taille moyenne et espacements ajustés */
  .naked-size-step[data-step="1"] .naked-size-step-title {
    font-size: 15px;
    margin: 5px 0 12px;
    padding-bottom: 5px;
  }
  
  /* Labels bien lisibles */
  .naked-size-step[data-step="1"] .naked-size-form-field label {
    font-size: 11px;
    margin-bottom: 3px;
    letter-spacing: 0.5px;
    font-weight: 500;
  }
  
  /* Container de slider bien proportionné */
  .naked-size-step[data-step="1"] .naked-size-slider-container {
    padding: 10px 12px 12px;
    margin-bottom: 5px;
    border-radius: 8px;
  }
  
  /* Valeur numérique lisible mais compacte */
  .naked-size-step[data-step="1"] .naked-size-slider-value {
    font-size: 24px;
    line-height: 1.1;
    margin-bottom: 4px;
  }
  
  /* Unité principale lisible */
  .naked-size-step[data-step="1"] .naked-size-primary-unit {
    font-size: 12px;
  }
  
  /* Conversion d'unité lisible */
  .naked-size-step[data-step="1"] .naked-size-unit-conversion {
    font-size: 10px;
  }
  
  /* Hauteur du track du slider adaptée */
  .naked-size-step[data-step="1"] .naked-size-slider-track-container {
    height: 16px;
    margin-bottom: 2px;
  }
  
  /* Piste du slider visible */
  .naked-size-step[data-step="1"] .naked-size-slider-track {
    height: 3px;
  }
  
  /* Indicateurs min/max lisibles */
  .naked-size-step[data-step="1"] .naked-size-slider-min,
  .naked-size-step[data-step="1"] .naked-size-slider-max {
    font-size: 9px;
    top: 8px;
  }
  
  /* Poignée du slider de taille moyenne */
  .naked-size-step[data-step="1"] .naked-size-slider-handle {
    width: 18px;
    height: 18px;
    border-width: 2px;
  }
  
  /* Sélecteurs d'unité de taille adéquate */
  .naked-size-step[data-step="1"] .naked-size-units-mobile {
    transform: scale(0.85);
    transform-origin: right center;
  }
  
  .naked-size-step[data-step="1"] .naked-size-unit-mobile {
    padding: 4px 10px;
    font-size: 12px;
    border-radius: 12px;
  }
  
  /* Navigation adaptée */
  .naked-size-step[data-step="1"] .naked-size-navigation {
    margin-top: 10px;
    padding-top: 5px;
  }
  
  .naked-size-step[data-step="1"] .naked-size-next-btn {
    padding: 12px 20px;
    font-size: 13px;
    border-radius: 8px;
  }
  
  /* Espacement modéré entre la valeur et le slider */
  .naked-size-step[data-step="1"] .naked-size-value-unit-row {
    margin-bottom: 4px;
  }
  
  /* Espacement après la dernière section (âge) */
  .naked-size-step[data-step="1"] .naked-size-form-field:last-of-type {
    margin-bottom: 15px;
  }
  
  /* FIN DES OPTIMISATIONS SPÉCIFIQUES */
  
  /* Affichage des valeurs avec meilleure typographie */
  .naked-size-slider-value {
    font-size: 32px;
    font-weight: 600;
    color: #000;
    line-height: 1.1;
    transition: all 0.2s ease;
  }
  
  /* Unité principale plus élégante */
  .naked-size-primary-unit {
    font-size: 16px;
    color: #666;
    margin-left: 4px;
    font-weight: 400;
  }
  
  /* Conversion d'unité plus élégante */
  .naked-size-unit-conversion {
    font-size: 13px;
    color: #999;
    margin-left: 4px;
    font-weight: normal;
  }
  
  /* Container du slider - proportions améliorées */
  .naked-size-slider-track-container {
    position: relative;
    width: 100%;
    height: 30px;
    display: flex;
    align-items: center;
    margin-bottom: 2px;
  }
  
  /* Piste du slider plus élégante et plus visible */
  .naked-size-slider-track {
    position: relative;
    width: 100%;
    height: 3px; /* Légèrement plus épais pour faciliter la visibilité */
    background-color: #e8e8e8;
    border-radius: 1px;
  }
  
  /* Partie active de la piste avec performance optimisée */
  .naked-size-slider-progress {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background-color: #1a1a1a;
    border-radius: 1px;
    will-change: width;
    transition: none; /* Les transitions seront gérées par JS pour la synchronisation */
  }
  
  /* Curseur du slider élégant avec performances optimisées */
  .naked-size-slider-handle {
    position: absolute;
    top: 50%;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border: 2px solid #1a1a1a;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
    z-index: 5;
    transition: transform 0.1s ease;
    will-change: left;
    touch-action: none; /* Empêche le comportement de défilement par défaut sur mobile */
  }
  
  /* Curseur en état actif (pendant le glissement) */
  .naked-size-slider-handle.active {
    transform: translate(-50%, -50%) scale(1.1);
    background-color: #fff;
    border-width: 2px;
  }
  
  /* Effet subtil au survol des curseurs */
  .naked-size-slider-handle:hover {
    transform: translate(-50%, -50%) scale(1.1);
  }
  
  /* Input range */
  .naked-size-slider-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 10;
    margin: 0;
    padding: 0;
  }
  
  /* Marqueurs min/max plus élégants */
  .naked-size-slider-min,
  .naked-size-slider-max {
    position: absolute;
    font-size: 10px;
    color: #999;
    top: 15px;
  }
  
  .naked-size-slider-min {
    left: 0;
  }
  
  .naked-size-slider-max {
    right: 0;
  }
  
  /* Sélecteurs d'unités élégants */
  .naked-size-units-mobile {
    display: flex;
    border-radius: 16px;
    padding: 2px;
    background-color: #f2f2f2;
    width: fit-content;
    margin-left: auto;
  }
  
  .naked-size-unit-mobile {
    color: #666;
    padding: 4px 12px;
    border-radius: 14px;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s;
    font-weight: 500;
  }
  
  .naked-size-unit-mobile.active {
    color: #fff;
    background-color: #1a1a1a;
  }
  
  /* Masquer éléments originaux */
  .naked-size-mobile-hidden {
    display: none !important;
  }
  
  /* Section "RENSEIGNEZ..." plus élégante */
  h3.section-title {
    font-size: 13px;
    margin: 0 0 16px;
    color: #666;
    letter-spacing: 0.5px;
  }
  
  /* Navigation élégante */
  .naked-size-navigation {
    flex-direction: row-reverse;
    gap: 8px;
    margin-top: 15px;
    padding: 10px 0;
    position: sticky;
    bottom: 0;
    background-color: #fafafa;
    padding-bottom: 5px;
    z-index: 100;
  }
  
  /* Bouton principal élégant */
  .naked-size-next-btn,
  .naked-size-apply-btn {
    flex: 3;
    padding: 14px 30px;
    border-radius: 10px;
    font-size: 14px;
    background: linear-gradient(to bottom, #222, #1a1a1a);
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  }
  
  .naked-size-next-btn:hover,
  .naked-size-apply-btn:hover {
    background: #333;
    transform: translateY(-1px);
    box-shadow: 0 3px 7px rgba(0,0,0,0.15);
  }
  
  /* Bouton secondaire élégant */
  .naked-size-prev-btn,
  .naked-size-edit-btn {
    flex: 2;
    padding: 12px 25px;
    border-radius: 10px;
    font-size: 13px;
    border: 1px solid rgba(0,0,0,0.1);
    background: #f5f5f5;
    color: #555;
    transition: all 0.3s ease;
  }
  
  .naked-size-prev-btn:hover,
  .naked-size-edit-btn:hover {
    background: #eee;
    color: #333;
  }
  
  /* Version optimisée pour mobile des options morphologiques */
@media (max-width: 768px) {
  /* Optimisation des options morphologiques */
  .naked-size-morphology-options {
    gap: 10px;
    margin-top: 10px;
    padding: 0 5px;
  }
  
  .naked-size-morphology-option {
    padding: 14px 16px;
    height: auto;
    min-height: 60px;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  }
  
  .naked-size-morphology-label {
    font-size: 15px;
  }
  
  .naked-size-morphology-image {
    width: 40px;
    height: 40px;
    margin-right: 15px;
  }
  
  .naked-size-morphology-arrow {
    font-size: 16px;
    right: 12px;
  }
  
  /* Navigation - correction de la position des boutons */
  .naked-size-step[data-step="2"] .naked-size-navigation,
  .naked-size-step[data-step="3"] .naked-size-navigation,
  .naked-size-step[data-step="4"] .naked-size-navigation {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    padding-top: 15px;
  }
  
  /* Styles des boutons */
  .naked-size-step[data-step="2"] .naked-size-prev-btn,
  .naked-size-step[data-step="3"] .naked-size-prev-btn,
  .naked-size-step[data-step="4"] .naked-size-prev-btn {
    background-color: #f5f5f5;
    color: #333;
    padding: 12px 15px;
    font-size: 14px;
    border-radius: 8px;
    flex: 1;
    text-align: center;
    border: 1px solid #ddd;
  }
  
  .naked-size-step[data-step="2"] .naked-size-next-btn,
  .naked-size-step[data-step="3"] .naked-size-next-btn,
  .naked-size-step[data-step="4"] .naked-size-next-btn {
    background-color: #1a1a1a;
    color: white;
    padding: 12px 15px;
    font-size: 14px;
    border-radius: 8px;
    flex: 1;
    text-align: center;
  }
}
  
  /* Boutons de taille plus petits */
  .naked-size-size-btn {
    min-width: 36px;
    padding: 8px;
    font-size: 12px;
  }
  
  /* Sélecteurs régionaux plus compacts */
  .naked-size-region-selector select {
    padding: 10px;
    font-size: 13px;
  }
  
  /* Optimisation des menus déroulants */
  .naked-size-size-group h4 {
    font-size: 12px;
    margin: 0 0 5px;
  }
  
  /* Mise en forme pour les points de progression */
  .naked-size-progress-dots {
    gap: 6px;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
  }
  
  .naked-size-progress-dot {
    width: 6px;
    height: 6px;
    transition: all 0.3s ease;
  }
  
  .naked-size-progress-dot.active {
    transform: scale(1.3);
  }
  
  /* Branding plus élégant */
  .naked-size-branding {
    font-size: 11px;
    letter-spacing: 1.5px;
    right: 15px;
    bottom: 10px;
    font-weight: 600;
    color: #333;
  }
  
  /* Meilleur espacement entre les sections pour une meilleure respiration visuelle */
  main > section,
  main > div {
    margin-bottom: 8px;
  }
  
  /* Optimisation de l'affichage des résultats */
  .naked-size-recommendation h4 {
    font-size: 16px;
    margin: 10px 0;
  }
  
  /* Bouton Suivant élégant */
  #step1-next {
    margin-top: 10px;
  }
  
  /* Optimisations pour les très petits écrans */
  @media (max-width: 350px) {
    /* Format optimisé pour les petits écrans */
    .naked-size-step[data-step="1"] .naked-size-slider-container {
      padding: 8px 10px 10px;
    }
    
    .naked-size-step[data-step="1"] .naked-size-slider-value {
      font-size: 20px;
    }
    
    .naked-size-step[data-step="1"] .naked-size-primary-unit {
      font-size: 11px;
    }
    
    .naked-size-step[data-step="1"] .naked-size-unit-conversion {
      font-size: 9px;
    }
    
    .naked-size-step[data-step="1"] .naked-size-form-field {
      margin-bottom: 8px;
    }
  }
  
  /* Optimisations spécifiques pour l'orientation paysage */
  @media (max-height: 600px) and (orientation: landscape) {
    .naked-size-popup-split {
      flex-direction: row;
      height: 100%;
    }
    
    .naked-size-product-side {
      width: 35%;
      height: 100%;
    }
    
    .naked-size-form-side {
      width: 65%;
      height: 100%;
    }
    
    /* Ajuster pour éviter le chevauchement avec le clavier */
    .naked-size-input-container input:focus {
      position: relative;
      z-index: 200;
    }
  }
  
  /* Optimisations pour l'accessibilité mobile */
  .naked-size-input-container input,
  .naked-size-region-selector select,
  .naked-size-size-btn,
  .naked-size-morphology-option,
  .naked-size-prev-btn, 
  .naked-size-next-btn,
  .naked-size-edit-btn,
  .naked-size-apply-btn,
  .naked-size-unit {
    -webkit-tap-highlight-color: rgba(0,0,0,0.1);
    touch-action: manipulation;
  }
  
  /* Ajustements pour le clavier virtuel */
  @media (max-height: 450px) {
    .naked-size-form-side {
      padding-bottom: 60px;
    }
  }
}