/* My account */
.page-account .nav { background: var(--c-brown); }

/* Header */
.acc-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--s-30);
  flex-wrap: wrap;
  padding: 157px var(--gutter) var(--s-30);
  background: var(--c-beige);
}
.acc-head__who { display: flex; align-items: center; gap: var(--s-30); }
.acc-head__who > div { display: flex; flex-direction: column; gap: var(--s-10); }
.acc-head__avatar { width: 120px; height: 120px; border-radius: var(--r-round); border: 1px solid var(--c-brown); object-fit: cover; flex-shrink: 0; }
.acc-stats { margin: 0; display: grid; grid-template-columns: repeat(4, auto); gap: 0; }
.acc-stats > div { display: flex; flex-direction: column-reverse; align-items: center; gap: 6px; padding: 0 var(--s-30); }
.acc-stats > div + div { border-left: 0.75px solid var(--c-brown-60); }
.acc-stats dd { margin: 0; font-size: var(--fs-sub); line-height: 1; }

/* Tabs */
.acc-tabs {
  position: sticky;
  top: 80px;
  z-index: 5;
  display: flex;
  gap: var(--s-30);
  padding: 0 var(--gutter);
  background: var(--c-beige);
  border-bottom: 0.75px solid var(--c-brown-60);
  overflow-x: auto;
  scrollbar-width: none;
}
.acc-tabs::-webkit-scrollbar { display: none; }
.acc-tab {
  position: relative;
  padding: var(--s-20) 0;
  font-size: var(--fs-small);
  color: var(--c-brown-60);
  white-space: nowrap;
  transition: color 0.3s var(--ease);
}
.acc-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--c-brown);
  transform: scaleX(0);
  transition: transform 0.6s var(--ease-zoom);
}
.acc-tab:hover,
.acc-tab.is-active { color: var(--c-brown); }
.acc-tab.is-active::after { transform: scaleX(1); }

/* Panels */
.acc-panel { padding-block: var(--s-60); gap: var(--s-30); min-height: 420px; animation: acc-in 0.8s var(--ease-zoom); }
@keyframes acc-in { from { opacity: 0; transform: translateY(12px); } }
.acc-panel__head { display: flex; flex-direction: column; gap: var(--s-10); }
.acc-empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-15);
  padding: var(--s-60) var(--s-30);
  border: 1px dashed var(--c-brown-60);
  border-radius: var(--r-5);
}

/* Favourites */
.acc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-15); }
.acc-card { position: relative; display: flex; flex-direction: column; border: 1px solid var(--c-brown); border-radius: var(--r-5); overflow: hidden; background: var(--c-beige); }
.acc-card__media { display: block; aspect-ratio: 3 / 4; overflow: hidden; border-bottom: 1px solid var(--c-brown); }
.acc-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--zoom-duration) var(--ease-zoom), filter var(--zoom-duration) var(--ease-zoom); }
.acc-card:hover .acc-card__media img { transform: scale(var(--zoom-scale)); filter: var(--zoom-filter); }
.acc-card__body { display: flex; flex-direction: column; gap: 6px; padding: var(--s-15); }
.acc-card__body h3 a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.acc-card__save {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: var(--r-round);
  background: rgba(49, 28, 24, 0.35);
}
.acc-card__save img { width: 22px; height: 20px; }
.acc-card__save::after {
  content: "";
  position: absolute;
  inset: 10px 9px;
  background: url("../assets/icons/btn-save-filled.svg") center / contain no-repeat;
  opacity: 0;
  transition: opacity 0.35s var(--ease);
}
.acc-card__save.is-saved::after { opacity: 1; }

/* Upcoming requests */
.acc-list { display: flex; flex-direction: column; gap: var(--s-15); }
.acc-req {
  display: grid;
  grid-template-columns: 160px 1fr auto;
  gap: var(--s-30);
  align-items: center;
  padding: var(--s-15);
  border: 1px solid var(--c-brown);
  border-radius: var(--r-5);
}
.acc-req__img { width: 160px; height: 120px; object-fit: cover; border-radius: var(--r-5); }
.acc-req__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.acc-req__side { display: flex; flex-direction: column; align-items: flex-end; gap: var(--s-10); }
.acc-req__side .btn { min-height: 44px; padding: 10px 28px; }
.acc-status { padding: 6px 12px; border-radius: 20px; background: var(--c-beige); font-size: 12px; }
.acc-req__cancel { color: var(--c-brown-60); text-decoration: underline; text-underline-offset: 4px; }
.acc-req__cancel:hover { color: var(--c-brown); }

/* Past journeys */
.acc-past { display: flex; flex-direction: column; gap: var(--s-30); }
.acc-trip { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-30); align-items: center; }
.acc-trip:nth-child(even) .acc-trip__media { order: 2; }
.acc-trip__media { aspect-ratio: 16 / 10; overflow: hidden; border: 1px solid var(--c-brown); border-radius: var(--r-5); }
.acc-trip__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--zoom-duration) var(--ease-zoom), filter var(--zoom-duration) var(--ease-zoom); }
.acc-trip:hover .acc-trip__media img { transform: scale(1.05); filter: var(--zoom-filter); }
.acc-trip__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-15); }
.acc-trip__foot { display: flex; align-items: center; gap: var(--s-10); }
.acc-trip__curator { width: 40px; height: 40px; border-radius: var(--r-round); object-fit: cover; border: 1px solid var(--c-brown); }
.acc-trip__stars { margin-left: var(--s-10); letter-spacing: 2px; }

/* Profile form */
.acc-form { display: flex; flex-direction: column; gap: var(--s-30); max-width: 900px; }
.acc-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-15) var(--s-30); }
.acc-field { display: flex; flex-direction: column; gap: 8px; font-size: var(--fs-small); color: var(--c-brown-60); }
.acc-field input {
  padding: 14px 16px;
  border: 1px solid var(--c-brown);
  border-radius: var(--r-5);
  background: var(--c-white);
  font-size: var(--fs-body);
  font-weight: 300;
  color: var(--c-brown);
}
.acc-field input:focus { outline: none; box-shadow: 0 0 0 2px var(--c-beige), 0 0 0 3px var(--c-brown); }
.acc-fieldset { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: var(--s-10); }
.acc-fieldset legend { font-size: var(--fs-small); color: var(--c-brown-60); margin-bottom: var(--s-10); }
.acc-fieldset .btn { min-height: 44px; padding: 10px 18px; }
.acc-check { display: flex; align-items: center; gap: var(--s-10); font-size: var(--fs-small); }
.acc-check input { width: 18px; height: 18px; accent-color: var(--c-brown); }
.acc-form__actions { display: flex; align-items: center; gap: var(--s-20); }
.acc-form__save { background: var(--c-brown); color: var(--c-white); min-width: 180px; }
.acc-form__save:hover { background: var(--c-white); color: var(--c-brown); }
.acc-note { border-top: 0.75px solid var(--c-brown-60); padding-top: var(--s-15); }
.acc-reset { color: var(--c-brown); text-decoration: underline; text-underline-offset: 4px; margin-left: 6px; font-size: inherit; }

/* Responsive */
@media (max-width: 1100px) {
  .acc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .acc-head { padding-top: 120px; align-items: flex-start; }
  .acc-tabs { top: 72px; }
  .acc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acc-req { grid-template-columns: 120px 1fr; }
  .acc-req__img { width: 120px; height: 100px; }
  .acc-req__side { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; }
  .acc-trip { grid-template-columns: 1fr; }
  .acc-trip:nth-child(even) .acc-trip__media { order: 0; }
}
@media (max-width: 600px) {
  .acc-head__who { flex-direction: column; align-items: flex-start; gap: var(--s-15); }
  .acc-head__avatar { width: 88px; height: 88px; }
  .acc-stats { grid-template-columns: repeat(2, auto); row-gap: var(--s-15); }
  .acc-stats > div:nth-child(3) { border-left: 0; }
  .acc-form__grid { grid-template-columns: 1fr; }
}
