﻿/* ===== Base ===== */
body {
  background:#ffcf57;
  font-family:'Montserrat', Arial, sans-serif;
  margin:0;
  padding:0;
}

.container{
  width:100%;
  max-width:390px;
  margin:0 auto;
  padding:15px;
  box-sizing:border-box;
}

/* ===== Thumbs ===== */
.profile-list{
  display:flex;
  gap:15px;
  margin-bottom:20px;
  padding:0 10px;
  overflow-x:auto;
  overflow-y:hidden;
  -ms-overflow-style:none;
  scrollbar-width:none;
  justify-content:flex-start;
}
.profile-list::-webkit-scrollbar{ display:none; }

.profile-thumb{
  border:3px solid #ffe399;
  border-radius:50%;
  width:70px; height:70px;
  object-fit:cover;
  transition:border .3s;
  cursor:pointer;
  flex-shrink:0;
}
.profile-thumb.selected{
  border:3px solid #ffc107;
  box-shadow:0 0 0 2px #fff, 0 1px 4px 0 #e2be65;
}

/* ===== Main card ===== */
.profile-photo-box{
  width:100%; height:0; padding-bottom:130%;
  position:relative;
  border-radius:18px;
  box-shadow:0 8px 32px 0 #e2be65;
  background:#fff;
  overflow:hidden;
}
.profile-photo{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
}
.profile-card-overlay{
  position:absolute; left:0; bottom:0; width:100%;
  padding:12px 16px 16px;
  background:rgba(255,255,255,.82);
  border-bottom-left-radius:18px;
  border-bottom-right-radius:18px;
  box-shadow:0 2px 12px 0 #ffe499cc;
  display:flex; flex-direction:column;
}

/* ===== Texts ===== */
.page-title{
  color:#fff; font-size:1.8em; font-weight:800; text-align:center;
  margin:15px 0 .25rem; text-shadow:0 2px 12px #f0c94a99;
}
.landing-intro{ margin-top:0; text-align:center; }

.profile-name-age{
  display:flex; align-items:baseline;
  font-size:1.10em; font-weight:700; color:#232323; margin-bottom:2px;
}
.profile-age{ font-size:.97em; color:#ffb800; font-weight:700; margin-left:6px; }
.profile-job{ color:#6c6c6c; font-size:.98em; margin-bottom:0; font-weight:500; }
.profile-location{ color:#888; font-size:.95em; margin: -1px 0 0; }
.profile-bio{
  color:#222; font-size:.72em; margin:6px 0 0;
  font-weight:400; line-height:1.3em;
  word-break:break-word; overflow-wrap:break-word; white-space:normal; max-width:100%;
}

/* ===== CTA appel ===== */
.btn-call{
  display:flex; align-items:center; justify-content:center; gap:10px;
  background:linear-gradient(90deg,#4CAF50 0%,#2E7D32 100%);
  color:#fff; font-size:1.09em; font-weight:800;
  border:none; border-radius:22px;
  box-shadow:0 3px 18px rgba(46,125,50,.3), 0 1.5px 0 rgba(255,255,255,.4);
  padding:13px 24px; margin:20px auto 0; width:auto;
  min-width:200px; max-width:100%;
  cursor:pointer; transition:all .2s ease;
}
.btn-call:active{
  transform:scale(.98);
  box-shadow:0 1px 4px #e5a00099;
  background:linear-gradient(90deg,#ffb300 0%,#ff9800 90%);
}
.btn-call svg{ width:1.4em; height:1.4em; vertical-align:middle; filter:drop-shadow(0 1px 1.5px #fff4); }

/* ===== Layout ===== */
.profile-main{
  display:flex; flex-direction:column; align-items:center;
  margin:0; padding:0; position:relative; width:100%;
}

/* ===== Search bar ===== */
.qs{
  margin:14px auto 0;
  max-width:560px;
  background:#fff;
  border-radius:16px;
  padding:12px 14px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  font-size:.72rem;            /* ↓ police globale plus petite */
}

.qs-grid{ display:flex; flex-direction:column; gap:8px; }

.qs-row{
  display:flex; flex-wrap:wrap; align-items:center;
  gap:10px 12px;
}

.qs-row label{
  min-width:108px;
  font-weight:700;
  color:#2b2b2b;
  font-size:.7rem;             /* ↓ labels plus petits */
}

.qs-row span{ color:#666; font-weight:600; }

.qs-row select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  padding:8px 10px;            /* ↓ un peu moins haut */
  border:1px solid rgba(0,0,0,.18);
  border-radius:12px;
  background:#fff;
  font-weight:600;
  font-size:.7rem;             /* ↓ texte plus petit */
  line-height:1.2;
  outline:none;
  transition:border-color .2s, box-shadow .2s, background-color .2s;
}
.qs-row select:focus{
  border-color:#28a745;
  box-shadow:0 0 0 3px rgba(40,167,69,.15);
}

/* tailles par champ */
.qs-row select[name="iam"],
.qs-row select[name="seek"]{ min-width:140px; }

.qs-row select[name="ageMin"],
.qs-row select[name="ageMax"]{ width:96px; }  /* tient mieux sur une ligne */

#qsCity{ min-width:220px; flex:1; }

/* ===== Bouton Rechercher (différent du call) ===== */
.btn-search{
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:#fff; color:#2E7D32;
  border:2px solid #2E7D32;
  font-size:.7rem;            /* ↓ */
  font-weight:800;
  border-radius:999px;
  padding:.6rem 1rem;          /* ↓ */
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease,
             background-color .15s ease, color .15s ease, border-color .15s ease;
}
.btn-search:hover{ background:#2E7D32; color:#fff; }
.btn-search:active{ transform:scale(.98); }
.qs .btn-search{ width:100%; margin-top:6px; }

/* mobile */
@media (max-width:640px){
  .qs{ padding:10px 12px; border-radius:14px; }
  .qs-row{ flex-direction:column; align-items:stretch; gap:8px; }
  .qs-row label{ min-width:0; }
  .qs .btn-search{ width:100%; margin:6px 0 0; }
}

/* 2 colonnes : Je suis / Je cherche */
.qs-two{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px 12px;
  align-items:center;
}
.qs-two .qs-col{
  display:flex;
  align-items:center;
  gap:8px;
}
.qs-two .qs-col label{ min-width:auto; }
.qs-two .qs-col select{ min-width:0; width:100%; }

/* 1 ligne compacte pour l'âge */
.qs-age{
  display:grid;
  grid-template-columns: auto 82px auto 82px; /* label, min, “et”, max */
  align-items:center;
  column-gap:8px;
}
.qs-age label{ min-width:auto; font-size:.7rem; }
.qs-age span{ text-align:center; }
.qs-age select{ width:100%; }

/* mobile : on empile les 2 colonnes si trop étroit */
@media (max-width:640px){
  .qs-two{ grid-template-columns: 1fr; }
  .qs-age{ grid-template-columns: auto 1fr auto 1fr; }
}
/* === Ajuste la largeur des combos Je suis / Je cherche === */
.qs-two .qs-col label{
  white-space: nowrap;    /* empêche "Je suis :" de passer à la ligne */
}

.qs-row select[name="iam"],
.qs-row select[name="seek"]{
  min-width: 110px;       /* ↓ au lieu de 140px */
  width: 110px;           /* force la largeur compacte */
  padding: 6px 8px;       /* un peu plus fin visuellement */
}

/* === FIX overflow Je suis / Je cherche (desktop) === */
.qs-two{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px 12px;
  align-items:center;
}
.qs-two .qs-col{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;                 /* permet au contenu de rétrécir */
}
.qs-two .qs-col label{
  flex:0 0 56px;               /* label étroit et non cassé */
  white-space:nowrap;
}
/* on annule la largeur fixe des selects dans cette rangée */
.qs-two .qs-col select[name="iam"],
.qs-two .qs-col select[name="seek"]{
  flex:1;
  min-width:0;
  width:auto;                  /* plus de 110px forcés */
  padding:6px 8px;
}

/* En très petit écran on repasse en 1 colonne (mobile) */
@media (max-width: 380px){
  .qs-two{ grid-template-columns: 1fr; }
  .qs-two .qs-col label{ flex:0 0 auto; }
}
