/* =========================================================
   Profil & Konto — layout и карточки в стиле Overview/Sicherheit
   ========================================================= */

.profil-section{
  margin-top:20px;
  margin-bottom:32px;
}

/* сетка карточек: 2 колонки, hero и нижняя wide на всю ширину */
.profil-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
}

/* базовая карточка */
.profil-card{
  position:relative;
  background:#ffffff;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.30);
  box-shadow:0 8px 24px rgba(15,23,42,.06);
  padding:18px 20px 18px;
  display:flex;
  flex-direction:column;
  min-height:170px;
  overflow:hidden;
  transition:transform .14s ease, box-shadow .14s ease;
}

/* цветная полоска сверху, как в overview */
.profil-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#4f46e5,#22c55e,#0ea5e9);
}

/* hover на десктопе */
@media (hover:hover){
  .profil-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 34px rgba(15,23,42,.10);
  }
}

/* hero-карточка заголовка секции */
.profil-card--hero{
  grid-column:1 / -1;
  min-height:110px;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.profil-hero-inner{
  max-width:540px;
}

.profil-hero-title{
  margin:0 0 .25rem;
  font-size:1.4rem;
  font-weight:800;
  letter-spacing:-.01em;
}

.profil-hero-sub{
  margin:0;
  font-size:.9rem;
  color:#6b7280;
}

/* нижняя широкая карточка */
.profil-card--wide{
  grid-column:1 / -1;
}

/* eyebrow и заголовки карточек */
.profil-eyebrow{
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
  color:#9ca3af;
  margin-bottom:4px;
}

.profil-title{
  margin:0 0 6px;
  font-size:1.06rem;
  font-weight:700;
  color:#0f172a;
}

.profil-text{
  margin:4px 0 8px;
  font-size:.9rem;
  color:#4b5563;
}

/* datalist / строки параметров */
.profil-datalist{
  margin:8px 0 0;
  padding:0;
}

.profil-dl-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:4px 0;
}

.profil-dl-row dt{
  font-weight:600;
  font-size:.88rem;
  color:#111827;
}

.profil-dl-row dd{
  margin:0;
  font-size:.88rem;
  color:#374151;
  text-align:right;
}

/* отображение поля "Telefonnummer" */
.profil-field-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-top:6px;
  margin-bottom:10px;
}

.profil-field-label{
  font-size:.88rem;
  font-weight:600;
  color:#111827;
}

.profil-field-value{
  font-size:.88rem;
  color:#374151;
  text-align:right;
}

/* плейсхолдер, когда нет значения */
.profil-placeholder{
  color:#9ca3af;
  font-style:italic;
}

/* форма ввода телефона */
.profil-phone-form{
  margin-top:6px;
}

.profil-phone-inner{
  display:flex;
  gap:10px;
  align-items:center;
}

.profil-input{
  flex:1 1 auto;
  min-width:0;
  border-radius:999px;
  border:1px solid #d1d5db;
  padding:0.45rem 0.9rem;
  font-size:.9rem;
  outline:none;
  transition:border-color .12s ease, box-shadow .12s ease, background-color .12s ease;
}

.profil-input:focus{
  border-color:#4f46e5;
  box-shadow:0 0 0 1px rgba(79,70,229,.35);
  background:#f9fafb;
}

.profil-save-btn{
  white-space:nowrap;
}

/* подпись под формой */
.profil-help{
  margin:6px 0 0;
  font-size:.78rem;
  color:#6b7280;
}

/* адаптив: на узких экранах одна колонка */
@media (max-width:900px){
  .profil-grid{
    grid-template-columns:1fr;
  }
  .profil-card--hero,
  .profil-card--wide{
    grid-column:1 / 2;
  }
}

/* ещё компактнее на очень узких */
@media (max-width:480px){
  .profil-card{
    padding:16px 14px 16px;
  }
  .profil-hero-title{
    font-size:1.2rem;
  }
  .profil-phone-inner{
    flex-direction:column;
    align-items:stretch;
  }
  .profil-save-btn{
    align-self:flex-end;
  }
}
/* ===================
   Modal windows
   =================== */
.modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:20px;
}

.modal{
  background:#fff;
  border-radius:16px;
  padding:24px;
  width:100%;
  max-width:420px;
  box-shadow:0 20px 40px rgba(0,0,0,0.2);
  animation:modalIn .18s ease;
}

@keyframes modalIn {
  from{opacity:0; transform:scale(.92);}
  to{opacity:1; transform:scale(1);}
}

.modal-warning{
  border-top:4px solid #ef4444;
}

.modal-title{
  margin:0 0 12px;
  font-size:1.2rem;
  font-weight:700;
}

.modal-input{
  width:100%;
  padding:10px 14px;
  border-radius:10px;
  border:1px solid #d1d5db;
  margin-bottom:18px;
  font-size:1rem;
}

.modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
