:root{
  --aqt-ink:#27254f;
  --aqt-muted:#8d90a6;
  --aqt-border:#e7e3ef;
  --aqt-surface:#ffffff;
  --aqt-bg:#f6f3ef;
  --aqt-soft:#f1e9ff;
  --aqt-soft-2:#f7f1ff;
  --aqt-purple:#7b4ce2;
  --aqt-purple-dark:#6733db;
  --aqt-danger:#b33b58;
  --aqt-danger-bg:#fff2f5;
  --aqt-shadow:0 12px 32px rgba(39,37,79,.08);
  --aqt-radius-xl:30px;
  --aqt-radius-lg:22px;
  --aqt-radius-md:16px;
  --aqt-radius-sm:12px;
}

.vamiqo-auth,
.vamiqo-profile{
  width:min(100%, 760px);
  margin:0 auto 30px;
  color:var(--aqt-ink);
  font-family:Inter, Prompt, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.vamiqo-profile__header,
.vamiqo-auth__header{
  text-align:center;
  margin:0 0 18px;
}

.vamiqo-profile__eyebrow{
  display:inline-block;
  font-size:12px;
  line-height:1;
  letter-spacing:.14em;
  font-weight:700;
  color:var(--aqt-muted);
  text-transform:uppercase;
  margin-bottom:10px;
}

.vamiqo-profile__header h1,
.vamiqo-auth__header h1{
  margin:0 0 8px;
  font-size:clamp(28px, 4vw, 40px);
  line-height:1.08;
  color:var(--aqt-ink);
}

.vamiqo-profile__header p,
.vamiqo-auth__header p{
  margin:0;
  color:var(--aqt-muted);
  font-size:16px;
  line-height:1.5;
}

.vamiqo-profile__list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.vamiqo-profile-field{
  background:var(--aqt-surface);
  border:1px solid var(--aqt-border);
  border-radius:var(--aqt-radius-xl);
  box-shadow:var(--aqt-shadow);
  padding:26px 28px;
}

.vamiqo-profile-field__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.vamiqo-profile-field__content{
  flex:1 1 auto;
  min-width:0;
}

.vamiqo-profile-field__label{
  display:block;
  margin:0 0 10px;
  color:var(--aqt-muted);
  font-size:13px;
  line-height:1.15;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
}

.vamiqo-profile-field__value{
  color:var(--aqt-ink);
  font-size:21px;
  line-height:1.4;
  font-weight:500;
  word-break:break-word;
}

.vamiqo-profile-field__empty{
  color:#9ca0b2;
  font-size:20px;
  line-height:1.4;
  font-style:italic;
}

.vamiqo-profile-button{
  appearance:none;
  border:none;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:52px;
  padding:0 22px;
  border-radius:18px;
  font-size:18px;
  font-weight:600;
  line-height:1;
  transition:all .18s ease;
}

.vamiqo-profile-button--primary{
  background:linear-gradient(180deg, #8650ea 0%, #7043ef 100%);
  color:#fff;
  box-shadow:0 10px 22px rgba(112,67,239,.24);
}

.vamiqo-profile-button--primary:hover,
.vamiqo-profile-button--primary:focus{
  filter:brightness(.98);
  transform:translateY(-1px);
}

.vamiqo-profile-button--ghost,
.vamiqo-profile-button--cancel{
  background:var(--aqt-soft);
  color:var(--aqt-purple);
  box-shadow:inset 0 0 0 1px rgba(123,76,226,.06);
}

.vamiqo-profile-button--ghost:hover,
.vamiqo-profile-button--cancel:hover,
.vamiqo-profile-button--ghost:focus,
.vamiqo-profile-button--cancel:focus{
  background:#ece0ff;
}

.vamiqo-profile-locked{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  background:var(--aqt-soft-2);
  border:1px solid #ddd2f7;
  color:#8e92a4;
  font-size:18px;
  font-weight:700;
  white-space:nowrap;
}

.vamiqo-profile-inline-editor{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--aqt-border);
}

.vamiqo-profile-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.vamiqo-profile-form label,
.vamiqo-auth__form label{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.vamiqo-profile-form label span,
.vamiqo-auth__form label span{
  color:var(--aqt-ink);
  font-size:15px;
  font-weight:700;
}

.vamiqo-profile-form input[type="text"],
.vamiqo-profile-form input[type="email"],
.vamiqo-profile-form input[type="password"],
.vamiqo-profile-form input[type="file"],
.vamiqo-profile-form select,
.vamiqo-profile-form textarea,
.vamiqo-auth__form input[type="text"],
.vamiqo-auth__form input[type="email"],
.vamiqo-auth__form input[type="password"],
.vamiqo-auth__form select,
.vamiqo-auth__form textarea{
  width:100%;
  border:1px solid var(--aqt-border);
  border-radius:16px;
  background:#fff;
  color:var(--aqt-ink);
  padding:14px 16px;
  font-size:16px;
  line-height:1.4;
  box-sizing:border-box;
}

.vamiqo-profile-form textarea,
.vamiqo-auth__form textarea{
  min-height:126px;
  resize:vertical;
}

.vamiqo-profile-form small,
.vamiqo-auth__form small{
  color:var(--aqt-muted);
  font-size:13px;
  line-height:1.45;
}

.vamiqo-profile-form__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.vamiqo-profile-inline-status{
  margin-top:10px;
  font-size:14px;
  line-height:1.45;
  color:var(--aqt-muted);
}

.vamiqo-profile-inline-status.is-success{
  color:#35724a;
}

.vamiqo-profile-inline-status.is-error{
  color:#b23e54;
}

.vamiqo-profile-notice{
  background:#fff;
  border:1px solid var(--aqt-border);
  border-radius:22px;
  padding:16px 18px;
  color:var(--aqt-ink);
  box-shadow:var(--aqt-shadow);
  margin:0 0 18px;
}

.vamiqo-profile-notice--error{
  background:#fff6f8;
  border-color:#f0c8d1;
  color:#9e334b;
}

.vamiqo-profile-notice--error ul{
  margin:0;
  padding-left:18px;
}

.vamiqo-auth{
  background:transparent;
}

.vamiqo-auth__form,
.aqt-registration-success{
  background:#fff;
  border:1px solid var(--aqt-border);
  border-radius:var(--aqt-radius-xl);
  padding:24px;
  box-shadow:var(--aqt-shadow);
}

.vamiqo-auth__submit{
  width:100%;
  max-width:394px;
  align-self:flex-start;
}

.vamiqo-auth__links{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:16px;
  color:var(--aqt-muted);
}

.vamiqo-auth__links a{
  color:var(--aqt-purple);
  text-decoration:none;
}

.vamiqo-date-selects{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}

.vamiqo-genre-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}

.vamiqo-genre-choice{
  display:flex;
  align-items:center;
  gap:10px;
  background:#faf8fd;
  border:1px solid var(--aqt-border);
  border-radius:14px;
  padding:12px 14px;
  color:var(--aqt-ink);
  font-size:15px;
  line-height:1.35;
}

.vamiqo-genre-choice input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:var(--aqt-purple);
}

.vamiqo-profile-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.vamiqo-profile-tag{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:var(--aqt-soft-2);
  color:var(--aqt-purple);
  font-size:14px;
  font-weight:700;
}

.vamiqo-profile-field--photo .vamiqo-profile-field__top{
  flex-direction:column;
  align-items:center;
}

.vamiqo-profile-field--photo .vamiqo-profile-field__content{
  width:100%;
  text-align:center;
}

.vamiqo-profile-field--photo .vamiqo-profile-field__label{
  display:none;
}

.vamiqo-profile-avatar{
  width:min(72vw, 320px);
  height:min(72vw, 320px);
  max-width:320px;
  max-height:320px;
  object-fit:cover;
  border-radius:50%;
  display:block;
  margin:0 auto 18px;
  border:8px solid #fff;
  box-shadow:0 18px 40px rgba(39,37,79,.14);
  background:#fff;
}

.vamiqo-profile-avatar--default{
  object-fit:contain;
  padding:0;
  background:#fff;
}

.vamiqo-profile-photo-preview-wrap{
  text-align:center;
}

/* 0.4.27 - profielfoto-preview altijd exact rond in AppPresser/iOS.
 * Alleen de preview in de open Foto wijzigen-editor wordt aangescherpt.
 * De bestaande profielweergave en uploadlogica blijven ongewijzigd. */
.vamiqo-profile-photo-preview-wrap .vamiqo-profile-photo-preview{
  width:min(72vw, 320px) !important;
  height:min(72vw, 320px) !important;
  min-width:min(72vw, 320px) !important;
  min-height:min(72vw, 320px) !important;
  max-width:320px !important;
  max-height:320px !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  border-radius:50% !important;
  display:block !important;
  margin:0 auto 18px !important;
  overflow:hidden !important;
}

.vamiqo-profile-photo-input{
  width:100%;
}

.vamiqo-profile-field--photo .vamiqo-profile-inline-toggle{
  margin:0 auto;
}

@media (max-width: 640px){
  .vamiqo-profile,
  .vamiqo-auth{
    width:100%;
  }

  .vamiqo-profile-field,
  .vamiqo-auth__form,
  .aqt-registration-success{
    padding:18px;
    border-radius:24px;
  }

  .vamiqo-profile-field__top{
    gap:14px;
  }

  .vamiqo-profile-field__value,
  .vamiqo-profile-field__empty{
    font-size:18px;
  }

  .vamiqo-profile-button,
  .vamiqo-profile-locked{
    min-height:48px;
    font-size:16px;
    padding:0 18px;
  }

  .vamiqo-date-selects,
  .vamiqo-genre-grid{
    grid-template-columns:1fr;
  }
}


/* 0.4.23 - compacte genrechips zoals op het profiel */
.vamiqo-genre-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}
.vamiqo-genre-choice{
  display:inline-flex !important;
  width:auto !important;
  min-height:40px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:999px !important;
  cursor:pointer !important;
}
.vamiqo-genre-choice input{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:1px !important;
  height:1px !important;
}
.vamiqo-genre-choice span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  background:#f4edff !important;
  color:#7446e4 !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1 !important;
  border:1px solid transparent !important;
  transition:.15s ease !important;
}
.vamiqo-genre-choice input:checked + span{
  background:#7b4ce2 !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(123,76,226,.18) !important;
}

/* 0.4.32 - profiel verwijderen: echte knop + inline bevestiging.
 * Geen label/checkbox-truc meer; AppPresser/iOS krijgt een echte tappable button. */
.aqt-profile-delete{
  position:relative;
  z-index:1000;
  padding:22px 8px 120px;
  text-align:center;
  pointer-events:auto !important;
}
.aqt-profile-delete__link{
  position:relative;
  z-index:1001;
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border:0;
  background:transparent;
  padding:9px 14px;
  color:#9a9dac;
  font:inherit;
  font-size:13px;
  line-height:1.35;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
  pointer-events:auto !important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.aqt-profile-delete__confirm{
  position:relative;
  z-index:1001;
  max-width:420px;
  margin:12px auto 0;
  padding:16px;
  border:1px solid #ebe8f3;
  border-radius:16px;
  background:#faf9fc;
  color:#646879;
  pointer-events:auto !important;
}
.aqt-profile-delete__confirm[hidden]{
  display:none !important;
}
.aqt-profile-delete__confirm p{
  margin:0 0 10px;
  font-size:14px;
  line-height:1.45;
}
.aqt-profile-delete__confirm p:first-child{
  color:#3f3d55;
  font-size:16px;
}
.aqt-profile-delete__confirm form,
.aqt-profile-delete__actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:14px;
}
.aqt-profile-delete__status{
  margin:12px 0 0 !important;
  font-size:13px !important;
  line-height:1.4 !important;
}
.aqt-profile-delete__status.is-error{
  color:#a62f4a !important;
}
.aqt-profile-delete__status.is-success{
  color:#24704a !important;
  font-weight:700 !important;
}
.aqt-profile-delete__danger,
.aqt-profile-delete__cancel{
  appearance:none;
  -webkit-appearance:none;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  border-radius:14px;
  min-height:46px;
  padding:0 14px;
  font:inherit;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  pointer-events:auto !important;
  touch-action:manipulation;
}
.aqt-profile-delete__danger{
  border:1px solid #e4aeb9;
  background:#fff2f5;
  color:#a62f4a;
}
.aqt-profile-delete__cancel{
  border:1px solid #e6e2ec;
  background:#fff;
  color:#686b79;
}

