/* Rymotel public theme — traveler account pages */
/* Ground: the sunlit gradient behind every account page. */
.site-main--account { padding-block-end: clamp(1rem, -1rem + 6vw, 4.5rem); background: var(--rym-gradient-sun); }
.account { max-inline-size: 46rem; padding-block-start: clamp(2.5rem, 1rem + 5vw, 6rem); }
.account__intro .entry__title { margin: 0; font-size: var(--rym-font-size-h1); animation: rym-reveal var(--rym-dur-3) var(--rym-ease-out) 60ms backwards; }
.account__intro .entry__content { margin-block-start: 1rem; color: var(--rym-color-text-muted); font-size: var(--rym-font-size-lead); line-height: 1.6; }
.account__intro .entry__content:empty { display: none; }

/* Sign-in, sign-up, password: the intro centred above one floating card. */
.account:has(.auth-card) .account__intro { text-align: center; }
.account:has(.auth-card) .account__intro .entry__content > * { margin-inline: auto; }

/* Panels */
.account-panel > * + * { margin-block-start: 1.25rem; }
.account-panel__title { margin-block-end: 0; font-size: 1.25rem; }
/* Wow §0: a hairline card with a whisper of depth, not a floating slab. */
.auth-card { max-inline-size: 30rem; margin-block: clamp(2rem, 1.5rem + 2vw, 3rem) 0; margin-inline: auto; padding: clamp(1.75rem, 1rem + 3vw, 3rem); border: 1px solid var(--rym-hairline); border-radius: 1.75rem; background-color: #fff; box-shadow: var(--rym-shadow-1); }
.auth-card > .account-panel__title { margin-block-end: .5rem; font-size: 1.125rem; }
.auth-card .account-form__submit { justify-self: stretch; min-block-size: 3.25rem; font-size: 1.0625rem; }
.auth-card .account-links { margin-block-start: 1.75rem; padding-block-start: 1.25rem; border-block-start: 1px solid var(--rym-hairline); text-align: center; }

/* Account sections (my account, my requests, the help-centre contact form) */
.account-section, .help-contact { padding: clamp(1.5rem, 1rem + 1.6vw, 2.5rem); border: 1px solid var(--rym-hairline); border-radius: 1.5rem; background-color: #fff; }
.account-section + .account-section { margin-block-start: 2rem; }
:is(.account-section, .help-contact) > .account-panel__title { font-family: var(--rym-font-display); font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); font-weight: var(--rym-font-weight-serif); letter-spacing: var(--rym-letter-spacing-serif); line-height: var(--rym-line-height-display); }


/* Forms */
.account-form { display: grid; gap: 1.25rem; }
.account-form--inline { gap: .75rem; justify-items: start; }
.account-form__row { display: grid; gap: 1rem; }
@media (min-width: 40rem) {
	.account-form__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.account-form__help { margin: 0; color: var(--rym-color-text-muted); }
.account-form__submit { justify-self: start; margin-block-start: .5rem; }
.account-field { display: grid; gap: .375rem; min-inline-size: 0; }
.account-field--invalid .account-field__control { border-color: var(--rym-color-warning-text); box-shadow: 0 0 0 1px var(--rym-color-warning-text); }
.account-field__error { color: var(--rym-color-warning-text); }

/* Links under a form */
.account-links { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.account-links a { display: inline-flex; align-items: center; min-block-size: 44px; font-weight: 700; }

/* Account summary: ruled rows. */
.account-summary { display: grid; margin-block-end: 0; margin-inline: 0; border-block-start: 1px solid var(--rym-hairline); }
.account-summary__item { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); gap: .25rem 1rem; padding-block: 1rem; border-block-end: 1px solid var(--rym-hairline); }
.account-summary dt { color: var(--rym-color-text-muted); font-size: .875rem; }
.account-summary dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 39.99rem) {
	.account-summary__item { grid-template-columns: minmax(0, 1fr); }
}
