/* Hello Abidjan — direction typographique inspirée des références Visit Dubai
   Titres francs, textes lisibles, boutons simples. Aucun changement au logo ni aux photos. */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root{
  --ha-ui-blue:#0873bd;
  --ha-ui-blue-hover:#0763a5;
  --ha-ui-ink:#172739;
  --ha-ui-body:#425266;
  --ha-ui-radius:5px;
  --ha-ui-heading:'Poppins','DM Sans',Arial,sans-serif;
  --ha-ui-text:'DM Sans',Arial,sans-serif;
  --ha-title:29px;
  --ha-detail-title:28px;
  --ha-section:20px;
}
body, .app, #main, #nav, .login-body{
  font-family:var(--ha-ui-text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
#main{font-size:15px;line-height:1.6;color:var(--ha-ui-ink)}
#main :is(h1,h2,h3,h4),
#main :is(.upcoming-title,.restaurant-v4-card-title-line>strong,.explorer-row-copy>strong,.community-meet-card-title),
.login-body .login-main h1,
.account-exit h1{
  font-family:var(--ha-ui-heading)!important;
  font-weight:700!important;
  letter-spacing:-.035em;
  text-wrap:pretty;
}
#main h1{line-height:1.22}
#main h2{line-height:1.32}
#main h3{line-height:1.35}
#main :is(p,li,dd){font-family:var(--ha-ui-text);line-height:1.62}
#main .muted, #main :is(.cardbody p,.guide-topic-sub,.guide-topic-description){color:#637184}

/* Boutons d'action : format quasi rectangulaire et relief neutralisé */
.app :is(.primary, .outline-button, .outline, .guide-action, .sheet-footer button),
.login-body .login-main .primary{
  font-family:var(--ha-ui-heading)!important;
  font-size:14px;
  font-weight:600!important;
  letter-spacing:-.012em;
  line-height:1.35;
  border-radius:var(--ha-ui-radius)!important;
  box-shadow:none!important;
  text-transform:none;
  transition:background-color .16s ease, border-color .16s ease, color .16s ease;
}
.app .primary,
.login-body .login-main .primary{
  background:var(--ha-ui-blue)!important;
  color:#fff!important;
  border:1px solid var(--ha-ui-blue)!important;
}
.app .primary:is(:hover,:focus-visible),
.login-body .login-main .primary:is(:hover,:focus-visible){
  background:var(--ha-ui-blue-hover)!important;
  border-color:var(--ha-ui-blue-hover)!important;
}
.app :is(.outline-button,.outline){
  background:#fff;
  color:#0866a7;
  border:1px solid #c8d3dd;
}
.app :is(.outline-button,.outline):hover{background:#f3f8fc}
.app :is(.primary,.outline-button,.outline):disabled,
.login-body .login-main .primary:disabled{opacity:.52;cursor:default}
.app :is(.primary,.outline-button,.outline):focus-visible,
.login-body .login-main .primary:focus-visible{
  outline:2px solid #099bc0;
  outline-offset:3px;
}
#main :is(.primary,.outline-button,.guide-action){min-height:42px}
#main :is(.filter-trigger,.sheet-footer button,.choice button,.restaurant-v4-view-switch button){
  font-family:var(--ha-ui-heading);
  font-weight:600;
}
#main :is(input:not([type=checkbox]):not([type=radio]),textarea,select){
  font-family:var(--ha-ui-text);
  font-size:16px;
}
#nav a{font-family:var(--ha-ui-text);font-weight:500}

/* Écran d'ouverture : on conserve exactement photos et placement du carrousel */
#welcome-screen{font-family:var(--ha-ui-heading)}
#welcome-screen .welcome-title{
  font-family:var(--ha-ui-heading)!important;
  font-weight:700!important;
  letter-spacing:-.035em;
}
#welcome-screen .welcome-desc{
  font-family:var(--ha-ui-text);
  font-size:clamp(13px,3.65vw,15px);
  font-weight:400;
  line-height:1.65;
}
#welcome-screen .welcome-btn{
  font-family:var(--ha-ui-heading);
  font-weight:600;
  font-size:13px;
  border-radius:3px;
  box-shadow:none;
}
#welcome-screen .welcome-btn-signup{background:#006fbd;border-color:#006fbd}
#welcome-screen .welcome-btn-login{color:#0864a4}

/* Connexion/inscription : même typographie et boutons que l'ensemble */
.login-body .login-main h1{
  font-size:30px;
  line-height:1.23;
  margin-bottom:12px;
}
.login-body .login-main #login-sub{
  font-family:var(--ha-ui-text);
  font-size:15px;
  line-height:1.6;
}
.login-body .login-main :is(input:not([type=checkbox]),textarea,select){
  border-radius:6px;
  font-family:var(--ha-ui-text);
}
.login-body .login-main .primary{border-radius:var(--ha-ui-radius)!important;min-height:52px}
.login-body .login-main .login-switch a{color:var(--ha-ui-blue)}
.login-body .login-main label{font-family:var(--ha-ui-text);font-weight:600}

@media(max-width:550px){
  :root{--ha-title:27px;--ha-detail-title:26px;--ha-section:19px}
  .login-body .login-main h1{font-size:29px}
  #main :is(.primary,.outline-button,.guide-action){font-size:13px}
}
@media(max-width:370px){
  :root{--ha-title:25px;--ha-detail-title:25px;--ha-section:18px}
  .login-body .login-main h1{font-size:27px}
}
@media(prefers-reduced-motion:reduce){
  .app :is(.primary,.outline-button,.outline,.guide-action),
  .login-body .login-main .primary{transition:none}
}