/* public/css/profile.css */

.profile-hero {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   align-items: start;
   gap: 18px;
}

.profile-hero__content {
   min-width: 0;
}

.profile-hero__content .h1 {
   margin: 0;
   line-height: 1.2;
}

.profile-hero__content .text-muted {
   margin: 8px 0 0;
   line-height: 1.4;
}

.profile-hero__actions {
   display: flex;
   align-items: center;
   gap: 10px;
   flex-wrap: wrap;
}

.profile-meta {
   display: flex;
   align-items: center;
   gap: 10px;
   flex-wrap: wrap;
   margin-top: 12px;
}

.profile-grid {
   margin-top: 18px;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 18px;
}

.profile-section {
   margin: 0;
   border-radius: 18px;
   border: 1px solid var(--border);
   background: var(--panel);
   box-shadow: none;
}

.profile-section__title {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-bottom: 16px;
   font-weight: 700;
   color: var(--text);
}

.profile-section__title i {
   font-size: 20px;
   line-height: 1;
   opacity: .95;
}

.grid1 {
   display: grid;
   grid-template-columns: 1fr;
   gap: 14px;
}

.grid2 {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
}

.field-help {
   margin-top: 7px;
   color: var(--muted);
   font-size: .83rem;
   line-height: 1.45;
}

.checkbox {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   color: var(--text);
   min-height: 20px;
}

.checkbox input {
   margin: 0;
}

.input[disabled],
.input:disabled {
   opacity: 0.92;
   cursor: not-allowed;
   background: color-mix(in oklab, var(--panel), var(--text) 2%);
}

input[type="file"].input {
   height: auto;
   min-height: 44px;
   padding-top: 10px;
   padding-bottom: 10px;
   line-height: 1.3;
   cursor: pointer;
}

input[type="file"].input::file-selector-button {
   margin-right: 12px;
   border: 1px solid var(--border);
   background: color-mix(in oklab, var(--panel), #fff 2%);
   color: var(--text);
   border-radius: 10px;
   padding: 8px 12px;
   cursor: pointer;
   font: inherit;
   transition: background-color 180ms ease, border-color 180ms ease;
}

input[type="file"].input::file-selector-button:hover {
   background: var(--hover);
   border-color: transparent;
}

.profile-avatar-block {
   width: 100%;
}

.profile-upload-box {
   width: 100%;
   border: 1px dashed var(--border);
   border-radius: 16px;
   padding: 16px;
   background: color-mix(in oklab, var(--panel), #fff 1%);
}

.profile-upload-box:hover {
   border-color: color-mix(in oklab, var(--brand), var(--border) 55%);
}

.profile-avatar-actions {
   display: flex;
   align-items: center;
   gap: 10px;
   flex-wrap: wrap;
   margin-top: 14px;
}

.profile-avatar-actions .btn {
   min-width: 180px;
   justify-content: center;
}

@media (max-width: 980px) {
   .profile-grid {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 720px) {
   .profile-hero {
      grid-template-columns: 1fr;
      gap: 14px;
   }

   .profile-hero__actions {
      width: 100%;
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
   }

   .profile-hero__actions .btn {
      width: 100%;
      min-width: 0;
      justify-content: center;
   }

   .grid2 {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 560px) {
   .profile-hero {
      gap: 12px;
   }

   .profile-meta {
      gap: 8px;
      margin-top: 10px;
   }

   .profile-avatar-actions {
      flex-direction: column;
      align-items: stretch;
   }

   .profile-avatar-actions .btn {
      width: 100%;
      min-width: 0;
   }
}