/* Appliquer Inter à tout le site */
body {
    font-family: 'Inter', Arial, sans-serif;
    font-weight: 400;
    line-height: 1.6;
    color: #222;
}

body, html {
    overflow-y: auto !important;
}

/* Titres un peu plus lourds */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Inter', Arial, sans-serif;
    font-weight: 600;
    line-height: 1.3;
}

/* Paragraphes */
p, li, span, td {
    font-family: 'Inter', Arial, sans-serif;
    font-weight: 400;
    line-height: 1.5;
}

/* ===== Fond uniquement pour Feature News ===== */
.elementor-widget-barfii-grid-caro {
    background-color: #fff8f5;
    padding: 15px 20px;
    border-radius: 8px;
}

/* ===== Slides et espacement ===== */
.elementor-widget-barfii-grid-caro .btourq-post-item {
    width: 340px;          /* largeur fixe */
    flex: 0 0 auto;
    margin-right: 15px;    /* espace entre les slides */
}

/* ===== Images uniformisées ===== */
.elementor-widget-barfii-grid-caro .btourq-post-item .barfii_post__img {
    height: 240px;
    overflow: hidden;
}

.elementor-widget-barfii-grid-caro .btourq-post-item .barfii_post__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ===== Contenu texte et badges ===== */
.elementor-widget-barfii-grid-caro .barfii_post__content {
    padding: 10px;
}

.elementor-widget-barfii-grid-caro .barfii_post__content h4 {
    font-size: 14px;
    line-height: 1.3;
    margin: 5px 0;
}

.elementor-widget-barfii-grid-caro .barfii_post__content .barfii-cate-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 3px;
    color: #fff;
}

/* ===== Pagination / navigation ===== */
.elementor-widget-barfii-grid-caro .swiper-button-next,
.elementor-widget-barfii-grid-caro .swiper-button-prev {
    color: #222;
}

.elementor-widget-barfii-grid-caro .swiper-pagination-bullet {
    background: #222;
    opacity: 0.3;
}

.elementor-widget-barfii-grid-caro .swiper-pagination-bullet-active {
    opacity: 1;
}

/* ===== Titres Feature News - taille et police identiques à Btourq ===== */
.elementor-widget-barfii-grid-caro .barfii_post__content h4 {

    font-size: 20px;       /* taille identique */
    font-weight: 600;      /* gras moyen */
    line-height: 1.4;      /* espace vertical confortable */
    margin: 5px 0 8px 0;   /* marge top/bottom */
}

/* Cacher les chiffres sur les slides */
.elementor-widget-barfii-grid-caro .b-count {
    display: none;
}


/* ===== Responsive ===== */
@media (max-width: 992px) {
    .elementor-widget-barfii-grid-caro .btourq-post-item {
        width: 45%;
    }
}

@media (max-width: 768px) {
    .elementor-widget-barfii-grid-caro .btourq-post-item {
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
    }
}




.editor-choice-swiper .btourq-post-item {
  flex: 0 0 auto;
  margin-right: 15px;
}

.editor-choice-swiper .btourq-post-item .barfii_post__img {
  height: 240px;
  overflow: hidden;
}

.editor-choice-swiper .btourq-post-item .barfii_post__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.city-title{
text-align:center;
margin-bottom:20px;
}

.city-meta{
display:flex;
justify-content:center;
gap:40px;
margin-bottom:30px;
}

.city-stat{
text-align:center;
font-size:14px;
}

.city-stat span{
display:block;
font-size:22px;
font-weight:bold;
margin-top:5px;
}

.city-main{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
margin-bottom:50px;
}

#map{
height:400px;
border-radius:8px;
}

.city-chart{
display:flex;
align-items:center;
}

.criteria-title{
text-align:center;
margin:40px 0 20px;
}

.criteria-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
}

.criteria-card{
border:1px solid #eee;
padding:20px;
border-radius:8px;
background:#fafafa;
}

.criteria-header{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
    font-weight:bold;
}

.criteria-score {
    display: inline-block;
    min-width: 70px;       /* suffisamment large pour “10/10” */
    height: 24px;
    line-height: 24px;
    text-align: center;
    border-radius: 12px;
    font-weight: 600;
    color: #fff;
    padding: 0;            /* supprimer le padding horizontal */
    box-sizing: border-box;
    
}

.criteria-score-bottom {
    display: inline-block;      /* transforme le span en bloc en ligne */
    min-width: 50px;            /* largeur minimale uniforme pour tous les scores */
    height: 24px;               /* hauteur fixe du badge */
    width: 14ch;
    line-height: 24px;          /* centre le texte verticalement */
    text-align: center;          /* centre le texte horizontalement */
    border-radius: 12px;         /* coins arrondis comme un badge */
    font-weight: 600;            /* texte plus visible */
    color: #fff;                 /* texte blanc */
    padding-left: 10px;          /* conserve ton padding horizontal */
    padding-right: 10px;
    padding-top: 0;              /* padding vertical supprimé car height/line-height suffit */
    padding-bottom: 0;
}

.criteria-desc{
font-size:14px;
color:#555;
}

.score-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.95em;
  color: #fff;
}



/* Grille */
.criteria-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px;
}
/* Carte horizontale */
.criteria-card.horizontal {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 12px;
    background-color: #f5f5f5;
    border-radius: 8px;
}

/* Colonne gauche : titre + score */
.criteria-left {
    min-width: 160px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Colonne droite : explication */
.criteria-right {
    flex: 1;
}

/* Texte */
.criteria-name {
    flex: 1;
    min-width: 0;

    font-family: 'Inter', Arial, sans-serif; /* harmonisation */
    font-weight: 500;                        /* moins bold que 600 */
    font-size: 1.1rem;                       /* taille h4 */
    line-height: 1.4;
    color: #222;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Responsive */
@media (max-width: 500px) {
    .criteria-name {
        font-size: 1rem;
        font-weight: 500; /* cohérence mobile */
    }
}

/* Badge score */
.criteria-score{
    display:inline-block;
    padding:0 10px;
    height:24px;
    line-height:24px;
    border-radius:12px;
    font-weight:600;
    color:#fff;
    white-space:nowrap;
    flex-shrink:0;   /* IMPORTANT */
}

/* Couleurs dynamiques selon score */
.score-low { background-color: #d32f2f; }      /* 0-3 */
.score-mid { background-color: #f57c00; }      /* 4-6 */
.score-good { background-color: #fbc02d; color: #000; } /* 7-8 */
.score-high { background-color: #2e7d32; }     /* 9-10 */

/* Description */
.criteria-desc {
    font-size: 1em;
    line-height: 1.5;
    margin: 0;
}


.summary-right.card h3 {
    margin-bottom: 6px; /* réduit l'espace sous le titre */
    margin-top: 12px;   /* espace au-dessus si besoin */
    font-size: 1.2em;   /* optionnel, ajuste la taille du titre */
}

.summary-right.card p {
    margin-top: 0;      /* supprime l'espace par défaut au-dessus du paragraphe */
    margin-bottom: 12px; /* espace sous le paragraphe */
    line-height: 1.5em; /* lisibilité */
}


/* Container du graphique */
.chart-container {
    width: 100%;
    max-width: 900px; /* limite la largeur sur grand écran */
    margin: 40px auto; /* centrer avec un espace vertical */
    padding: 30px;
    background-color: #ffffff; /* fond blanc */
    border-radius: 14px; /* coins arrondis */
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); /* ombre douce */
    transition: transform 0.3s ease;
}

/*
.chart-container:hover {
    transform: translateY(-3px); /* effet hover subtil */
}
*/

/* Titre du graphique */
.chart-container h2 {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 600;
    color: #1f2937; /* gris foncé */
    margin-bottom: 25px;
}

/* Canvas Chart.js */
.chart-container canvas {
    display: block;
    width: 100% !important;
    height: 400px !important; /* hauteur fixe mais responsive */
}

.city-photo{
    margin:40px auto;
    max-width:1200px;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.city-image{
    width:100%;
    height:auto;
    display:block;
    object-fit:cover;
    transition:transform .4s ease;
}
/*
.city-photo:hover .city-image{
    transform:scale(1.03);
}
*/

.city-meta{
    display:flex;
    gap:20px;
    margin:20px 0;
    flex-wrap:wrap;
}

.city-stat{
    background:#1f2933;
    padding:14px 20px;
    border-radius:10px;
    font-size:14px;
    color:#ffffff;
    display:flex;
    flex-direction:column;
    min-width:130px;
}

.city-stat span{
    font-size:18px;
    font-weight:700;
    margin-top:4px;
}

/* AQI badge */

.aqi-badge{
    padding:4px 8px;
    border-radius:6px;
    font-weight:700;
    color:#fff;
}

/* couleurs AQI */

.aqi-badge.good{
    background:#2ecc71;
}

.aqi-badge.moderate{
    background:#f1c40f;
}

.aqi-badge.unhealthy{
    background:#e74c3c;
}


.chart-container {
    width: 100%;
    position: relative;
    height: 300px;
}


.cost-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    max-width: 900px;
    margin: 30px auto;
    transition: 0.3s;
}

.cost-card h3 {
    margin-bottom: 20px;
    font-size: 22px;
    font-weight: 600;
}

.cost-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.cost-item {
    background: #f8f9fb;
    border-radius: 12px;
    padding: 15px;
    display: flex;
    flex-direction: column;
    transition: 0.2s;
}

.cost-item:hover {
    transform: translateY(-3px);
    background: #f1f3f7;
}

.cost-item span {
    font-size: 13px;
    color: #777;
    margin-bottom: 5px;
}

.cost-item strong {
    font-size: 18px;
    font-weight: 600;
    color: #222;
}

/* Highlight salaire */
.cost-item.highlight {
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    color: #fff;
}

.cost-item.highlight span {
    color: rgba(255,255,255,0.8);
}

.cost-item.highlight strong {
    color: #fff;
}

/* 📱 Responsive */
@media (max-width: 900px) {
    .cost-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .cost-grid {
        grid-template-columns: 1fr;
    }

    .cost-card {
        padding: 20px;
    }
}


@media (min-width: 768px) {
    .chart-container {
        height: 400px;
    }
}

/* Tabs */
.climate-tabs {
    display: flex;
    flex-wrap: wrap; /* 🔥 IMPORTANT */
    gap: 8px;
    margin-bottom: 15px;
}

.climate-tabs button {
    flex: 1 1 auto;
    padding: 10px;
    border: none;
    background: #eee;
    cursor: pointer;
    border-radius: 6px;
    font-size: 14px;
    white-space: nowrap;
}

.climate-tabs button.active {
    background: #333;
    color: white;
}

/* Mobile optimisation */
@media (max-width: 480px) {
    .climate-tabs button {
        font-size: 12px;
        padding: 8px;
    }
}

/* Insights */
.climate-insights {
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.5;
}


/* ITEM */
.safety-item {
    background: #f9fafc;
    border-radius: 12px;
    padding: 14px;
}

/* TOP LINE */
.safety-item .top {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #555;
}

/* VALUE */
.safety-item strong {
    font-size: 14px;
    font-weight: 600;
}

/* BAR */
.bar {
    margin-top: 8px;
    height: 6px;
    background: #e5e7eb;
    border-radius: 5px;
    overflow: hidden;
}

.fill {
    height: 100%;
    border-radius: 5px;
    transition: width 0.6s ease;
}

/* AIR QUALITY CARD */
.air-quality-card {
    background: #f9fafc;
    border-radius: 12px;
    padding: 15px 20px;
    margin-bottom: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.air-quality-card .stat-label {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 6px;
    color: #333;
}

.air-quality-card .bar {
    height: 8px;
    background: #e5e7eb;
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 6px;
}

.air-quality-card .fill {
    height: 100%;
    border-radius: 5px;
    transition: width 0.6s ease;
}

.air-quality-card .stat-value {
    font-size: 13px;
    font-weight: 600;
    text-align: right;
}

/* ENV GRID */
.env-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

/* Responsive */
@media (max-width: 600px) {
    .env-grid {
        grid-template-columns: 1fr;
    }
}

/* AIR QUALITY CARD */
.air-quality-card {
    background: #f9fafc;
    border-radius: 12px;
    padding: 15px 20px;
    margin-bottom: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.air-quality-card .stat-label {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 6px;
    color: #333;
}

.air-quality-card .bar {
    height: 8px;
    background: #e5e7eb;
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 6px;
}

.air-quality-card .fill {
    height: 100%;
    border-radius: 5px;
    transition: width 0.6s ease;
}

.air-quality-card .stat-value {
    font-size: 13px;
    font-weight: 600;
    text-align: right;
}

/* ENV GRID */
.env-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

/* Responsive */
@media (max-width: 600px) {
    .env-grid {
        grid-template-columns: 1fr;
    }
}

/* BAR */
.bar {
    margin-top: 8px;
    height: 6px;
    background: #e5e7eb;
    border-radius: 5px;
    overflow: hidden;
}

.fill {
    height: 100%;
    border-radius: 5px;
    transition: width 0.5s ease;
}


/* CARD */
.culture-card {
    background: #fff;
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    margin: 25px 0;
}

/* GRID */
/* GRID – 2 colonnes pour tous les critères */
.criteria-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 30px;
}

/* ITEM – style unifié pour toutes les cartes */
.criteria-item {
    background: #f9fafc;
    padding: 14px;
    border-radius: 12px;
}

/* TOP – titre + valeur */
.criteria-item .top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: #555;
}

.criteria-item strong {
    font-size: 15px;
    font-weight: 500;
}

/* BAR – la barre de progression */
.criteria-item .bar {
    margin-top: 8px;
    height: 6px;
    background: #e5e7eb;
    border-radius: 5px;
    overflow: hidden;
}

.criteria-item .fill {
    height: 100%;
    border-radius: 5px;
    transition: width 0.5s ease;
}

/* JAUGE */
.gauge {
    --value: 0;
    --color: #4CAF50;

    width: 120px;
    height: 120px;
    margin: 0 auto 15px;

    border-radius: 50%;
    background: conic-gradient(
        var(--color) calc(var(--value) * 10%),
        #e6e6e6 0
    );

    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* CENTRE */
.gauge::before {
    content: "";
    width: 85px;
    height: 85px;
    background: white;
    border-radius: 50%;
    position: absolute;
}

/* TEXTE */
.gauge span {
    position: relative;
    font-weight: 600;
    font-size: 20px;
}

/* TITRE */
.title {
    font-size: 14px;
    color: #666;
}

/* COULEURS */
.public { --color: #2196F3; }
.walk { --color: #4CAF50; }
.bike { --color: #FF9800; }
.traffic { --color: #F44336; }


/* COLORS */
.quality { --color: #2196F3; }
.access { --color: #4CAF50; }
.cost { --color: #FF9800; }
.emergency { --color: #F44336; }
.global { --color: #9C27B0; }


.contact-section {
    width: 100%;
    background: #fff;
    font-family: system-ui, -apple-system, sans-serif;
    color: #111;
}

/* HEADER */
.contact-section .contact-header {
    max-width: 900px;
    margin-bottom: 60px;
}

.contact-section .contact-header h2 {
    font-size: 54px;
    font-weight: 600;
    margin: 0;
    letter-spacing: -0.03em;
}

.contact-section .contact-header p {
    margin-top: 10px;
    font-size: 18px;
    color: #666;
}

/* GRID */
.contact-section .contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px 60px;
    width: 100%;
}

.contact-section .full {
    grid-column: 1 / -1;
}

/* INPUTS UNIQUEMENT DANS CONTACT */
.contact-section input,
.contact-section textarea {
    width: 100%;
    padding: 18px 0;
    border: none;
    border-bottom: 1px solid #e5e5e5;
    font-size: 16px;
    outline: none;
    background: transparent;
    transition: border-color 0.2s ease;
}

/* focus scoped */
.contact-section input:focus,
.contact-section textarea:focus {
    border-bottom: 1px solid #111;
}

/* TEXTAREA */
.contact-section textarea {
    min-height: 180px;
    resize: vertical;
}

/* BUTTON UNIQUEMENT CONTACT */
.contact-section .contact-btn {
    margin-top: 50px;
    padding: 16px 34px;
    background: #111;
    color: #fff;
    border: none;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.contact-section .contact-btn:hover {
    opacity: 0.85;
    transform: translateY(-2px);
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .contact-section {
        padding: 80px 20px;
    }

    .contact-section .contact-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .contact-section .contact-header h2 {
        font-size: 38px;
    }
}


/* RESPONSIVE */
@media (max-width: 600px) {
    .gauge {
        width: 100px;
        height: 100px;
    }

    .gauge::before {
        width: 70px;
        height: 70px;
    }
}

/* GRID RESPONSIVE */
.container-transportation, .container-health, .container-education, .container-commerce, .container-economic  {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
}

/* COULEURS */
.quality { --color: #2196F3; }
.access { --color: #4CAF50; }
.cost { --color: #FF9800; }
.international { --color: #00BCD4; }
.higher { --color: #673AB7; }
.early { --color: #E91E63; }
.global { --color: #9C27B0; }


.offer { --color: #2196F3; }
.food { --color: #FF9800; }
.services { --color: #4CAF50; }
.digital { --color: #00BCD4; }
.convenience { --color: #E91E63; }
.global { --color: #9C27B0; }


/* Couleurs */
.job_market { --color: #2196F3; }
career { --color: #4CAF50; }
entrepreneurship { --color: #FF9800; }
international { --color: #00BCD4; }
growth { --color: #E91E63; }
global { --color: #9C27B0; }


.continent-cities {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 30px;
}

.city-card {
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.2s;
}

.city-card:hover {
    transform: translateY(-5px);
}

.city-card-left {
    width: 300px;        /* largeur fixe du cadre de la carte */
    height: 200px;       /* hauteur fixe */
    overflow: hidden;    /* cache tout débordement */
    flex-shrink: 0;      /* ne pas réduire si flexbox */
    border-radius: 8px;  /* optionnel : coins arrondis */
}

.city-card-left img {
    width: 100%;         /* occupe toute la largeur du cadre */
    height: 100%;        /* occupe toute la hauteur */
    object-fit: cover;   /* garde les proportions et coupe si nécessaire */
    display: block;
}

.city-card-right {
    flex: 1;
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* met le bouton en bas */
}

.city-info {
    /* Tout le texte de la ville ici */
}

.city-name {
    display: flex;
    align-items: center;
    gap: 8px; /* espace entre nom et drapeau */
    font-size: 1.3rem;
}

.flag-icon {
    width: 18px;
    height: 12px;
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 0 2px rgba(0,0,0,0.2);
}

.btn-see {
    display: inline-block;
    align-self: flex-end; /* en bas à droite */
    padding: 8px 15px;
    background-color: #F59322;
    color: #fff;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
}

.btn-see:hover {
    background-color: #d00cb0;
}

.city-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;              /* espace entre les badges */
    margin: 12px 0;         /* espace autour du bloc */
}

.badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;      /* + d’espace interne */
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1.4;       /* évite l’effet écrasé */
    color: #fff;
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Pays */
.country-badge {
    background-color: #007BFF;
}
.country-badge:hover {
    background-color: #0056b3;
    transform: translateY(-1px); /* petit effet hover */
}

.country-badge-disabled {
    background-color: #007BFF;
    pointer-events: none;
}

/* Score */
.score-badge {
    background-color: #FFC107;
    color: #fff;
}

/* Icônes */
.badge i {
    margin-right: 6px;      /* + espace entre icône et texte */
    font-size: 0.8rem;
}

.city-population {
    color: #555;
    margin-bottom: 10px;
}

.profile-score-container {
    margin: 10px 0;
    font-size: 0.85rem;
}

.profile-score-label {
    display: block;
    margin-bottom: 4px;
    font-weight: 500;
    color: #333;
}

.profile-score-bar {
    background-color: #e0e0e0; /* gris clair */
    border-radius: 8px;
    overflow: hidden;
    height: 12px;
    width: 100%;
}

.profile-score-fill {
    height: 100%;
    transition: width 0.4s ease, background-color 0.4s ease;
}

.select-container {
    display: flex;
    justify-content: flex-end;  /* aligne le tout à droite */
    align-items: center;        /* aligne verticalement label et select */
    gap: 10px;                  /* espace entre label et select */
    margin-bottom: 20px;
}

.select-label {
    font-size: 14px;
    color: #555;
    line-height: 1;            /* évite les décalages */
}

.select-sort {
    padding: 6px 10px;
    font-size: 14px;
    border-radius: 6px;
    border: 1px solid #ccc;
    background-color: #fff;
    cursor: pointer;
}
.select-sort:hover {
    border-color: #888;
}

.select-sort:focus {
    border-color: #007bff;
    box-shadow: 0 0 5px rgba(0,123,255,0.5);
}

/* Responsive */
@media (max-width: 768px) {
    .city-card {
        flex-direction: column;
    }
    .city-card-left {
        max-width: 100%;
    }
    .city-card-left img {
        height: 200px;
    }
}


.global-score-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    margin-bottom: 30px;
}

.global-score-card h3 {
    margin-top: 15px;
    font-size: 20px;
    font-weight: 600;
}

.global-score-card .description {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
}

/* Cercle score */
.score-circle {
    --size: 140px;

    width: var(--size);
    height: var(--size);
    margin: 0 auto;

    border-radius: 50%;
    background: conic-gradient(
        var(--color) calc(var(--score) * 10%),
        #eaeaea 0
    );

    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.score-circle::before {
    content: "";
    width: 105px;
    height: 105px;
    background: #fff;
    border-radius: 50%;
    position: absolute;
}

.score-circle .inner {
    position: relative;
    text-align: center;
}

.score-circle .value {
    font-size: 32px;
    font-weight: bold;
    color: #222;
}

.score-circle .label {
    font-size: 14px;
    color: #888;
}

/* Couleur dynamique */
.score-circle[data-score="low"] { --color: #d32f2f; }
.score-circle[data-score="mid"] { --color: #f57c00; }
.score-circle[data-score="medium"] { --color: #fbc02d; }
.score-circle[data-score="high"] { --color: #2e7d32; }



/* Container global */
.search-container {
    display: flex;
    align-items: stretch;
    position: relative; /* 🔥 indispensable */
}

/* Input */
#city-search {
    flex: 1;
}

/* Bouton */
.search-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto; /* reset */
}

/* Hover */
.search-btn:hover {
    background: #0056b3;
}

/* Dropdown */
#suggestions {
    position: absolute;
    top: 100%;          /* juste sous l’input */
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    z-index: 9999;      /* 🔥 pour passer au-dessus du thème */
}

/* Item */
.suggestion-item {
    padding: 12px 15px;
    cursor: pointer;
    transition: background 0.2s;
}

/* Hover */
.suggestion-item:hover {
    background-color: #f5f7fa;
}

/* Texte secondaire (optionnel pays) */
.suggestion-item small {
    color: #888;
    display: block;
    font-size: 0.85em;
}


.comparison-container {
    max-width: 900px;
    margin: 20px auto;
    font-family: Arial, sans-serif;
}

.comparison-title {
    margin-top: 50px;
    font-size: 1.8em;
    font-weight: 600;
    color: #333;
    text-align:center;
}

.comparison-table {
    width: 100%;
    border-collapse: collapse;
}

.comparison-table th, .comparison-table td {
    border: 1px solid #ddd;
    padding: 8px 12px;
    text-align: center;
}

.comparison-table th {
    background: #f1f1f1;
}

/* meilleure valeur en vert clair */
.comparison-table td.best {
    background-color: #d9f7d9; /* vert clair plus doux */
    font-weight: bold;
    color: #1b5e1b; /* texte vert foncé pour contraste */
}

/* Label qualité de vie */
.qol-label {
    font-weight: 700;
}

/* Meilleure valeur qualité de vie (vert foncé) */
.qol-cell-strong {
    background-color: #2e7d32;
    color: #fff;
    font-weight: 700;
}

/* Best standard (vert clair) */
.best {
    background-color: #a5d6a7;
}

.comparison-links ul {
    list-style: none; /* supprime la puce */
    padding-left: 0;  /* supprime le décalage gauche */
    margin: 0;        /* supprime les marges par défaut */
}

.comparison-links ul li {
    margin-bottom: 8px; /* espace entre les lignes si besoin */
    list-style: none; /* supprime la puce */
}

/* Vert clair pour les meilleurs critères */
.best {
    background-color: #d4edda;
    font-weight: bold;
}

/* Vert foncé pour Quality of Life */
.qol-strong {
    background-color: #28a745; /* vert plus foncé */
    color: #fff;
    font-weight: bold;
}

/* Optionnel : label QoL en gras ou italique */
.qol-label {
    font-weight: bold;
}

.insights-text {
    margin-top: 40px;
    margin-bottom: 50px;
    font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif; /* moderne et lisible */
    font-size: 16px;
    line-height: 1.7; /* espacement entre les lignes pour lisibilité */
    color: #1f2937; /* gris foncé agréable pour les yeux */
    background-color: #f9fafb; /* léger fond pour détacher le texte */
    padding: 20px 25px;
    border-radius: 12px; /* coins arrondis pour un style doux */
    box-shadow: 0 4px 12px rgba(0,0,0,0.05); /* léger effet de profondeur */
    max-width: 900px; /* limite la largeur pour une lecture confortable */
    margin: 20px auto; /* centré horizontalement */
}

.insights-text p {
    margin-bottom: 16px; /* espacement entre les paragraphes */
}

.insights-text br {
    margin-bottom: 6px; /* léger espace après les sauts de ligne */
}

.insights-text p strong {
    color: #111827; /* texte en gras légèrement plus foncé */
}

.insights-text p em {
    font-style: italic; /* style italique pour mettre en valeur */
    color: #374151;
}

/* Ajout de petites icônes ou emojis si nécessaire */
.insights-text span.emoji {
    margin-right: 6px;
    font-size: 1.1em;
}

.no-reviews {
    margin-top: 25px;
}

.badge-global-score {
    pointer-events: none;
}

.city-comparison-title {
    margin-bottom: 30px;
}

.comparison-table-detail {
    width: 100%;
    border-collapse: collapse;
}

.comparison-table-detail th, .comparison-table-detail td {
    border: 1px solid #ddd;
    padding: 8px 12px;
    text-align: center;
}

.comparison-table-detail th {
    background: #f1f1f1;
}

/* meilleure valeur en vert clair */
.comparison-table-detail td.best {
    background-color: #d9f7d9; /* vert clair plus doux */
    font-weight: bold;
    color: #1b5e1b; /* texte vert foncé pour contraste */
}


.comparison-table-detail {
    width: 100%;
    table-layout: fixed;
}

.comparison-table-detail th:first-child,
.comparison-table-detail td:first-child {
    width: 34%;
}

.comparison-table-detail th:nth-child(2),
.comparison-table-detail td:nth-child(2),
.comparison-table-detail th:nth-child(3),
.comparison-table-detail td:nth-child(3) {
    width: 33%;
}

.site-logo img {
    height: 42px;
    width: auto;
    display: block;
}

.nav-logo-bar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    max-width: 180px; /* desktop */
}

.nav-logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.nav-logo-img {
    width: 100%;
    height: auto;
    max-width: 180px;
    object-fit: contain;
}

/* TABLET */
@media (max-width: 992px) {
    .nav-logo-bar {
        max-width: 150px;
    }

    .nav-logo-img {
        max-width: 150px;
    }
}

/* MOBILE */
@media (max-width: 576px) {
    .nav-logo-bar {
        max-width: 120px;
    }

    .nav-logo-img {
        max-width: 120px;
    }
}

@media (max-width: 768px) {
    .site-logo img {
        height: 34px;
    }
}


/* Responsive */
@media (max-width: 600px) {
    .score-circle {
        --size: 110px;
    }

    .score-circle::before {
        width: 80px;
        height: 80px;
    }
}


/* RESPONSIVE */
@media (max-width: 600px) {
    .culture-grid {
        grid-template-columns: 1fr;
    }
}

/* RESPONSIVE */
@media (max-width: 600px) {
    .env-grid {
        grid-template-columns: 1fr;
    }
}


/* Responsive pour petits écrans */
@media screen and (max-width: 768px) {
    .chart-container {
        padding: 20px;
    }

    .chart-container h2 {
        font-size: 1.5rem;
    }

    .chart-container canvas {
        height: 300px !important;
    }
}


/* Responsive : mobile (<600px) */
@media (max-width: 600px) {
    .criteria-card.horizontal {
        flex-direction: column;
        gap: 8px;
    }

    .criteria-left {
        min-width: auto;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .criteria-score {
        width: 12ch;  /* un peu plus petit pour écran étroit */
        font-size: 0.9em;
        height: 22px;
        line-height: 22px;
    }
}


/* Layout */
.city-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    margin: 40px auto;
}

/* Cards */
.card {
    background: #ffffff;
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* Table */
.score-table {
    width: 100%;
    border-collapse: collapse;
}

.score-table th {
    text-align: left;
    font-size: 13px;
    color: #777;
    padding-bottom: 10px;
}

.score-table td {
    padding: 10px 0;
    border-bottom: 1px solid #f1f1f1;
}

/* Score badge */
.criteria-score {
    padding: 5px 10px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
}

/* Example color system */
.criteria-score.low {
    background: #fee2e2;   /* rouge clair */
    color: #ef4444;
}

.criteria-score.medium-low {
    background: #fff7ed;   /* orange clair */
    color: #f97316;
}

.criteria-score.medium {
    background: #fef9c3;   /* jaune clair */
    color: #eab308;
}

.criteria-score.high {
    background: #e6f9f0;   /* vert clair */
    color: #10b981;
}

.box-margin {
    margin-top: 10px;
}


/* Right column stack */
.summary-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Highlight card (blue gradient) */
.highlight-card {
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    color: #fff;
}

.highlight-card h3 {
    color: #fff;
}

.highlight-card p {
    color: rgba(255,255,255,0.9);
}

/* Spacing */
.mt {
    margin-top: 20px;
}


/* Full-width neighborhoods banner */
.neighborhoods-banner {
    width: 100%;
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    color: #fff;
    padding: 25px 40px;
    border-radius: 12px;
    margin-bottom: 30px; /* espace avant le H2 */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.neighborhoods-banner h3 {
    margin: 0 0 8px 0;
    font-weight: 600;
    color: #fff;
}

.neighborhoods-banner p {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255,255,255,0.95);
}


/* Container principal */
.review-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Cadre de chaque avis */
.review-card-horizontal {
    display: flex;
    justify-content: space-between;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 12px;
    background-color: #fff;
    box-shadow: 0 3px 8px rgba(0,0,0,0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.review-card-horizontal:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.1);
}

/* Colonne principale gauche : nom, note et texte */
.review-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.review-name {
    font-weight: 700;
    font-size: 1.15em;
    color: #333;
}

.review-date {
    font-size: 0.85em;
    color: #888;
}

/* Texte Pros / Cons */
.review-desc {
    margin-top: 6px;
    line-height: 1.5;
    color: #444;
}

.review-score-bottom {
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 6px;
    color: #fff;
    width: fit-content;
}

/* Couleurs des notes */
.score-high { background-color: #28a745; }
.score-good { background-color: #ffc107; }
.score-mid  { background-color: #fd7e14; }
.score-low  { background-color: #dc3545; }


.review-left small {
    color: #777;
}

.review-desc {
    margin-top: 6px;
    line-height: 1.5;
    color: #444;
}

/* Colonne droite : note en haut, thumbs en bas */
.review-right {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end; /* aligne tout à droite */
    min-width: 80px;
}

/* Badge note */
.review-score {
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 8px;
    color: #fff;
    font-size: 0.95em;
}

/* Thumbs en bas */
.review-thumbs-container {
    margin-top: 10px;
    font-size: 0.9em;
    color: #555;
}

.review-title {
    margin-top: 50px;
    font-size: 1.8em;
    font-weight: 600;
    color: #333;
    text-align:center;
}

/* Header auteur + note */
.review-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.review-name {
    font-weight: 700;
    font-size: 1.15em;
    color: #333;
}

.review-score {
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 8px;
    color: #fff;
    font-size: 0.95em;
}

/* Date sous le nom, plus discrète */
.review-date {
    display: block;
    font-size: 0.85em;
    color: #888;
    margin-top: 2px;
}

/* Texte pros/cons */
.review-desc {
    margin-top: 8px;
    line-height: 1.5;
    color: #444;
}

/* Thumbs up/down à droite */
.review-thumbs {
    font-size: 0.9em;
    color: #555;
}

.section-article {
    margin-top: 20px;
}

.alert-success-custom {
    display: flex;
    align-items: center;
    gap: 12px;
    
    background: #f6fff9;
    border: 1px solid #d1f5df;
    border-left: 4px solid #22c55e;
    
    padding: 14px 18px;
    margin: 20px 0;
    
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    
    font-size: 14px;
    color: #166534;
    
    animation: fadeIn 0.3s ease;
}

.alert-success-custom .icon {
    font-size: 16px;
    color: #22c55e;
    font-weight: bold;
}

.alert-success-custom .content {
    flex: 1;
}

.review-thumbs-container span {
    cursor: pointer;
    user-select: none;
    font-size: 1.1em;
    transition: transform 0.1s;
}

.review-thumbs-container span:hover {
    transform: scale(1.2);
}

.gauge.public,
.gauge.walk,
.gauge.bike,
.gauge.traffic {
    background:
        conic-gradient(
            var(--gauge-color) calc(var(--value) * 10%),
            #e0e0e0 0
        );
}

.gauge.quality,
.gauge.access,
.gauge.cost,
.gauge.emergency {
    background:
        conic-gradient(
            var(--gauge-color) calc(var(--value) * 10%),
            #e0e0e0 0
        );
}

.gauge.access,
.gauge.cost,
.gauge.international,
.gauge.higher,
.gauge.early {
    background:
        conic-gradient(
            var(--gauge-color) calc(var(--value) * 10%),
            #e0e0e0 0
        );
}

.gauge.offer,
.gauge.food,
.gauge.services,
.gauge.digital,
.gauge.convenience {
    background:
        conic-gradient(
            var(--gauge-color) calc(var(--value) * 10%),
            #e0e0e0 0
        );
}

.gauge.job_market,
.gauge.career,
.gauge.entrepreneurship,
.gauge.international,
.gauge.growth {
    background:
        conic-gradient(
            var(--gauge-color) calc(var(--value) * 10%),
            #e0e0e0 0
        );
}


/* Conteneur étoiles */
.rating-wrapper {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 20px;
    margin-bottom: 15px;
}

/* Étoiles */
.stars {
    display: flex;
    gap: 4px;
}

.stars .star {
    font-size: 1.5em;
    color: #ccc; /* gris par défaut */
    cursor: pointer;
    transition: color 0.2s;
}

.stars .star.hover,
.stars .star.selected {
    color: #ffc107; /* jaune rempli */
}

.article {
  font-family: system-ui, Arial, sans-serif;
  color: #222;
  line-height: 1.7;
  font-size: 16px;
  margin-right: 40px;
}

/* TITRES */
.article h1 {
  font-size: 2.4rem;
  margin-bottom: 20px;
  line-height: 1.2;
}

.article h2 {
  font-size: 1.8rem;
  margin-top: 40px;
  margin-bottom: 15px;
}

.article h3 {
  font-size: 1.4rem;
  margin-top: 30px;
}

/* PARAGRAPHES */
.article p {
  margin: 0 0;
}

/* LISTES */
.article ul,
.article ol {
  padding-left: 25px;
  margin: 15px 0;
}

/* CITATIONS */
.article blockquote {
  border-left: 4px solid #ddd;
  padding: 10px 15px;
  color: #555;
  font-style: italic;
  background: #f9f9f9;
  margin: 20px 0;
}

/* IMAGES */
.article img {
  max-width: 100%;
  border-radius: 8px;
  margin: 20px 0;
}

/* CODE */
.article pre {
  background: #1e1e1e;
  color: #fff;
  padding: 15px;
  border-radius: 8px;
  overflow-x: auto;
}

.article code {
  background: #f2f2f2;
  padding: 2px 5px;
  border-radius: 4px;
}

.search-container {
    position: relative;
}

.suggestions {
    position: absolute;
    top: 100%;         /* juste en dessous */
    left: 0;
    width: 100%;
    
    background: #fff;
    border: 1px solid #ddd;
    border-top: none;

    z-index: 999;

    max-height: 250px;
    overflow-y: auto;

    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.markdown-content.editorial {
    font-size: 16px;
    line-height: 1.75;
    color: #1f1f1f;
    max-width: 760px;
}

/* 🧼 SUPPRESSION DU TRAIT AU-DESSUS DES TITRES */
.markdown-content.editorial h2::before {
    display: none;
}

/* TITRES (plus compacts) */
.markdown-content.editorial h1 {
    font-size: 30px;
    margin: 28px 0 14px;
    font-weight: 800;
}

.markdown-content.editorial h2 {
    font-size: 22px;
    margin: 22px 0 10px;
    font-weight: 700;
}

.markdown-content.editorial h3 {
    font-size: 18px;
    margin: 18px 0 8px;
    font-weight: 600;
}

/* PARAGRAPHES (réduction des gaps excessifs) */
.markdown-content.editorial p {
    margin: 0 0 12px;
}

/* LISTES */
.markdown-content.editorial ul {
    margin: 8px 0 14px;
    padding-left: 20px;
}

.markdown-content.editorial li {
    margin-bottom: 6px;
}

/* SÉPARATEURS PLUS DISCRETS */
.markdown-content.editorial hr {
    border: none;
    height: 1px;
    background: #eee;
    margin: 24px 0;
}

/* CALLOUT */
.markdown-content.editorial blockquote {
    margin: 16px 0;
    padding: 12px 14px;
    border-left: 3px solid #ddd;
    background: #fafafa;
    border-radius: 6px;
}


/* animation légère */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.language-switch {
    display: flex;
    align-items: center;
}

/* IMPORTANT : même comportement box pour a et span */
.language-switch a,
.language-switch span.active {
    display: flex;
    align-items: center;
    gap: 4px;

    color: #666;
    text-decoration: none;
    font-weight: 500;

    line-height: 1;
    padding: 0;
    margin: 0;
}

/* actif */
.language-switch span.active {
    font-weight: 600;
    cursor: default;
}

/* séparateur stable */
.language-switch .lang-sep {
    display: flex;
    align-items: center;
    margin: 0 6px;
    line-height: 1;
    color: #aaa;
}

/* hover neutre */
.language-switch a:hover {
    color: #666;
}

/* Pagination stylisée */
.pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 30px;
    flex-wrap: wrap;
}

.pagination a,
.pagination span {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 6px;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #333;
    font-weight: 500;
    transition: all 0.2s ease;
}

/* Boutons Previous / Next */
.btn-prev, .btn-next {
    font-weight: 600;
}

/* Page active */
.pagination .current-page {
    background-color: #007bff;
    color: #fff;
    border-color: #007bff;
}

/* Hover effect */
.pagination a:hover {
    background-color: #007bff;
    color: #fff;
    border-color: #007bff;
}


.btourq__stitle {
    display: block !important;  /* Empêche flex de créer des conflits de hauteur */
    overflow: visible !important;
}

.tags-links a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: #444; /* optionnel pour matcher les spans */
}


/* Titre */
.article-title {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: #2c3e50;
    font-weight: 700;
    border-left: 5px solid #3498db;
    padding-left: 12px;
}

/* Liste */
.article-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 12px;
}

/* Élément */
.article-list li {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.article-list li:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    border-color: #3498db;
}

/* Lien */
.article-list a {
    display: block;
    padding: 16px 20px;
    color: #2c3e50;
    text-decoration: none;
    font-weight: 500;
    position: relative;
}

/* Flèche */
.article-list a::after {
    content: "→";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #3498db;
    font-size: 1.1rem;
    transition: transform 0.2s ease;
}

.article-list li:hover a::after {
    transform: translateY(-50%) translateX(4px);
}

.article-list a:hover {
    color: #3498db;
}

/* Message vide */
.section-article {
    padding: 20px;
    background: #f8f9fa;
    border-radius: 10px;
    color: #6c757d;
    text-align: center;
    border: 1px dashed #ced4da;
}

/* Mobile */
@media (max-width: 768px) {
    h2 {
        font-size: 1.6rem;
    }

    .article-list a {
        padding: 14px 16px;
    }
}

/* Responsive pour mobile */
@media (max-width: 768px) {
    .review-card-horizontal {
        flex-direction: column;
    }
    .review-right {
        flex-direction: row;
        justify-content: flex-start;
        margin-top: 10px;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .neighborhoods-banner {
        padding: 20px;
        border-radius: 10px;
    }

    .neighborhoods-banner h3 {
        font-size: 18px;
    }

    .neighborhoods-banner p {
        font-size: 14px;
    }
}


/* Responsive */
@media (max-width: 900px) {
    .city-summary {
        grid-template-columns: 1fr;
    }
}

/* Tableau */
.summary-left table {
    width: 100%;
    border-collapse: collapse;
}

.summary-left th, .summary-left td {
    padding: 6px;
    border-bottom: 1px solid #ccc;
}

.summary-left th:nth-child(2),
.summary-left td:nth-child(2) {
    text-align: center;
}

/* Badges fixes */
.criteria-score {
    display: inline-block;
    width: 50px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    border-radius: 12px;
    color: #fff;
    font-weight: 600;
    padding: 0 6px;
}

/* Description */
.summary-right p {
    line-height: 1.5em;
    margin: 0;
}

.cat-title {
    margin-bottom: 40px;
}

/* Responsive pour mobile */
@media (max-width: 600px) {
    .city-summary {
        flex-direction: column;
    }
    .summary-left, .summary-right {
        min-width: 100%;
    }
    .summary-left table th, 
    .summary-left table td {
        font-size: 0.95em;
        padding: 4px;
    }
    .criteria-score {
        width: 45px;
        height: 22px;
        line-height: 22px;
        font-size: 0.9em;
    }
}

/* responsive */

@media (max-width:900px){

.city-main{
grid-template-columns:1fr;
}

#map{
height:350px;
}

}


