/* CSS AirStats - Analyse de rentabilité Airbnb par ville */

:root {
  /* Palette de couleurs */
  --yellow-primary: #FFD600;
  --yellow-light: #FFEE95;
  --yellow-gradient: linear-gradient(90deg, var(--yellow-primary) 0%, var(--yellow-light) 100%);
  --black: #222222;
  --gray-dark: #444444;
  --gray-medium: #888888;
  --gray-light: #F8F8F8;
  --blue-primary: #6366F1;
  --blue-neatik: #4947E7;
  --green: #22C55E;
  --orange: #F59E0B;
  --red: #EF4444;
  --white: #FFFFFF;
  
  /* Typographie */
  --font-family: 'Inter', system-ui, sans-serif;
  --font-size-base: 16px;
  --font-size-sm: 14px;
  --font-size-lg: 18px;
  --font-size-xl: 22px;
  --font-size-2xl: 30px;
  --font-size-3xl: 38px;
  --font-size-4xl: 46px;
  
  /* Espacement */
  --spacing-xs: 8px;
  --spacing-sm: 16px;
  --spacing-md: 24px;
  --spacing-lg: 32px;
  --spacing-xl: 48px;
  
  /* Arrondis */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;
}

/* Reset et base */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  line-height: 1.5;
  color: var(--black);
  background-color: var(--white);
}

h1, h2, h3, h4, h5, h6 {
  margin-bottom: var(--spacing-md);
  line-height: 1.2;
}

p {
  margin-bottom: var(--spacing-md);
}

a {
  color: var(--blue-primary);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* Container principal */
.as-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--spacing-md) var(--spacing-xl);
}

/* BLOC 1: Hero Section */
.as-hero {
  background: var(--yellow-gradient);
  border-radius: var(--radius-lg);
  padding: var(--spacing-lg) var(--spacing-xl);
  margin: var(--spacing-lg) 0 var(--spacing-xl);
}

.as-breadcrumb {
  font-size: var(--font-size-sm);
  color: var(--gray-dark);
  margin-bottom: var(--spacing-md);
}

.as-breadcrumb a {
  color: var(--gray-dark);
  text-decoration: none;
}

.as-breadcrumb a:hover {
  text-decoration: underline;
}

.as-hero-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--spacing-xl);
}

.as-hero-text {
  flex: 1;
  max-width: 65%;
}

.as-hero h1 {
  font-size: var(--font-size-3xl);
  font-weight: 800;
  margin-bottom: var(--spacing-md);
  max-width: 550px; /* Force la largeur pour provoquer le retour à la ligne */
}

.as-hero-description {
  font-size: var(--font-size-lg);
  color: var(--gray-dark);
  margin-bottom: var(--spacing-lg);
}

/* Bouton CTA */
.as-cta-button {
  display: inline-block;
  background-color: var(--blue-neatik);
  color: var(--white);
  padding: var(--spacing-sm) var(--spacing-lg);
  border-radius: var(--radius-full);
  font-weight: 600;
  font-size: var(--font-size-lg);
  text-align: center;
  transition: background-color 0.2s, transform 0.1s;
  text-decoration: none;
}

.as-cta-button:hover {
  background-color: #3835c4;
  transform: translateY(-2px);
  text-decoration: none;
}

.as-cta-button:active {
  transform: translateY(0);
}

.as-hero-score {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.as-donut-chart {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: conic-gradient(
    var(--score-color) 0 var(--score-value),
    #E5E5E5 var(--score-value) 360deg
  );
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.as-donut-chart::before {
  content: "";
  position: absolute;
  top: 15px;
  bottom: 15px;
  left: 15px;
  right: 15px;
  border-radius: 50%;
  background: white;
}

.as-donut-value {
  position: relative;
  z-index: 2;
  font-size: var(--font-size-3xl);
  font-weight: 800;
  color: var(--black);
}

.as-score-label {
  margin-top: var(--spacing-xs);
  font-size: var(--font-size-sm);
  color: var(--gray-dark);
}

.as-verdict {
  margin-top: var(--spacing-sm);
  padding: var(--spacing-xs) var(--spacing-md);
  background: var(--white);
  border-radius: var(--radius-full);
  font-weight: 600;
  font-size: var(--font-size-base);
}

/* BLOC 2: Synthèse */
.as-synthesis {
  padding: var(--spacing-lg) 0;
  margin-bottom: var(--spacing-lg);
}

.as-synthesis h2 {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--spacing-lg);
  font-weight: 700;
  max-width: 900px; /* Force la largeur pour le retour à la ligne */
}

.as-synthesis-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
}

.as-synthesis-columns p {
  margin: 0;
  font-size: var(--font-size-base);
  line-height: 1.6;
}

/* BLOC 3: Chiffres */
.as-kpi {
  background-color: var(--gray-light);
  border-radius: var(--radius-lg);
  padding: var(--spacing-xl) var(--spacing-lg);
  margin-bottom: var(--spacing-xl);
}

.as-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: var(--spacing-xl) var(--spacing-lg);
}

.as-kpi .k {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.as-kpi .k b {
  font-size: var(--font-size-2xl);
  font-weight: 800;
  margin-bottom: var(--spacing-xs);
}

.as-kpi .k span {
  font-size: var(--font-size-sm);
  color: var(--gray-medium);
}

/* Responsive */
@media (max-width: 992px) {
  .as-hero h1 {
    font-size: var(--font-size-2xl);
  }
  
  .as-hero-content {
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-lg);
  }
  
  .as-hero-text {
    max-width: 100%;
    text-align: center;
  }
  
  .as-synthesis h2 {
    font-size: var(--font-size-xl);
    text-align: center;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .as-synthesis-columns {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }
  
  .as-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .as-kpi-grid {
    grid-template-columns: 1fr;
  }
}

/* CSS pour la section présentation de la ville - AirStats */

/* Section présentation ville */
.as-city-presentation {
  padding: var(--spacing-xl) 0;
}

.as-city-presentation h2 {
  font-size: var(--font-size-3xl); /* Augmentation de 20% */
  font-weight: 800;
  margin-bottom: var(--spacing-md);
  text-align: center; /* Centré au lieu de justifié à gauche */
  max-width: 100%;
}

.as-city-intro {
  font-size: var(--font-size-lg);
  color: var(--gray-dark);
  margin-bottom: var(--spacing-xl);
  text-align: center; /* Centré au lieu de justifié à gauche */
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Map */
.as-city-map {
  position: relative;
  height: 400px;
  margin-bottom: var(--spacing-xl);
  background-color: #f0f0f0;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.as-static-map {
  width: 100%;
  height: 100%;
  background-color: #E8E8E8;
  background-image: url('data:image/svg+xml;utf8,<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h100v100H0z" fill="%23F8F8F8"/><path fill="%23E0E0E0" d="M0 40h100v20H0z"/><path fill="%23E0E0E0" d="M40 0h20v100H40z"/></svg>');
  background-size: 50px 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.as-map-overlay {
  position: relative;
  text-align: center;
}

.as-map-pin {
  width: 20px;
  height: 20px;
  background-color: var(--blue-neatik);
  border-radius: 50%;
  margin: 0 auto var(--spacing-xs);
  position: relative;
}

.as-map-pin:after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 5px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 10px solid var(--blue-neatik);
}

.as-map-label {
  font-weight: 600;
  font-size: var(--font-size-lg);
  color: var(--black);
}

/* Description ville */
.as-city-presentation h3 {
  font-size: calc(var(--font-size-xl) * 1.2); /* Augmentation de 20% */
  font-weight: 700;
  margin-bottom: var(--spacing-lg);
  max-width: 550px; /* Force le passage sur deux lignes */
}

.as-city-description {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  margin-bottom: var(--spacing-xl);
}

.as-city-description p {
  margin: 0;
  line-height: 1.7;
  font-size: var(--font-size-base);
}

/* Cards touristiques */
.as-tourist-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-xl); /* Augmenté pour plus d'espace avant les chiffres */
}

.as-card {
  border-radius: var(--radius-xl); /* Augmenté pour des angles plus arrondis */
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  box-shadow: none; /* Suppression des ombres */
  min-height: 380px; /* Augmenté d'environ 15% */
}

/* Card 1 - Gauche (Saisonnalité) */
.as-tourist-cards .as-card:nth-child(1) {
  background-color: #F7F7F7;
}

/* Card 2 - Milieu (Nombre de touristes) */
.as-tourist-cards .as-card:nth-child(2) {
  background-color: var(--yellow-primary);
}

/* Card 3 - Droite (Profil des touristes) */
.as-tourist-cards .as-card:nth-child(3) {
  background-color: #F7F7F7;
}

.as-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-md);
}

.as-card-icon {
  display: flex;
  width: 40px;
  height: 40px;
  background-color: var(--red); /* Sera remplacé par du bleu pour nous */
  color: white;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.as-tourist-cards .as-card:nth-child(1) .as-card-icon {
  background-color: var(--blue-neatik); /* Remplacer le rouge par le bleu */
}

.as-tourist-cards .as-card:nth-child(3) .as-card-icon {
  background-color: var(--blue-neatik); /* Remplacer le rouge par le bleu */
}

.as-card-year {
  background-color: white;
  border: 1px solid #E0E0E0;
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-full);
  font-size: var(--font-size-sm);
  font-weight: 500;
}

.as-card-chart {
  height: 200px; /* Augmenté pour s'adapter à la carte plus haute */
  margin-bottom: var(--spacing-md);
}

.as-card-tourists {
  height: 200px; /* Augmenté pour s'adapter à la carte plus haute */
  margin-bottom: var(--spacing-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.as-tourists-bars {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  height: 140px; /* Augmenté pour s'adapter à la carte plus haute */
}

.as-tourists-bar {
  width: 20%;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}

.as-tourists-bar-inner {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}

.as-tourists-bar-year {
  font-size: var(--font-size-sm);
  color: rgba(0, 0, 0, 0.6);
  margin-top: 8px;
}

.as-card-donut {
  height: 200px; /* Augmenté pour s'adapter à la carte plus haute */
  margin-bottom: var(--spacing-md);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.as-card h4 {
  font-size: calc(var(--font-size-lg) * 1.3); /* Augmentation de 30% */
  font-weight: 700;
  margin-bottom: var(--spacing-xs);
}

.as-card-description {
  color: var(--gray-medium);
  margin-bottom: 0;
  font-size: var(--font-size-sm);
}

/* Suppression des highlights dans les cartes */
.as-card-highlight {
  display: none;
}

/* Grands chiffres sous les cartes */
.as-tourist-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-xl);
  text-align: center;
  margin-top: var(--spacing-xl); /* Ajout de marge supplémentaire après les cartes */
}

.as-stat-value {
  font-size: var(--font-size-4xl);
  font-weight: 900;
  margin-bottom: var(--spacing-xs);
  line-height: 1.1;
}

.as-stat-description {
  font-size: var(--font-size-sm);
  color: var(--gray-medium);
  max-width: 80%;
  margin: 0 auto;
}

/* Responsive */
@media (max-width: 992px) {
  .as-tourist-cards,
  .as-tourist-stats {
    grid-template-columns: 1fr 1fr;
  }
  
  .as-city-presentation h2,
  .as-city-presentation h3 {
    max-width: 100%;
    text-align: center;
  }
  
  .as-city-intro {
    max-width: 100%;
  }
  
  .as-tourist-cards .as-card:nth-child(3) {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .as-city-description {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }
  
  .as-tourist-stats {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px) {
  .as-tourist-cards {
    grid-template-columns: 1fr;
  }
  
  .as-tourist-cards .as-card:nth-child(3) {
    grid-column: auto;
  }
  
  .as-city-map {
    height: 300px;
  }
  
  .as-stat-value {
    font-size: var(--font-size-3xl);
  }
}

/* CSS pour la section réglementation - AirStats */

/* Section réglementation */
.as-regulation {
  padding: var(--spacing-xl) 0;
}

.as-regulation h2 {
  font-size: var(--font-size-3xl);
  font-weight: 800;
  margin-bottom: var(--spacing-lg);
  text-align: center;
}

.as-regulation-container {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: var(--spacing-xl);
  background-color: #F7F7F7;
  border-radius: var(--radius-xl);
  padding: var(--spacing-xl);
  margin-bottom: var(--spacing-lg);
}

/* Indicateur de niveau */
.as-regulation-level {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.as-regulation-gauge {
  position: relative;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: #E5E5E5;
  margin-bottom: var(--spacing-md);
  display: flex;
  align-items: center;
  justify-content: center;
  background: conic-gradient(
    var(--color) 0 var(--percentage),
    #E5E5E5 var(--percentage) 360deg
  );
}

.as-regulation-gauge::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 20px;
  right: 20px;
  border-radius: 50%;
  background: white;
}

.as-regulation-percentage {
  position: relative;
  z-index: 2;
  font-size: var(--font-size-3xl);
  font-weight: 800;
  color: var(--black);
}

.as-regulation-level h3 {
  font-size: var(--font-size-xl);
  font-weight: 700;
  margin-bottom: var(--spacing-xs);
  color: var(--color, var(--black));
}

.as-regulation-update {
  font-size: var(--font-size-sm);
  color: var(--gray-medium);
}

/* Règles détaillées */
.as-regulation-rules {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: minmax(100px, auto);
  gap: var(--spacing-lg);
}

.as-rule {
  display: flex;
  align-items: flex-start;
  background: white;
  border-radius: var(--radius-lg);
  padding: var(--spacing-md);
}

.as-rule-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  background-color: var(--rule-color, #CCCCCC);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-right: var(--spacing-md);
}

.as-rule-content {
  flex: 1;
}

.as-rule-content h4 {
  font-size: var(--font-size-base);
  font-weight: 700;
  margin-bottom: var(--spacing-xs);
}

.as-rule-content p {
  font-size: var(--font-size-sm);
  color: var(--gray-dark);
  margin: 0;
}

/* Notes et sources */
.as-regulation-notes {
  background-color: #FFF0AA;
  border-radius: var(--radius-md);
  padding: var(--spacing-md);
  margin-bottom: var(--spacing-md);
}

.as-regulation-notes p {
  margin: 0;
}

.as-regulation-source {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-top: var(--spacing-md);
}

.as-source-link {
  display: inline-block;
  background-color: var(--blue-neatik);
  color: var(--white);
  padding: var(--spacing-sm) var(--spacing-lg);
  border-radius: var(--radius-full);
  font-weight: 600;
  font-size: var(--font-size-base);
  margin-bottom: var(--spacing-md);
  transition: background-color 0.2s, transform 0.1s;
}

.as-source-link:hover {
  background-color: #3835c4;
  transform: translateY(-2px);
  text-decoration: none;
  color: var(--white);
}

.as-regulation-disclaimer {
  font-size: var(--font-size-sm);
  color: var(--gray-medium);
  max-width: 600px;
}

/* Responsive */
@media (max-width: 992px) {
  .as-regulation-container {
    grid-template-columns: 1fr;
  }
  
  .as-regulation-level {
    margin-bottom: var(--spacing-lg);
  }
  
  .as-regulation-rules {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .as-regulation h2 {
    font-size: var(--font-size-2xl);
  }
  
  .as-regulation-gauge {
    width: 180px;
    height: 180px;
  }
}

@media (max-width: 480px) {
  .as-rule {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  
  .as-rule-icon {
    margin-right: 0;
    margin-bottom: var(--spacing-sm);
  }
}

/* CSS pour les sections Services et Neatik - AirStats */

/* Section Services */
.as-services {
  padding: var(--spacing-xl) 0;
}

.as-services h2 {
  font-size: var(--font-size-3xl);
  font-weight: 800;
  margin-bottom: var(--spacing-md);
  text-align: center;
}

.as-services-intro {
  text-align: center;
  max-width: 700px;
  margin: 0 auto var(--spacing-xl);
  color: var(--gray-dark);
  font-size: var(--font-size-lg);
}

/* Grille des services */
.as-services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-xl);
}

.as-service-card {
  background-color: white;
  border-radius: var(--radius-lg);
  padding: var(--spacing-lg);
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s, box-shadow 0.3s;
  cursor: pointer;
}

.as-service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.as-service-icon {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  margin: 0 auto var(--spacing-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
}

.as-service-card h3 {
  font-size: var(--font-size-lg);
  font-weight: 700;
  margin-bottom: var(--spacing-xs);
}

.as-service-card p {
  color: var(--gray-medium);
  font-size: var(--font-size-sm);
  margin: 0;
}

/* Modal */
.as-service-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  justify-content: center;
  align-items: center;
}

.as-modal-content {
  background-color: white;
  padding: var(--spacing-xl);
  border-radius: var(--radius-lg);
  width: 100%;
  max-width: 500px;
  position: relative;
}

.as-modal-close {
  position: absolute;
  top: var(--spacing-md);
  right: var(--spacing-md);
  font-size: 28px;
  font-weight: 700;
  cursor: pointer;
  color: var(--gray-medium);
}

.as-modal-details {
  margin-top: var(--spacing-lg);
}

.as-modal-details p {
  margin-bottom: var(--spacing-sm);
}

/* CSS ajusté pour la section Neatik - AirStats */

/* CSS finalisé pour la section Neatik - AirStats */

/* Section Neatik */
.as-neatik-cleaning {
  padding: var(--spacing-xl) 0;
  margin-bottom: var(--spacing-xl);
}

.as-neatik-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: var(--spacing-md);
  position: relative;
}

.as-neatik-badge {
  display: block;
  color: var(--gray-dark);
  font-size: var(--font-size-sm);
  margin-bottom: var(--spacing-xs);
  text-align: left;
}

.as-neatik-title {
  text-align: right;
  max-width: 700px;
}

.as-neatik-header h2 {
  font-size: calc(var(--font-size-2xl) * 1.2); /* Augmentation de 20% */
  font-weight: 800;
  line-height: 1.3;
  margin: 0;
  text-align: right;
  display: inline-block; /* Pour l'alignement en drapeau */
  text-align-last: right; /* Pour que la dernière ligne reste alignée à droite */
}

.as-text-highlight {
  color: var(--gray-medium);
  font-weight: 400;
}

/* Ligne de séparation */
.as-neatik-divider {
  height: 1px;
  background-color: #E0E0E0;
  margin: var(--spacing-md) 0 var(--spacing-xl);
  width: 100%;
}

/* Stats */
.as-neatik-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-xl);
  margin-bottom: var(--spacing-xl);
}

.as-stat-block {
  text-align: left;
}

.as-stat-value {
  font-size: 56px;
  font-weight: 800;
  margin-bottom: var(--spacing-xs);
  line-height: 1;
}

.as-stat-description {
  color: var(--gray-medium);
  font-size: var(--font-size-sm);
  margin: 0;
  max-width: 90%;
}

/* Showcase - Nouvelle structure en 3 colonnes */
.as-neatik-showcase {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--spacing-lg);
  align-items: start;
}

/* Colonne de gauche - Texte */
.as-showcase-text {
  padding-right: var(--spacing-md);
}

.as-showcase-text h3 {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: var(--spacing-lg);
  line-height: 1.2;
}

.as-benefits-list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--spacing-lg);
}

.as-benefits-list li {
  margin-bottom: var(--spacing-sm);
  padding-left: 30px;
  position: relative;
}

.as-benefits-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--black);
  font-weight: bold;
}

/* Colonne du milieu - Image principale */
.as-showcase-main {
  display: flex;
  justify-content: center;
  align-items: center;
}

.as-image-main {
  height: 380px;
  width: 100%; /* Occupe toute la largeur disponible */
  background-color: #F0F0F0;
  border-radius: 12px;
}

/* Colonne de droite - Image secondaire et texte */
.as-showcase-secondary {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
}

.as-image-secondary {
  width: 100%;
  height: 180px;
  border-radius: 12px;
  background-color: #F0F0F0;
  margin-bottom: var(--spacing-md);
}

.as-showcase-info {
  margin-bottom: var(--spacing-lg);
}

.as-showcase-info p {
  color: var(--gray-dark);
  font-size: var(--font-size-sm);
  margin: 0 0 var(--spacing-md);
}

.as-neatik-cta {
  display: inline-block; /* Adapte la largeur au contenu */
  background-color: var(--blue-neatik);
  color: white;
  font-size: var(--font-size-base);
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 30px;
  text-decoration: none;
  transition: background-color 0.2s;
  width: auto; /* Adapte la largeur au contenu */
}

.as-neatik-cta:hover {
  background-color: #3835c4;
  text-decoration: none;
  color: white;
}

/* Responsive */
@media (max-width: 992px) {
  .as-neatik-header {
    flex-direction: column;
  }
  
  .as-neatik-badge {
    margin-bottom: var(--spacing-md);
  }
  
  .as-neatik-title {
    text-align: left;
    max-width: 100%;
  }
  
  .as-neatik-header h2 {
    text-align: left;
    display: block;
  }
  
  .as-neatik-stats {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }
  
  .as-neatik-showcase {
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
  }
  
  .as-showcase-main {
    order: 2;
  }
  
  .as-showcase-secondary {
    order: 3;
  }
  
  .as-showcase-text {
    order: 1;
    padding-right: 0;
  }
}

@media (max-width: 768px) {
  .as-neatik-header h2 {
    font-size: calc(var(--font-size-xl) * 1.2);
  }
  
  .as-showcase-text h3 {
    font-size: 22px;
  }
  
  .as-stat-value {
    font-size: 42px;
  }
}

/* Correction pour le bouton CTA */

.as-neatik-cta {
  display: inline-block;
  background-color: var(--blue-neatik);
  color: white;
  font-size: var(--font-size-base);
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 30px;
  text-decoration: none;
  transition: background-color 0.2s;
  width: auto;
  max-width: fit-content; /* Force le bouton à s'adapter à son contenu */
}

/* Ajout au cas où l'élément parent forcerait la largeur */
.as-showcase-secondary {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  align-items: flex-start; /* Aligne les éléments à gauche */
}

/* Conteneur spécifique pour le bouton */
.as-cta-container {
  display: block;
  width: auto;
  margin-top: var(--spacing-md);
}

/* CSS pour la section scoring finale - AirStats */

/* Container principal */
.as-scoring-analysis {
  padding: var(--spacing-xl) 0;
  max-width: 1140px;
  margin: 0 auto;
}

/* Grand bloc principal contenant tout - sans ombre */
.as-analysis-container {
  background-color: #F7F7F7;
  border-radius: var(--radius-xl);
  overflow: hidden;
  margin-bottom: var(--spacing-xl);
}

/* Titre H2 et texte introductif */
.as-analysis-intro {
  padding: var(--spacing-lg);
  border-bottom: 1px solid #E5E7EB;
}

.as-analysis-intro h2 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: var(--spacing-md);
  color: var(--black);
}

.as-intro-text {
  color: var(--gray-dark);
  font-size: var(--font-size-base);
  line-height: 1.6;
}

.as-intro-text p {
  margin-bottom: var(--spacing-sm);
}

.as-intro-text p:last-child {
  margin-bottom: 0;
}

/* En-tête avec IOP et Critères */
.as-analysis-header {
  background-color: #FFFFFF;
  border-radius: var(--radius-lg);
  margin: var(--spacing-lg);
  padding: var(--spacing-lg);
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--spacing-xl);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}

/* Style de l'indicateur IOP */
.as-iop-indicator {
  background-color: #E0F2FE;
  border-radius: var(--radius-lg);
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.as-iop-label {
  font-size: var(--font-size-sm);
  color: var(--gray-dark);
  margin-bottom: var(--spacing-xs);
  font-weight: 500;
}

.as-iop-value {
  font-size: 60px;
  font-weight: 800;
  color: #4F46E5; /* Couleur bleu Neatik */
  line-height: 1;
}

.as-iop-value span {
  font-size: 24px;
  font-weight: 500;
  color: var(--gray-medium);
}

/* Liste des critères */
.as-criteria-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  padding: var(--spacing-sm) 0;
}

/* Item de critère avec barre de progression */
.as-criterion-item {
  display: grid;
  grid-template-columns: 1fr 2fr 0.5fr;
  align-items: center;
  gap: var(--spacing-sm);
  position: relative;
}

.as-criterion-name {
  font-size: var(--font-size-sm);
  font-weight: 600;
  white-space: nowrap;
}

.as-progress-container {
  height: 12px;
  background-color: #E5E7EB;
  border-radius: 6px;
  overflow: hidden;
}

.as-progress-bar {
  height: 100%;
  background-color: #4F46E5; /* Couleur bleu Neatik */
  border-radius: 6px;
}

.as-criterion-score {
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--gray-dark);
  text-align: right;
}

/* Tooltip pour la description des critères */
.as-criterion-tooltip {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  background-color: #1E293B;
  color: white;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: var(--font-size-xs);
  width: max-content;
  max-width: 300px;
  z-index: 10;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}

.as-criterion-tooltip::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 20px;
  border-width: 6px;
  border-style: solid;
  border-color: transparent transparent #1E293B transparent;
}

.as-criterion-item:hover .as-criterion-tooltip {
  opacity: 1;
  visibility: visible;
}

/* Contenu principal */
.as-analysis-content {
  padding: 0 var(--spacing-lg) var(--spacing-lg);
}

/* Sections dans le contenu */
.as-analysis-section {
  margin-bottom: var(--spacing-xl);
}

.as-section-title {
  font-size: var(--font-size-lg);
  font-weight: 700;
  margin-bottom: var(--spacing-md);
  color: var(--black);
}

/* Grille pour la synthèse */
.as-synthesis-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
}

.as-synthesis-item {
  background-color: white;
  border-radius: var(--radius-lg);
  padding: var(--spacing-md);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-sm);
}

.as-synthesis-number {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #4F46E5;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  flex-shrink: 0;
}

.as-synthesis-content {
  flex: 1;
}

.as-synthesis-title {
  font-weight: 700;
  margin-bottom: var(--spacing-xs);
  font-size: var(--font-size-base);
}

.as-synthesis-text {
  font-size: var(--font-size-sm);
  color: var(--gray-dark);
}

/* Grille pour les recommandations */
.as-recommendations-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
}

.as-recommendation-item {
  background-color: white;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.as-recommendation-header {
  padding: var(--spacing-sm) var(--spacing-md);
  color: white;
  position: relative;
}

.as-recommendation-header h4 {
  font-size: var(--font-size-base);
  font-weight: 700;
  margin: 0;
  padding-left: 28px; /* Pour laisser de la place à l'icône */
}

.as-recommendation-header::before {
  content: '';
  width: 20px;
  height: 20px;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.as-recommendation-header.status-positive {
  background-color: #22C55E;
}

.as-recommendation-header.status-warning {
  background-color: #F59E0B;
}

.as-recommendation-header.status-negative {
  background-color: #EF4444;
}

.as-recommendation-header.status-positive::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}

.as-recommendation-header.status-warning::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'%3E%3C/path%3E%3Cline x1='12' y1='9' x2='12' y2='13'%3E%3C/line%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'%3E%3C/line%3E%3C/svg%3E");
}

.as-recommendation-header.status-negative::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
}

.as-recommendation-content {
  padding: var(--spacing-md);
}

.as-recommendation-content p {
  margin: 0;
  font-size: var(--font-size-sm);
  color: var(--gray-dark);
}

/* CTA en dehors du bloc */
.as-action-cta-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: var(--spacing-xl) 0;
}

.as-action-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm);
  background-color: #4F46E5;
  color: white;
  padding: var(--spacing-sm) var(--spacing-lg);
  border-radius: 50px;
  font-weight: 600;
  font-size: var(--font-size-lg);
  text-decoration: none;
  transition: transform 0.2s, background-color 0.2s;
  margin-bottom: var(--spacing-sm);
}

.as-action-cta:hover {
  transform: translateY(-2px);
  background-color: #4338CA;
  text-decoration: none;
  color: white;
}

.as-cta-arrow {
  font-size: 20px;
}

.as-cta-description {
  font-size: var(--font-size-sm);
  color: var(--gray-medium);
}

/* Responsive */
@media (max-width: 992px) {
  .as-analysis-header {
    grid-template-columns: 1fr;
  }
  
  .as-synthesis-grid,
  .as-recommendations-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .as-analysis-header {
    margin: var(--spacing-md);
    padding: var(--spacing-md);
  }
  
  .as-analysis-content {
    padding: 0 var(--spacing-md) var(--spacing-md);
  }
  
  .as-iop-value {
    font-size: 48px;
  }
  
  .as-criterion-item {
    grid-template-columns: 1fr 1.5fr 0.5fr;
  }
}

/* AirStats - Thème Inkwell (violet/rose/bleu) */

/* Redéfinition des variables de couleur principales */
:root {
  /* Nouvelle palette Inkwell */
  --primary-gradient: linear-gradient(135deg, #8A64F6 0%, #E289F2 50%, #6366F1 100%);
  --primary-color: #8A64F6;      /* Violet principal */
  --secondary-color: #E289F2;    /* Rose */
  --accent-color: #6366F1;       /* Bleu accent */
  --background-light: #F9F5FF;   /* Fond très léger violet */
  --background-darker: #F0E6FF;  /* Fond léger violet plus prononcé */
}

/* Hero Section - Fond dégradé violet/rose/bleu à la place du jaune */
.as-hero {
  background: var(--primary-gradient);
  box-shadow: 0 10px 25px rgba(138, 100, 246, 0.15);
}

/* Ajustements du texte en blanc dans la hero section */
.as-hero h1, 
.as-hero-description {
  color: white;
}

.as-hero-description {
  opacity: 0.9;
}

/* Modification du bouton CTA - Style inversé */
.as-cta-button {
  background-color: white;
  color: var(--primary-color);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.as-cta-button:hover {
  background-color: white;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

/* Ajustements du donut et verdict */
.as-score-label {
  color: white;
  opacity: 0.9;
}

.as-verdict {
  background: white;
  color: var(--primary-color);
}

/* Ajustement du donut chart pour meilleur contraste */
.as-donut-chart {
  background: conic-gradient(
    var(--score-color) 0 var(--score-value),
    rgba(255, 255, 255, 0.3) var(--score-value) 360deg
  );
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* Modification de la box de fréquentation touristique */
.as-tourist-cards .as-card:nth-child(2) {
  background: var(--primary-gradient);
  color: white;
}

/* Fond et icônes des autres cards */
.as-tourist-cards .as-card:nth-child(1),
.as-tourist-cards .as-card:nth-child(3) {
  background-color: var(--background-light);
}

.as-tourist-cards .as-card:nth-child(1) .as-card-icon,
.as-tourist-cards .as-card:nth-child(3) .as-card-icon {
  background-color: var(--accent-color);
}

/* Effets d'élévation sur les cards */
.as-card {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

/* Titres des sections avec effet dégradé */
.as-synthesis h2, 
.as-city-presentation h2, 
.as-regulation h2,
.as-services h2,
.as-neatik-cleaning h2,
.as-scoring-analysis h2 {
  background: var(--primary-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  display: inline-block;
}

/* Autres éléments adaptés au thème Inkwell */
.as-neatik-cta {
  background: var(--primary-gradient);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.as-neatik-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

/* Effet global de transition douce */
*, *::before, *::after {
  transition: all 0.3s ease;
}

/* Arrière-plan global */
body {
  background-color: var(--background-light);
}

.as-wrap {
  background-color: white;
  border-radius: var(--radius-lg);
  box-shadow: 0 5px 20px rgba(138, 100, 246, 0.05);
}

/* CORRECTION: Suppression de l'effet d'ombre sur le conteneur global */
body {
  background-color: white;
}

.as-wrap {
  background-color: transparent;
  border-radius: 0;
  box-shadow: none;
}

/* Les autres titres H2 (non centrés) restent en noir */
.as-synthesis h2, 
.as-city-presentation h2, 
.as-regulation h2,
.as-services h2,
.as-neatik-cleaning h2,
.as-scoring-analysis h2,
.as-neatik-header h2 {
  color: #222222; /* Noir standard */
  background: none;
  -webkit-text-fill-color: initial;
  text-fill-color: initial;
}

/* Restauration du style original pour l'accroche du Service Neatik */
.as-neatik-header h2 {
  color: #222222; /* Noir standard */
}

.as-text-highlight {
  color: var(--gray-medium);
  font-weight: 400;
}

/* NOUVELLE CORRECTION: Centrage des titres H2 de Réglementation et Services */
.as-regulation h2,
.as-services h2 {
  text-align: center;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* CORRECTION: Tous les textes dans la carte dégradée de fréquentation touristique en blanc */
.as-tourist-cards .as-card:nth-child(2) h4,
.as-tourist-cards .as-card:nth-child(2) .as-card-description,
.as-tourist-cards .as-card:nth-child(2) p {
  color: white !important;
}

/* Pour les années dans la barre (boutons) */
.as-tourist-cards .as-card:nth-child(2) .as-tourists-bar-year {
  color: black;
}

.as-recommendation-header.gradient-1 {
  background: linear-gradient(135deg, #8A64F6 0%, #E289F2 50%, #6366F1 100%);
}

.as-recommendation-header.gradient-2 {
  background: linear-gradient(135deg, #6366F1 0%, #8A64F6 50%, #E289F2 100%);
}

.as-recommendation-header.gradient-3 {
  background: linear-gradient(135deg, #E289F2 0%, #6366F1 50%, #8A64F6 100%);
}

/* Remplacer les couleurs de statut par des dégradés */
.as-recommendation-header.status-positive {
  background: linear-gradient(135deg, #8A64F6 0%, #E289F2 50%, #6366F1 100%) !important;
}

.as-recommendation-header.status-warning {
  background: linear-gradient(135deg, #6366F1 0%, #8A64F6 50%, #E289F2 100%) !important;
}

.as-recommendation-header.status-negative {
  background: linear-gradient(135deg, #E289F2 0%, #6366F1 50%, #8A64F6 100%) !important;
}

/* S'assurer que le texte reste blanc */
.as-recommendation-header h4 {
  color: white !important;
}

/* Petit "i" */
.as-help{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  font-size:12px;font-weight:700;line-height:1;
  background:#ECEFF3;color:#555;margin-left:8px;
  cursor:help;position:relative;outline:none;
}

/* Bulle */
.as-help::after{
  content:attr(data-tooltip);
  position:absolute; left:50%; transform:translateX(-50%) translateY(-6px);
  bottom:100%; /* au-dessus du i */
  max-width:280px; padding:10px 12px; border-radius:10px;
  background:#111; color:#fff; font-size:12px; line-height:1.4;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  opacity:0; visibility:hidden; pointer-events:none; z-index:50;
  transition:opacity .15s ease, visibility .15s ease, transform .15s ease;
}

/* Petite flèche */
.as-help::before{
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  bottom:100%; border:6px solid transparent; border-top-color:#111;
  margin-bottom:-2px; opacity:0; visibility:hidden; z-index:51;
  transition:opacity .15s ease, visibility .15s ease;
}

/* Affichage au survol / focus clavier / tap mobile */
.as-help:hover::after,
.as-help:focus::after,
.as-help:hover::before,
.as-help:focus::before{
  opacity:1; visibility:visible;
  transform:translateX(-50%) translateY(-10px);
}

/* Si le conteneur clippe le tooltip, on autorise le dépassement */
.as-kpi, .as-kpi-grid, .as-kpi .k{ overflow:visible; }


/* gestion de l'affichage de la map */
.as-city-map{height:400px;border-radius:var(--radius-lg);overflow:hidden;background:#E8E8E8}
.as-map-fallback{display:flex;align-items:center;justify-content:center;color:#444}
.as-map-fallback .pin{
  width:14px;height:14px;border-radius:50%;background:#4947E7;display:inline-block;margin-right:8px;position:relative
}
.as-map-fallback .pin:after{
  content:"";position:absolute;left:5px;bottom:-10px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:10px solid #4947E7
}

/* chips + header */
.as-chip{padding:6px 12px;border:1px solid #e5e7eb;border-radius:9999px;font-size:12px;font-weight:600;background:#fff}
.as-card-gradient{background:linear-gradient(135deg,#8A64F6 0%,#E289F2 50%,#6366F1 100%);color:#fff}
.as-card-light{background:#F7F7F7}

/* zone chart + KPI large dans la carte */
.as-card-chart{position:relative;height:220px;margin-bottom:12px}
.as-card-chart--season{height:240px}
.as-big-kpi{position:absolute;top:14px;left:14px;font-weight:800;font-size:32px;line-height:1}
.as-chart-edge{position:absolute;bottom:6px;font-size:12px;color:#6b7280}
.as-chart-edge--left{left:10px}
.as-chart-edge--right{right:10px}

/* bloc visuel profil dominant */
.as-card-dominant{display:flex;flex-direction:column;align-items:center;justify-content:center;height:220px}
.as-card-dominant img{max-height:160px;max-width:100%;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.12))}
.as-dominant-caption{margin-top:8px;font-weight:600;font-size:14px;text-align:center}

/* Chip lisible sur fond dégradé */
.as-chip{
  background:#fff;
  color:#0f172a !important;   /* noir */
  border:1px solid #ECECF2;
  padding:6px 12px;
  border-radius:9999px;
  font-weight:600;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

/* Zone haute commune à toutes les cards (graphe/image) */
.as-card-media{ min-height: 220px; }   /* ajuste 200–260 si besoin */
.as-card h4{ margin-top: 16px; }       /* même top-spacing partout */

.as-metric{ text-align:center; }
.as-metric-value{ font-size: clamp(28px, 5vw, 56px); font-weight:800; color:#111827; }
.as-metric-caption{ color:#6b7280; margin-top:6px; }

/* Nettoyage du KPI "0% (Mixte)" */
.as-metric-value--trip .num {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111827 !important; /* noir standard */
}

/* Neatik showcase images */
.as-image-main,
.as-image-secondary{
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background:#f0f0f0;
}

/* heights (keep your values if you already set them) */
.as-image-main{ height: 380px; }        /* ≈ 3:2 */
.as-image-secondary{ height: 200px; }    /* ≈ 16:9 */

/* make the <img> fill the box */
.as-image-main img,
.as-image-secondary img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 0;
  box-shadow: none;
  background: transparent;
}

/* if you previously styled .as-img, neutralize any max-width: */
.as-img{ max-width:none; }

.as-city-h2 {
  text-align: center;
  width: 100%;
  display: block;
  margin: 0 auto 0.5em auto;
}

/* CSS à ajouter */
.as-chart-edge {
  display: none !important;
}

/* CSS à ajouter */
.as-stat-value {
  text-align: center;
  width: 100%;
  display: block;
}

.as-stat-description {
  text-align: center;
  width: 100%;
  display: block;
}

.as-tourist-stats > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
}

/* Corrections AirStats - Novembre 2025 */

/* 1. Suppression des doublons Jan/Dec */
.as-chart-edge {
  display: none !important;
}

/* 2. Centrage des KPI */
.as-stat-value, .as-metric-value {
  text-align: center;
  width: 100%;
  display: block;
  margin-bottom: 5px;
}

.as-tourist-stats > div, .as-metric {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* 3. Format pour "28 % International" - Version finale */
.as-international-stat {
  display: flex;
  align-items: baseline;
  justify-content: center;
  line-height: 1;
}

.as-international-stat .value {
  font-size: 3.5rem;
  font-weight: 700;
}

.as-international-stat .unit {
  font-size: 1.2rem;
  margin-left: 0.2rem;
}

.as-international-stat .label {
  font-size: 0.9rem;
  margin-left: 0.4rem;
  color: var(--gray-medium);
}

/* Harmonisation du texte descriptif */
.as-metric-caption, .as-stat-description {
  font-size: 0.9rem;
  color: var(--gray-medium);
  text-align: center;
  width: 100%;
  display: block;
  max-width: 90%;
  margin: 0 auto;
}

/* Support responsive */
@media (max-width: 768px) {
  .as-international-stat .value {
    font-size: 2.5rem;
  }
  
  .as-international-stat .unit {
    font-size: 1rem;
  }
  
  .as-international-stat .label {
    font-size: 0.8rem;
  }
  
  .as-metric-caption, .as-stat-description {
    font-size: 0.8rem;
  }
}

/* Ajout de marge entre le pourcentage et la description */
.as-international-stat {
  margin-bottom: 8px; /* Ajustez cette valeur pour augmenter l'espace */
}

/* Styles pour les barres de progression avec dégradé */
.score-gradient {
  background: linear-gradient(to right, 
    #FF4136 0%, /* Rouge */
    #FF851B 40%, /* Orange */
    #2ECC40 100% /* Vert */
  ) !important; /* Important pour remplacer le style inline */
  position: relative;
}

/* Masque pour contrôler la dominance des couleurs selon le score */
.score-gradient::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to right,
    rgba(255, 65, 54, 0.7) 0%, /* Rouge semi-transparent */
    rgba(255, 133, 27, 0.7) 40%, /* Orange semi-transparent */
    rgba(46, 204, 64, 0.7) 100% /* Vert semi-transparent */
  );
  opacity: 0.8;
  z-index: 1;
  /* La position du dégradé sera ajustée par JavaScript */
  background-position-x: var(--gradient-position, 0%);
}

/* Ajout pour préserver les coins arrondis */
.score-gradient {
  background: linear-gradient(to right, 
    #FF4136 0%, /* Rouge */
    #FF851B 40%, /* Orange */
    #2ECC40 100% /* Vert */
  ) !important;
  position: relative;
  border-radius: 4px; /* S'assurer que la barre a des coins arrondis */
  overflow: hidden; /* Important pour que le pseudo-élément ne dépasse pas */
}

.score-gradient::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to right,
    rgba(255, 65, 54, 0.7) 0%,
    rgba(255, 133, 27, 0.7) 40%,
    rgba(46, 204, 64, 0.7) 100%
  );
  opacity: 0.8;
  z-index: 1;
  background-position-x: var(--gradient-position, 0%);
  border-radius: 4px; /* Ajouter des coins arrondis au pseudo-élément également */
}

/* Pour les barres avec gradient personnalisé */
.score-gradient.custom-gradient::before {
  display: none; /* On n'a plus besoin du pseudo-élément */
}

.score-gradient {
  border-radius: 4px; /* Assurer des coins arrondis */
  overflow: hidden;
}

