/* Customer account — mobile first, built to remain usable at 320px. */
.account-page-shell { min-height: 70vh; padding: 18px 0 64px; background: linear-gradient(180deg, #f3f9ff 0, #f8fbff 260px, #fff 100%); }
.account-container { width: min(1160px, calc(100% - 28px)); margin: 0 auto; }
.account-hero { padding: 22px 4px 24px; }
.account-hero p, .account-panel-heading p { margin: 0 0 7px; color: #087fce; font: 800 .72rem/1.3 "DM Sans", sans-serif; letter-spacing: .11em; }
.account-hero h1 { margin: 0; color: #102a43; font: 750 clamp(2rem, 9vw, 3.4rem)/1 "DM Sans", sans-serif; letter-spacing: -.055em; }
.account-hero > span { display: block; max-width: 620px; margin-top: 12px; color: #62758a; font-size: .94rem; line-height: 1.55; }
.account-grid { display: grid; grid-template-columns: 1fr; gap: 16px; align-items: start; }
.account-sidebar, .account-content, .account-profile-card, .account-state-card { border: 1px solid #dcebf7; border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(21, 78, 119, .08); }
.account-sidebar { padding: 12px; overflow: hidden; }
.account-person { display: flex; align-items: center; gap: 11px; padding: 6px 4px 13px; }
.account-person-avatar, .account-avatar-editor > span { display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: linear-gradient(145deg, #0b8ed8, #1554a2); color: #fff; font-weight: 800; }
.account-person-avatar { width: 42px; height: 42px; }
.account-person > span:last-child { display: grid; gap: 2px; overflow: hidden; }
.account-person b, .account-person small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-person b { color: #102a43; font-size: .9rem; }.account-person small { color: #6c7f92; font-size: .73rem; }
.account-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.account-nav a, .account-signout { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 11px; padding: 8px; font: 750 .76rem/1.2 "DM Sans", sans-serif; text-align: center; cursor: pointer; }
.account-nav a { color: #62758a; }.account-nav a:hover, .account-nav a.active { background: #e9f6ff; color: #087fce; }
.account-nav a i { font-size: .9rem; }.account-signout { width: 100%; margin-top: 7px; background: #fff4f4; color: #b43d45; }
.account-content { min-height: 430px; padding: 20px 16px; }
.account-panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.account-panel-heading h2 { margin: 0; color: #102a43; font: 750 clamp(1.65rem, 7vw, 2.25rem)/1.05 "DM Sans", sans-serif; letter-spacing: -.04em; }
.account-panel-heading span { display: block; max-width: 610px; margin-top: 9px; color: #6c7f92; font-size: .9rem; line-height: 1.5; }
.account-profile-card { padding: 18px 15px; box-shadow: none; }
.account-avatar-editor { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid #e7eff6; }
.account-avatar-editor > span, .account-avatar-editor img { width: 62px; height: 62px; object-fit: cover; }
.account-avatar-editor img { flex: 0 0 auto; border-radius: 50%; background: #e9f6ff; }
.account-avatar-editor div { display: grid; gap: 4px; }.account-avatar-editor b { color: #102a43; }.account-avatar-editor small { color: #6c7f92; line-height: 1.4; }
.account-form-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 20px; }
.account-field { display: grid; gap: 7px; min-width: 0; }.account-field span { color: #203b55; font-size: .82rem; font-weight: 800; }
.account-field input { width: 100%; min-height: 48px; border: 1px solid #cfdfea; border-radius: 12px; padding: 0 13px; background: #fff; color: #102a43; font: 500 .95rem/1 "DM Sans", sans-serif; }
.account-field input[readonly] { background: #f4f7fa; color: #65788b; cursor: not-allowed; }.account-field small { color: #718397; font-size: .72rem; line-height: 1.4; }
.account-field input:focus { border-color: #168ed1; box-shadow: 0 0 0 3px rgba(22, 142, 209, .13); outline: 0; }
.account-form-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #e7eff6; }
.account-form-actions > span { color: #65788b; font-size: .8rem; }
.account-primary-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 12px; padding: 0 18px; background: linear-gradient(135deg, #0b8ed8, #1268b3); color: #fff; font: 800 .88rem/1 "DM Sans", sans-serif; box-shadow: 0 8px 20px rgba(11, 142, 216, .2); cursor: pointer; }
.account-primary-button:hover { background: linear-gradient(135deg, #087fc3, #0e599d); }.account-primary-button:disabled { opacity: .58; cursor: wait; }
.account-alert { display: flex; align-items: center; gap: 9px; margin: 0 0 16px; border-radius: 12px; padding: 12px; font-size: .84rem; line-height: 1.45; }
.account-alert.error { background: #fff1f2; color: #a52f3b; }.account-alert.success { background: #ecfbf6; color: #087357; }.account-alert button { min-height: 36px; margin-left: auto; border: 0; border-radius: 9px; padding: 0 10px; background: currentColor; color: #fff; font-weight: 800; cursor: pointer; }
.account-state-card { display: grid; place-items: center; gap: 12px; min-height: 260px; padding: 28px; color: #62758a; text-align: center; }.account-state-card.compact { min-height: 220px; box-shadow: none; }
.account-state-card h2, .account-state-card p { margin: 0; }.account-state-card h2 { color: #102a43; }.account-state-card i { color: #168ed1; font-size: 1.8rem; }
.account-spinner { width: 28px; height: 28px; border: 3px solid #d9edf9; border-top-color: #0b8ed8; border-radius: 50%; animation: account-spin .8s linear infinite; }
.account-page-shell :focus-visible { outline: 3px solid rgba(11, 142, 216, .42); outline-offset: 3px; }
.account-count-pill { min-width: 38px; min-height: 38px; display: grid !important; place-items: center; flex: 0 0 auto; margin: 0 !important; border-radius: 999px; background: #e9f6ff; color: #087fce !important; font-weight: 800; }
.account-empty-state { display: grid; place-items: center; min-height: 330px; padding: 30px 16px; text-align: center; }.account-empty-state > span { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 20px; background: #e9f6ff; color: #087fce; font-size: 1.5rem; }.account-empty-state h3 { margin: 18px 0 7px; color: #102a43; font-size: 1.2rem; }.account-empty-state p { max-width: 430px; margin: 0 0 20px; color: #6c7f92; line-height: 1.5; }
.account-booking-list { display: grid; gap: 13px; }.account-booking-card { display: grid; grid-template-columns: 86px minmax(0, 1fr); overflow: hidden; border: 1px solid #dcebf7; border-radius: 15px; background: #fff; }.account-booking-image { min-height: 100%; display: grid; place-items: center; overflow: hidden; background: #eaf5fc; color: #168ed1; font-size: 1.3rem; }.account-booking-image img { width: 100%; height: 100%; object-fit: cover; }.account-booking-main { min-width: 0; padding: 14px 12px; }.account-booking-title { display: grid; gap: 9px; }.account-booking-title small { color: #728497; font-size: .67rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }.account-booking-title h3 { margin: 4px 0 0; font: 750 .96rem/1.3 "DM Sans", sans-serif; }.account-booking-title h3 a { color: #102a43; }.account-status { width: fit-content; border-radius: 999px; padding: 5px 8px; font-size: .65rem; font-weight: 800; }.account-status.pending { background: #fff6dc; color: #8a6211; }.account-status.confirmed { background: #e8f8f2; color: #087357; }.account-status.completed { background: #e9f6ff; color: #086cae; }.account-status.cancelled { background: #fff0f1; color: #a52f3b; }.account-booking-facts { display: grid; grid-template-columns: 1fr; gap: 9px; margin: 14px 0 0; }.account-booking-facts div { min-width: 0; }.account-booking-facts dt { display: flex; align-items: center; gap: 5px; color: #718397; font-size: .66rem; }.account-booking-facts dd { margin: 3px 0 0; overflow-wrap: anywhere; color: #203b55; font-size: .78rem; font-weight: 750; }
.account-live-message { min-height: 20px; margin-top: -13px; color: #577086; font-size: .78rem; }.account-wishlist-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }.account-wishlist-card { display: grid; grid-template-columns: 116px minmax(0, 1fr); overflow: hidden; border: 1px solid #dcebf7; border-radius: 16px; background: #fff; }.account-wishlist-image { min-height: 100%; display: grid; place-items: center; overflow: hidden; background: #eaf5fc; color: #168ed1; font-size: 1.4rem; }.account-wishlist-image img { width: 100%; height: 100%; object-fit: cover; }.account-wishlist-body { min-width: 0; padding: 13px; }.account-wishlist-meta { display: flex; flex-wrap: wrap; gap: 7px; color: #6c7f92; font-size: .65rem; font-weight: 700; }.account-wishlist-meta span { display: inline-flex; align-items: center; gap: 4px; }.account-wishlist-body h3 { margin: 8px 0 7px; font: 750 .95rem/1.28 "DM Sans", sans-serif; }.account-wishlist-body h3 a { color: #102a43; }.account-wishlist-rating { display: flex; align-items: center; gap: 4px; color: #6c7f92; font-size: .7rem; }.account-wishlist-rating i { color: #f3a712; }.account-wishlist-rating b { color: #203b55; }.account-wishlist-footer { display: grid; gap: 10px; margin-top: 12px; }.account-wishlist-footer > div:first-child { display: grid; gap: 2px; }.account-wishlist-footer small { color: #718397; font-size: .62rem; text-transform: uppercase; }.account-wishlist-footer strong { color: #102a43; font-size: .85rem; }.account-wishlist-actions { display: flex; align-items: center; gap: 7px; }.account-wishlist-actions a, .account-wishlist-actions button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font-size: .75rem; font-weight: 800; }.account-wishlist-actions a { flex: 1; background: #e9f6ff; color: #087fce; }.account-wishlist-actions button { width: 44px; flex: 0 0 auto; border: 0; background: #fff0f1; color: #b43d45; cursor: pointer; }
@keyframes account-spin { to { transform: rotate(360deg); } }

@media (min-width: 700px) {
  .account-container { width: min(1160px, calc(100% - 48px)); }
  .account-content { padding: 28px; }.account-profile-card { padding: 24px; }
  .account-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.account-field.full { grid-column: 1 / -1; }
  .account-form-actions { flex-direction: row; align-items: center; justify-content: space-between; }.account-primary-button { min-width: 170px; }
  .account-booking-card { grid-template-columns: 132px minmax(0, 1fr); }.account-booking-main { padding: 18px; }.account-booking-title { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }.account-booking-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .account-wishlist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.account-wishlist-card { display: block; }.account-wishlist-image { height: 168px; }.account-wishlist-body { padding: 17px; }.account-wishlist-footer { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
}

@media (min-width: 900px) {
  .account-page-shell { padding-top: 28px; }.account-hero { padding: 28px 4px 32px; }
  .account-grid { grid-template-columns: 242px minmax(0, 1fr); gap: 22px; }
  .account-sidebar { position: sticky; top: 104px; padding: 15px; }.account-person { padding: 5px 5px 18px; }
  .account-nav { grid-template-columns: 1fr; }.account-nav a, .account-signout { justify-content: flex-start; padding: 0 13px; font-size: .84rem; text-align: left; }
  .account-signout { margin-top: 14px; }.account-content { min-height: 580px; padding: 34px; }
}

@media (prefers-reduced-motion: reduce) { .account-spinner { animation: none; } }

.account-deposit-balance-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:22px}.account-deposit-balance-grid article{display:flex;align-items:flex-start;gap:13px;padding:16px;border:1px solid #bde8d1;border-radius:15px;background:linear-gradient(135deg,#effcf3,#f7fffa)}.account-deposit-balance-grid i{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:12px;background:#087fce;color:#fff}.account-deposit-balance-grid div{display:grid;gap:3px}.account-deposit-balance-grid small{color:#597d68;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.account-deposit-balance-grid b{color:#123c29;font-size:1.1rem}.account-deposit-balance-grid span{color:#668071;font-size:.75rem;line-height:1.4}.account-deposit-list{display:grid;gap:10px}.account-deposit-entry{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:14px;border:1px solid #dcebf7;border-radius:14px;background:#fff}.account-deposit-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#e9f6ff;color:#087fce}.account-deposit-entry.debit .account-deposit-icon{background:#fff4e6;color:#b96d00}.account-deposit-entry div{min-width:0}.account-deposit-entry small{color:#728497;font-size:.66rem;font-weight:800}.account-deposit-entry h3{margin:4px 0;color:#17364c;font-size:.91rem}.account-deposit-entry p,.account-deposit-entry em{display:block;margin:0;color:#668071;font-size:.75rem;line-height:1.4}.account-deposit-entry em{margin-top:4px;overflow-wrap:anywhere;font-style:normal}.account-deposit-entry strong{grid-column:2;color:#087357;font-size:.88rem}.account-deposit-entry strong.debit{color:#a75f00}@media(min-width:700px){.account-deposit-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-deposit-entry{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;padding:16px}.account-deposit-entry strong{grid-column:auto}}

/* Account redesign — same editorial system used by the public home page. */
body:has(.account-page-shell), body:has(.account-page-shell) .customer-shell { background: var(--home-canvas, #f4f0e8) !important; color: var(--home-ink, #173d32); }
body:has(.account-page-shell) .customer-navbar { background: var(--home-surface, #fffdf8) !important; border-bottom: 1px solid var(--home-line, #d9d7cd); box-shadow: none !important; }
body:has(.account-page-shell) .customer-navbar .hlt-logo, body:has(.account-page-shell) .customer-navbar .hlt-nav-link, body:has(.account-page-shell) .customer-navbar .hlt-nav-signin { color: var(--home-ink-strong, #102e26) !important; }
.account-page-shell { min-height: calc(100vh - 70px); padding: 0 0 clamp(44px, 7vw, 88px); background: var(--home-canvas, #f4f0e8); font-family: Inter, "DM Sans", system-ui, sans-serif; }
.account-container { width: min(var(--home-container, 1180px), calc(100% - 32px)); }
.account-hero { position: relative; overflow: hidden; margin-inline: calc((100vw - min(var(--home-container, 1180px), calc(100vw - 32px))) / -2); padding: clamp(54px, 8vw, 92px) max(16px, calc((100vw - min(var(--home-container, 1180px), calc(100vw - 32px))) / 2)) clamp(48px, 7vw, 78px); background: var(--home-ink-strong, #102e26); color: #fffdf8; }
.account-hero::after { position: absolute; width: 420px; height: 420px; right: -165px; bottom: -275px; border: 1px solid rgba(238,226,189,.4); border-radius: 50%; content: ""; }
.account-hero::before { position: absolute; width: 185px; height: 185px; right: 11%; top: -105px; border: 1px solid rgba(238,226,189,.23); border-radius: 50%; content: ""; }
.account-hero > * { position: relative; z-index: 1; }
.account-hero p, .account-panel-heading p { margin: 0 0 12px; color: var(--home-accent-soft, #eee2bd); font: 700 .68rem/1.3 Inter, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.account-hero h1 { max-width: 650px; color: #fffdf8; font: 400 clamp(2.55rem, 7vw, 4.7rem)/.98 Georgia, "Times New Roman", serif; letter-spacing: -.05em; }
.account-hero > span { max-width: 570px; margin-top: 17px; color: rgba(255,253,248,.78); font-size: .93rem; line-height: 1.65; }
.account-grid { margin-top: clamp(24px, 4vw, 42px); gap: 22px; }
.account-sidebar, .account-content, .account-profile-card, .account-state-card { border: var(--home-border, 1px solid #d9d7cd); border-radius: 0; background: var(--home-surface, #fffdf8); box-shadow: none; }
.account-sidebar { padding: 0; background: transparent; border: 0; overflow: visible; }
.account-person { gap: 12px; padding: 0 0 18px; border-bottom: var(--home-border, 1px solid #d9d7cd); }
.account-person-avatar, .account-avatar-editor > span { border-radius: 50%; background: var(--home-ink-strong, #102e26); color: var(--home-accent-soft, #eee2bd); font-family: Georgia, serif; }
.account-person-avatar { width: 48px; height: 48px; border: 1px solid var(--home-accent, #c89539); }
.account-person b { color: var(--home-ink-strong, #102e26); font-size: .88rem; }.account-person small { color: var(--home-muted, #747b75); font-size: .74rem; }
.account-nav { gap: 0; margin-top: 12px; border-top: var(--home-border, 1px solid #d9d7cd); }
.account-nav a, .account-signout { min-height: 49px; border-radius: 0; border-bottom: var(--home-border, 1px solid #d9d7cd); padding: 0 4px; color: var(--home-copy, #4f5d56); font: 600 .82rem/1.2 Inter, sans-serif; }
.account-nav a:hover, .account-nav a.active { background: transparent; color: var(--home-positive, #35705a); }
.account-nav a.active { box-shadow: inset 3px 0 0 var(--home-accent, #c89539); padding-left: 13px; }
.account-nav a i { width: 20px; color: var(--home-positive, #35705a); }.account-signout { margin-top: 16px; justify-content: flex-start; background: transparent; color: #8e3731; }
.account-signout:hover { color: #651f1b; background: #f7ece7; }
.account-content { min-height: 580px; padding: clamp(20px, 4vw, 42px); }
.account-panel-heading { margin-bottom: clamp(26px, 4vw, 38px); padding-bottom: 22px; border-bottom: var(--home-border, 1px solid #d9d7cd); }
.account-panel-heading p { color: var(--home-positive, #35705a); }
.account-panel-heading h2 { color: var(--home-ink-strong, #102e26); font: 400 clamp(2rem, 4.6vw, 3.15rem)/1.03 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.account-panel-heading span { color: var(--home-copy, #4f5d56); font-size: .9rem; line-height: 1.62; }
.account-count-pill { min-width: 40px; min-height: 40px; border: 1px solid var(--home-accent, #c89539); border-radius: 50%; background: transparent; color: var(--home-ink-strong, #102e26) !important; }
.account-profile-card { padding: clamp(18px, 3vw, 30px); }
.account-avatar-editor { padding-bottom: 20px; border-bottom: var(--home-border, 1px solid #d9d7cd); }.account-avatar-editor b { color: var(--home-ink-strong, #102e26); }.account-avatar-editor small { color: var(--home-copy, #4f5d56); }
.account-field { gap: 8px; }.account-field span { color: var(--home-ink-strong, #102e26); font-size: .74rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.account-field input { min-height: 50px; border: 0; border-bottom: 1px solid var(--home-line, #d9d7cd); border-radius: 0; padding: 0 2px; background: transparent; color: var(--home-ink-strong, #102e26); font: 500 .95rem/1.2 Inter, sans-serif; }
.account-field input[readonly] { background: transparent; color: var(--home-muted, #747b75); }.account-field input:focus { border-color: var(--home-positive, #35705a); box-shadow: 0 2px 0 var(--home-positive, #35705a); }
.account-form-actions { border-top: var(--home-border, 1px solid #d9d7cd); }.account-form-actions > span { color: var(--home-copy, #4f5d56); }
.account-primary-button { min-height: 48px; border-radius: 999px; padding-inline: 22px; background: var(--home-ink-strong, #102e26); box-shadow: none; color: #fffdf8; font: 600 .85rem/1 Inter, sans-serif; }
.account-primary-button:hover { background: var(--home-positive, #35705a); }
.account-alert { border-radius: 0; border-left: 3px solid currentColor; }.account-alert.success { background: #edf5ee; color: #276148; }.account-alert.error { background: #f8eeea; color: #8e3731; }
.account-state-card { min-height: 270px; padding: 30px; background: transparent; color: var(--home-copy, #4f5d56); }.account-state-card h2 { color: var(--home-ink-strong, #102e26); font: 400 1.8rem Georgia, serif; }.account-state-card i { color: var(--home-accent, #c89539); }.account-spinner { border-color: var(--home-accent-soft, #eee2bd); border-top-color: var(--home-positive, #35705a); }
.account-empty-state { min-height: 320px; border: var(--home-border, 1px solid #d9d7cd); background: #fffdf8; }.account-empty-state > span { width: 65px; height: 65px; border-radius: 50%; background: var(--home-accent-soft, #eee2bd); color: var(--home-ink-strong, #102e26); }.account-empty-state h3 { color: var(--home-ink-strong, #102e26); font: 400 1.55rem Georgia, serif; }.account-empty-state p { color: var(--home-copy, #4f5d56); }
.account-booking-list { gap: 16px; }.account-booking-card { grid-template-columns: 112px minmax(0,1fr); border: var(--home-border, 1px solid #d9d7cd); border-radius: 0; background: #fffdf8; transition: transform .2s ease, box-shadow .2s ease; }.account-booking-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(16,46,38,.09); }.account-booking-image { background: #d8d0bf; color: var(--home-ink-strong, #102e26); }.account-booking-main { padding: 17px; }.account-booking-title small { color: var(--home-positive, #35705a); font-size: .64rem; letter-spacing: .08em; }.account-booking-title h3 { font: 400 1.18rem/1.17 Georgia, serif; }.account-booking-title h3 a { color: var(--home-ink-strong, #102e26); }.account-status { border-radius: 999px; padding: 6px 10px; font-size: .64rem; }.account-status.pending { background: #f8efd7; color: #77561c; }.account-status.confirmed { background: #e7f0e9; color: #276148; }.account-status.completed { background: #e6efe9; color: #276148; }.account-status.cancelled { background: #f8eeea; color: #8e3731; }
.account-booking-facts { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px 18px; margin-top: 17px; }.account-booking-facts dt { gap: 6px; color: var(--home-muted, #747b75); font-size: .65rem; letter-spacing: .02em; }.account-booking-facts dt i { color: var(--home-accent, #c89539); }.account-booking-facts dd { color: var(--home-ink-strong, #102e26); font-size: .8rem; }.account-booking-detail-link { margin-top: 19px; color: var(--home-positive, #35705a); font-size: .78rem; }.account-booking-detail-link:hover { color: var(--home-ink-strong, #102e26); text-decoration: underline; text-underline-offset: 4px; }
.account-wishlist-grid { gap: 16px; }.account-wishlist-card { border: var(--home-border, 1px solid #d9d7cd); border-radius: 0; background: #fffdf8; transition: transform .2s ease, box-shadow .2s ease; }.account-wishlist-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(16,46,38,.09); }.account-wishlist-image { background: #d8d0bf; color: var(--home-ink-strong, #102e26); }.account-wishlist-body { padding: 17px; }.account-wishlist-meta { color: var(--home-positive, #35705a); font-size: .64rem; }.account-wishlist-body h3 { margin: 10px 0 8px; font: 400 1.16rem/1.2 Georgia, serif; }.account-wishlist-body h3 a { color: var(--home-ink-strong, #102e26); }.account-wishlist-rating { color: var(--home-copy, #4f5d56); }.account-wishlist-rating i { color: var(--home-accent, #c89539); }.account-wishlist-rating b { color: var(--home-ink-strong, #102e26); }.account-wishlist-footer { border-top: var(--home-border, 1px solid #d9d7cd); padding-top: 13px; }.account-wishlist-footer small { color: var(--home-muted, #747b75); }.account-wishlist-footer strong { color: var(--home-ink-strong, #102e26); font: 600 .9rem Inter, sans-serif; }.account-wishlist-actions a, .account-wishlist-actions button { min-height: 40px; border-radius: 999px; font-size: .72rem; }.account-wishlist-actions a { background: var(--home-ink-strong, #102e26); color: #fffdf8; }.account-wishlist-actions a:hover { background: var(--home-positive, #35705a); }.account-wishlist-actions button { border: 1px solid #e5ccc4; background: transparent; color: #8e3731; }.account-wishlist-actions button:hover { background: #f8eeea; }
.account-confirmation-card { gap: 24px; }.account-confirmation-card>header { border-bottom: var(--home-border, 1px solid #d9d7cd); padding-bottom: 22px; }.account-confirmation-card h1 { color: var(--home-ink-strong, #102e26); font: 400 clamp(1.85rem, 4vw, 2.8rem)/1.08 Georgia, serif; }.account-confirmation-card header p,.account-confirmation-card header small { color: var(--home-copy, #4f5d56); }.account-confirmation-card header small { color: var(--home-positive, #35705a); font-weight: 700; letter-spacing: .11em; }.account-confirmation-notice { border-left: 3px solid var(--home-positive, #35705a); border-radius: 0; background: #edf5ee; color: #28583f; }.account-confirmation-notice.pending { border-color: var(--home-accent, #c89539); background: #fbf5e7; color: #6e5424; }.account-confirmation-notice.cancelled { border-color: #8e3731; background: #f8eeea; color: #8e3731; }.account-confirmation-grid { border: var(--home-border, 1px solid #d9d7cd); border-radius: 0; }.account-confirmation-grid div { border-bottom: var(--home-border, 1px solid #d9d7cd); padding: 17px; }.account-confirmation-grid div:nth-child(odd) { border-right: var(--home-border, 1px solid #d9d7cd); }.account-confirmation-grid dt { color: var(--home-muted, #747b75); font-size: .64rem; letter-spacing: .06em; }.account-confirmation-grid dd { color: var(--home-ink-strong, #102e26); font-size: .9rem; }.account-confirmation-guests { border: var(--home-border, 1px solid #d9d7cd); border-radius: 0; padding: 18px; }.account-confirmation-guests h2,.account-booking-timeline h2 { margin: 0 0 9px; color: var(--home-ink-strong, #102e26); font: 400 1.32rem Georgia, serif; }.account-confirmation-guests p { color: var(--home-copy, #4f5d56); }.account-booking-timeline { padding-top: 22px; border-top: var(--home-border, 1px solid #d9d7cd); }.account-booking-timeline ol { margin: 0; padding: 0; list-style: none; }.account-booking-timeline li { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 12px; min-height: 52px; padding: 0 0 14px; }.account-booking-timeline li>span { width: 10px; height: 10px; margin: 5px; border: 2px solid #fffdf8; border-radius: 50%; background: var(--home-accent, #c89539); box-shadow: 0 0 0 1px var(--home-accent, #c89539); }.account-booking-timeline li+li>span { background: var(--home-positive, #35705a); box-shadow: 0 0 0 1px var(--home-positive, #35705a); }.account-booking-timeline b { color: var(--home-ink-strong, #102e26); font-size: .83rem; }.account-booking-timeline small { display: block; margin-top: 3px; color: var(--home-muted, #747b75); font-size: .72rem; }.account-confirmation-card footer { padding-top: 20px; border-top: var(--home-border, 1px solid #d9d7cd); }.account-confirmation-card footer>a { color: var(--home-positive, #35705a); font-weight: 700; font-size: .82rem; }.account-confirmation-card footer button { border-radius: 999px; background: var(--home-ink-strong, #102e26); color: #fffdf8; font: 600 .78rem Inter, sans-serif; }.account-confirmation-card footer button:hover { background: var(--home-positive, #35705a); }
@media (min-width:700px){.account-container{width:min(var(--home-container,1180px),calc(100% - 60px))}.account-booking-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.account-wishlist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-wishlist-card{display:block}.account-wishlist-image{height:190px}.account-wishlist-footer{grid-template-columns:minmax(0,1fr) auto;align-items:end}}
@media (min-width:900px){.account-grid{grid-template-columns:220px minmax(0,1fr);gap:42px}.account-sidebar{position:sticky;top:100px}.account-nav{grid-template-columns:1fr}.account-nav a,.account-signout{justify-content:flex-start;padding-inline:4px}.account-content{padding:clamp(28px,4vw,48px)}.account-booking-card{grid-template-columns:185px minmax(0,1fr)}.account-booking-image{min-height:100%}.account-booking-facts{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.account-wishlist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.account-wishlist-image{height:172px}}
@media (max-width:520px){.account-hero{margin-inline:-16px;padding-inline:16px}.account-booking-card{grid-template-columns:88px minmax(0,1fr)}.account-booking-main{padding:14px}.account-booking-facts{grid-template-columns:1fr}.account-wishlist-card{grid-template-columns:108px minmax(0,1fr)}.account-wishlist-image{height:auto}.account-confirmation-grid{grid-template-columns:1fr}.account-confirmation-grid div:nth-child(odd){border-right:0}}

/* Structural treatments for the Account pages. */
.account-hero__inner { max-width: 650px; }.account-hero h1 em, .account-panel-heading h2 em { color: var(--home-accent-soft, #eee2bd); font-style: italic; font-weight: 400; }.account-panel-heading h2 em { color: var(--home-positive, #35705a); }
.account-hero__mark { position: absolute; z-index: 1; right: max(16px, calc((100vw - min(var(--home-container, 1180px), calc(100vw - 32px))) / 2)); bottom: 22px; display: grid; width: 88px; height: 88px; place-items: center; border: 1px solid rgba(238,226,189,.45); border-radius: 50%; color: var(--home-accent-soft, #eee2bd); transform: rotate(-12deg); }.account-hero__mark span { position: absolute; font: 400 1.05rem Georgia, serif; letter-spacing: .08em; }.account-hero__mark i { position: absolute; bottom: 11px; font-size: .64rem; }
.account-person > span:last-child { gap: 4px; }.account-person > span:last-child small { color: var(--home-positive, #35705a); font-size: .58rem; font-weight: 800; letter-spacing: .1em; }.account-person > span:last-child em { overflow: hidden; color: var(--home-muted, #747b75); font-size: .67rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.account-nav a { display: grid; grid-template-columns: 23px minmax(0,1fr) 15px; gap: 9px; }.account-nav a>span { display: grid; gap: 2px; }.account-nav a>span small { color: var(--home-muted, #747b75); font-size: .55rem; font-weight: 700; letter-spacing: .1em; }.account-nav-arrow { justify-self: end; font-size: .58rem !important; opacity: 0; transition: opacity .18s ease, transform .18s ease; }.account-nav a:hover .account-nav-arrow, .account-nav a.active .account-nav-arrow { opacity: 1; transform: translate(1px, -1px); }.account-signout { display: flex; justify-content: space-between; }.account-signout span { font: 600 .82rem/1.2 Inter, sans-serif; }
.account-heading-number { display: grid !important; width: 64px; height: 64px; place-items: center; align-content: center; flex: 0 0 auto; border: 1px solid var(--home-accent, #c89539); border-radius: 50%; color: var(--home-ink-strong, #102e26) !important; font: 400 1.35rem Georgia, serif; line-height: 1; }.account-heading-number small { display: block; color: var(--home-positive, #35705a); font: 800 .48rem/1 Inter,sans-serif; letter-spacing: .1em; }.account-panel-heading--profile,.account-panel-heading--bookings,.account-panel-heading--wishlist { align-items: flex-start; }
.account-profile-layout { display: grid; gap: 0; border: var(--home-border, 1px solid #d9d7cd); background: #fffdf8; }.account-profile-intro { display: grid; align-content: start; gap: 20px; padding: 24px; background: var(--home-ink-strong, #102e26); color: #fffdf8; }.account-profile-intro>p:first-child { margin: 0; color: var(--home-accent-soft, #eee2bd); font: 700 .64rem/1.3 Inter,sans-serif; letter-spacing: .13em; }.account-profile-intro .account-avatar-editor { padding: 0 0 17px; border-color: rgba(255,253,248,.2); }.account-profile-intro .account-avatar-editor b { color: #fffdf8; font: 400 1.2rem Georgia, serif; }.account-profile-intro .account-avatar-editor small { color: rgba(255,253,248,.68); }.account-profile-intro__copy { margin: 0; color: rgba(255,253,248,.78); font-size: .84rem; line-height: 1.65; }.account-profile-intro__note { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 9px; padding-top: 16px; border-top: 1px solid rgba(255,253,248,.2); color: var(--home-accent-soft, #eee2bd); font-size: .73rem; line-height: 1.5; }.account-profile-intro__note i { padding-top: 2px; }.account-profile-card { border: 0; border-radius: 0; }.account-form-intro { display: grid; gap: 7px; margin-bottom: 24px; padding-bottom: 17px; border-bottom: var(--home-border, 1px solid #d9d7cd); }.account-form-intro span { color: var(--home-positive, #35705a); font: 800 .62rem/1.3 Inter,sans-serif; letter-spacing: .12em; }.account-form-intro b { color: var(--home-ink-strong, #102e26); font: 400 1.22rem/1.25 Georgia, serif; }
.account-booking-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 12px; border-top: var(--home-border, 1px solid #d9d7cd); }.account-booking-card__footer>span { color: var(--home-muted, #747b75); font-size: .61rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }.account-booking-card__footer .account-booking-detail-link { margin: 0; }
.account-review-button{display:inline-flex;align-items:center;gap:7px;margin-top:13px;padding:9px 12px;border:1px solid #d7a83f;background:#fffaf0;color:#6b4d13;font:800 .72rem "DM Sans",sans-serif;cursor:pointer}.account-review-button:hover{background:#f8e8ba}.account-review-button i{color:#d89a14}.account-review-state{display:flex;align-items:center;gap:7px;margin-top:13px;color:#6b5a2d;font-size:.72rem;font-weight:800}.account-review-state.pending{color:#a66a0b}.account-review-state.approved{color:#276148}.account-review-state.rejected{color:#a13a32}.account-review-modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(8,31,24,.52);backdrop-filter:blur(3px)}.account-review-modal{position:fixed;z-index:201;inset:50% auto auto 50%;width:min(calc(100% - 30px),540px);transform:translate(-50%,-50%);padding:28px;background:#fffdf8;box-shadow:0 24px 70px rgba(0,0,0,.25)}.account-review-modal>small{color:#35705a;font-weight:900;font-size:.61rem;letter-spacing:.11em}.account-review-modal h3{margin:8px 0;font:400 1.45rem Georgia,serif;color:#102e26}.account-review-modal p{color:#66726b;font-size:.84rem;line-height:1.5}.account-review-close{position:absolute;right:13px;top:10px;border:0;background:transparent;color:#66726b;font-size:1.7rem;cursor:pointer}.account-star-picker{display:flex;gap:5px;margin:18px 0}.account-star-picker button{border:0;background:transparent;color:#d9d6ca;font-size:1.5rem;cursor:pointer;padding:2px}.account-star-picker button.selected{color:#e2a321}.account-review-modal input,.account-review-modal textarea{width:100%;box-sizing:border-box;margin:0 0 10px;padding:11px 12px;border:1px solid #d9d7cd;background:#fff;color:#102e26;font:inherit}.account-review-modal textarea{resize:vertical}.account-review-modal .account-primary-button{width:100%;justify-content:center;margin-top:5px}
@media (min-width:700px){.account-profile-layout{grid-template-columns:minmax(200px,.67fr) minmax(0,1.33fr)}.account-profile-intro{padding:31px}.account-profile-card{padding:31px}.account-heading-number{width:72px;height:72px;font-size:1.55rem}}
@media (max-width:520px){.account-hero__mark{display:none}.account-panel-heading{gap:12px}.account-heading-number{width:52px;height:52px;font-size:1.1rem}.account-panel-heading h2{font-size:1.85rem}.account-profile-intro{padding:20px}.account-booking-card__footer>span{display:none}.account-booking-card__footer{justify-content:flex-end}}

/* A saved tour is a decision card, not a gallery thumbnail. Keep all its details visible. */
@media (min-width:700px){.account-wishlist-grid{grid-template-columns:1fr}.account-wishlist-card{display:grid;grid-template-columns:minmax(230px,31%) minmax(0,1fr);min-height:248px}.account-wishlist-image{height:auto;min-height:248px}.account-wishlist-body{display:grid;align-content:center;padding:clamp(23px,3vw,34px)}.account-wishlist-body h3{max-width:640px;font-size:clamp(1.4rem,2.2vw,2rem)}.account-wishlist-rating{margin-top:2px}.account-wishlist-footer{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-top:20px}.account-wishlist-footer strong{font-size:1.02rem}.account-wishlist-actions a{min-width:124px}.account-wishlist-actions button{width:42px}}
.account-booking-detail-link{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:#087fce;font-weight:800;font-size:.78rem}.account-confirmation-card{display:grid;gap:20px}.account-confirmation-card>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #dcebf7;padding-bottom:18px}.account-confirmation-card h1{margin:5px 0;color:#102a43;font:800 clamp(1.45rem,4vw,2.1rem)/1.15 "DM Sans",sans-serif}.account-confirmation-card header p,.account-confirmation-card header small{margin:0;color:#64798c}.account-confirmation-notice{padding:14px;border-radius:12px;background:#e9f6ff;color:#16577f;line-height:1.55}.account-confirmation-notice.pending{background:#fff7db;color:#775300}.account-confirmation-notice.cancelled{background:#fff0f1;color:#9a3038}.account-confirmation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:1px solid #dcebf7;border-radius:14px;overflow:hidden}.account-confirmation-grid div{padding:14px;border-bottom:1px solid #dcebf7}.account-confirmation-grid div:nth-child(odd){border-right:1px solid #dcebf7}.account-confirmation-grid dt{color:#6a7d8f;font-size:.68rem;font-weight:800;text-transform:uppercase}.account-confirmation-grid dd{margin:5px 0 0;color:#17364c;font-weight:800}.account-confirmation-guests{padding:16px;border:1px solid #dcebf7;border-radius:14px}.account-confirmation-guests h2{margin:0 0 8px;font-size:1rem}.account-confirmation-guests p{margin:4px 0;color:#5f7487;line-height:1.55}.account-confirmation-card footer{display:flex;gap:12px;justify-content:space-between;align-items:center}.account-confirmation-card footer button{min-height:42px;padding:0 14px;border:0;border-radius:10px;background:#102a43;color:#fff;font-weight:800}@media(max-width:520px){.account-confirmation-grid{grid-template-columns:1fr}.account-confirmation-grid div:nth-child(odd){border-right:0}.account-confirmation-card>header,.account-confirmation-card footer{flex-direction:column}.account-confirmation-card footer button{width:100%}}@media print{.account-sidebar,.account-hero,.customer-navbar,.customer-topbar,.hlt-footer,.account-confirmation-card footer{display:none!important}.account-grid{display:block!important}.account-content{box-shadow:none!important;border:0!important}.account-confirmation-card{color:#000}}

/* Keep the account area quiet and practical: profile details come first. */
.account-page-shell { background: #f7f5f0; padding: 32px 0 64px; }
.account-hero { position: static; overflow: visible; margin-inline: 0; padding: 0 0 24px; background: transparent; color: inherit; }
.account-hero::before, .account-hero::after { display: none; }
.account-hero__inner { max-width: 680px; }
.account-hero p { margin-bottom: 6px; color: #35705a; font-size: .66rem; }
.account-hero h1 { color: #102e26; font: 400 clamp(2rem, 4vw, 2.7rem)/1.1 Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.account-hero > span { margin-top: 8px; color: #59645e; font-size: .9rem; }
.account-sidebar { padding: 14px; border: 1px solid #dfddd4; border-radius: 10px; background: #fffdfa; box-shadow: none; }
.account-person { gap: 10px; padding: 4px 4px 14px; border-bottom: 1px solid #e4e1d8; }
.account-person-avatar { width: 38px; height: 38px; border: 0; background: #245c4c; color: #fff; font: 700 .83rem/1 Inter, sans-serif; }
.account-person > span:last-child { gap: 3px; }
.account-person b { color: #1c332c; font-size: .84rem; }
.account-person > span:last-child small { color: #7a817c; font-size: .68rem; font-weight: 400; letter-spacing: 0; }
.account-nav { display: grid; grid-template-columns: 1fr; gap: 3px; margin-top: 12px; border: 0; }
.account-nav a { display: flex; min-height: 42px; justify-content: flex-start; gap: 10px; padding: 0 10px; border: 0; border-radius: 7px; color: #52615a; font: 600 .82rem/1.2 Inter, sans-serif; }
.account-nav a i { width: 16px; color: #5a786b; font-size: .84rem; }
.account-nav a > span { display: block; }
.account-nav a:hover, .account-nav a.active { padding-left: 10px; box-shadow: none; background: #edf4ef; color: #245c4c; }
.account-nav a.active { font-weight: 700; }
.account-signout { min-height: 40px; justify-content: flex-start; gap: 10px; margin-top: 12px; padding: 0 10px; border-top: 1px solid #e4e1d8; border-bottom: 0; border-radius: 0; background: transparent; color: #9a4740; font: 600 .8rem/1 Inter, sans-serif; }
.account-signout:hover { background: transparent; color: #742f2a; }
.account-content { border: 1px solid #dfddd4; border-radius: 10px; background: #fffdfa; box-shadow: none; }
.account-panel-heading { margin-bottom: 24px; padding-bottom: 17px; border-bottom: 1px solid #e4e1d8; }
.account-panel-heading p { color: #35705a; font-size: .65rem; }
.account-panel-heading h2 { color: #17372d; font: 400 clamp(1.7rem, 3.2vw, 2.25rem)/1.12 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.account-panel-heading span { margin-top: 7px; color: #647068; font-size: .85rem; }
.account-profile-card--simple { padding: clamp(18px, 3vw, 28px); border: 1px solid #e4e1d8; border-radius: 8px; background: #fff; box-shadow: none; }
.account-avatar-editor--simple { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; padding-bottom: 18px; border-color: #e8e5dc; }
.account-avatar-editor--simple > span, .account-avatar-editor--simple img { width: 56px; height: 56px; border: 1px solid #d6d2c8; background: #245c4c; color: #fff; font: 700 1rem/1 Inter, sans-serif; }
.account-avatar-editor--simple b { color: #223a31; font: 600 .93rem/1.3 Inter, sans-serif; }
.account-avatar-editor--simple small { color: #758078; font-size: .73rem; }
.account-avatar-upload { position: relative; display: inline-flex; margin-left: auto; overflow: hidden; cursor: pointer; }
.account-avatar-upload input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.account-avatar-upload span { display: inline-flex; min-height: 36px; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid #c9d8ce; border-radius: 6px; background: #fff; color: #245c4c; font: 600 .75rem/1 Inter, sans-serif; }
.account-avatar-upload:hover span { background: #edf4ef; }
.account-avatar-help { width: 100%; font-size: .68rem !important; }
.account-profile-card--simple .account-form-grid { margin-top: 22px; }
.account-profile-card--simple .account-field span { color: #43564d; font-size: .69rem; letter-spacing: .02em; text-transform: none; }
.account-profile-card--simple .account-field input { min-height: 46px; border: 1px solid #d9ddd7; border-radius: 6px; padding: 0 11px; background: #fff; color: #20372e; font: 400 .9rem/1.2 Inter, sans-serif; }
.account-profile-card--simple .account-field input:focus { border-color: #4d8a70; box-shadow: 0 0 0 3px rgba(77,138,112,.12); }
.account-profile-card--simple .account-field input[readonly] { background: #f6f5f1; color: #68726c; }
.account-profile-card--simple .account-form-actions { margin-top: 24px; padding-top: 16px; border-color: #e8e5dc; }
.account-profile-card--simple .account-primary-button { min-height: 42px; border-radius: 6px; background: #245c4c; font-size: .78rem; }
.account-profile-card--simple .account-primary-button:hover { background: #1d4a3d; }
@media (min-width:900px) { .account-grid { grid-template-columns: 210px minmax(0, 1fr); gap: 30px; } .account-sidebar { top: 92px; } }
@media (max-width:520px) { .account-page-shell { padding-top: 20px; } .account-avatar-upload { margin-left: 0; } }
