:root {
  --hva-deep: #062f27;
  --hva-forest: #0d493c;
  --hva-lime: #d8fb42;
  --hva-coral: #f06445;
  --hva-cream: #f7f4e9;
  --hva-paper: #fffdf8;
  --hva-line: rgba(13, 73, 60, .13);
  --hva-muted: #647970;
}

body.woocommerce-account .hv-page-hero h1 { color: #fff !important; }
.hv-account-page { position: relative; overflow: hidden; padding: 88px 0 110px; color: var(--hva-deep); background: radial-gradient(circle at 8% 9%, rgba(216,251,66,.22), transparent 22%), var(--hva-cream); }
.hv-account-page::before { position: absolute; right: -150px; top: 120px; width: 480px; height: 480px; border: 1px solid rgba(13,73,60,.08); border-radius: 50%; box-shadow: 0 0 0 55px rgba(13,73,60,.025), 0 0 0 110px rgba(13,73,60,.018); content: ''; pointer-events: none; }
.hv-account-shell { position: relative; width: min(1420px, calc(100% - 64px)); margin-inline: auto; }
.hv-account-intro { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 110px; gap: 25px; align-items: end; margin-bottom: 45px; padding-right: 12px; }
.hv-account-intro > p { grid-column: 1; display: flex; align-items: center; gap: 12px; margin: 0; color: #728d1c; font-size: 12px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.hv-account-intro > p span { width: 46px; height: 3px; background: var(--hva-lime); }
.hv-account-intro h2 { grid-column: 1; max-width: 900px; margin: 8px 0 0; color: var(--hva-forest); font-family: Newsreader, Georgia, serif; font-size: clamp(43px,5vw,72px); font-weight: 590; letter-spacing: -.05em; line-height: .94; }
.hv-account-intro__badge { grid-column: 2; grid-row: 1 / 3; display: grid; width: 104px; height: 104px; place-items: center; border-radius: 30px; color: var(--hva-deep); background: var(--hva-lime); box-shadow: 12px 14px 0 rgba(13,73,60,.1); transform: rotate(4deg); }
.hv-account-intro__badge svg { width: 55px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.hv-account-workspace { position: relative; min-height: 420px; padding: clamp(24px,4vw,50px); border: 1px solid var(--hva-line); border-radius: 34px; background: rgba(255,253,248,.92); box-shadow: 0 30px 85px rgba(15,62,51,.1); }
.hv-account-workspace .woocommerce { display: flow-root; }
.hv-account-workspace .woocommerce::after { display: table; clear: both; content: ''; }

/* Accesso e registrazione. */
.hv-account-workspace #customer_login { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.hv-account-workspace #customer_login > div { width: auto; float: none; }
.hv-account-workspace #customer_login > div:only-child { grid-column: 1 / -1; width: min(720px,100%); margin-inline: auto; }
.hv-account-workspace h2 { margin: 0 0 25px; color: var(--hva-forest); font-family: Newsreader,Georgia,serif; font-size: clamp(34px,4vw,52px); font-weight: 600; letter-spacing: -.04em; }
.hv-account-workspace form.login,
.hv-account-workspace form.register,
.hv-account-workspace form.woocommerce-ResetPassword { margin: 0; padding: 32px; border: 1px solid var(--hva-line); border-radius: 26px; background: #fff; box-shadow: 0 18px 46px rgba(13,73,60,.065); }
.hv-account-workspace label { color: var(--hva-deep); font-size: 12px; font-weight: 850; letter-spacing: .04em; }
.hv-account-workspace input.input-text { min-height: 55px; padding: 0 17px; border: 1px solid rgba(13,73,60,.17); border-radius: 15px; color: var(--hva-deep); background: #f9faf5; font-size: 15px; box-shadow: none; }
.hv-account-workspace input.input-text:focus { outline: 3px solid rgba(216,251,66,.36); border-color: var(--hva-forest); }
.hv-account-workspace .show-password-input { top: 1.2em; right: 1em; }
.hv-account-workspace button.button,
.hv-account-workspace a.button { min-height: 52px; padding: 0 21px !important; border: 0 !important; border-radius: 15px !important; color: #fff !important; background: var(--hva-forest) !important; font-weight: 850 !important; box-shadow: none !important; }
.hv-account-workspace button.button:hover,
.hv-account-workspace a.button:hover { color: var(--hva-deep) !important; background: var(--hva-lime) !important; }
.hv-account-workspace .woocommerce-LostPassword { margin: 18px 0 0; }
.hv-account-workspace .woocommerce-LostPassword a { color: var(--hva-forest); font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }

/* Navigazione e contenuto dell'utente autenticato. */
.hv-account-workspace .woocommerce-MyAccount-navigation { width: 25%; padding: 14px; border-radius: 24px; background: var(--hva-deep); }
.hv-account-workspace .woocommerce-MyAccount-navigation ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.hv-account-workspace .woocommerce-MyAccount-navigation a { display: flex; min-height: 52px; align-items: center; padding: 0 16px; border-radius: 14px; color: rgba(255,255,255,.72); font-size: 13px; font-weight: 800; text-decoration: none; transition: color .2s ease, background .2s ease, transform .2s ease; }
.hv-account-workspace .woocommerce-MyAccount-navigation a:hover { color: #fff; background: rgba(255,255,255,.08); transform: translateX(3px); }
.hv-account-workspace .woocommerce-MyAccount-navigation .is-active a { color: var(--hva-deep); background: var(--hva-lime); }
.hv-account-workspace .woocommerce-MyAccount-content { width: 71%; min-height: 430px; padding: 12px 10px 12px 25px; color: var(--hva-muted); font-size: 15px; line-height: 1.7; }
.hv-account-workspace .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.hv-account-workspace .woocommerce-MyAccount-content a { color: var(--hva-forest); font-weight: 750; }
.hv-account-workspace table.shop_table { overflow: hidden; border: 1px solid var(--hva-line); border-radius: 18px; background: #fff; }
.hv-account-workspace table.shop_table th,
.hv-account-workspace table.shop_table td { padding: 16px; border-color: var(--hva-line); }

.hv-account-assistance { display: grid; grid-template-columns: 76px minmax(0,1fr) auto; gap: 22px; align-items: center; margin-top: 28px; padding: 25px; border-radius: 27px; color: #fff; background: linear-gradient(125deg,var(--hva-deep),var(--hva-forest)); box-shadow: 0 25px 65px rgba(6,47,39,.18); }
.hv-account-assistance__icon { display: grid; width: 76px; height: 76px; place-items: center; border-radius: 22px; color: var(--hva-deep); background: var(--hva-lime); }
.hv-account-assistance__icon svg { width: 42px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.hv-account-assistance small,.hv-account-assistance strong { display: block; }
.hv-account-assistance small { margin-bottom: 5px; color: var(--hva-lime); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hv-account-assistance strong { font-family: Newsreader,Georgia,serif; font-size: 29px; font-weight: 580; }
.hv-account-assistance p { margin: 5px 0 0; color: rgba(255,255,255,.67); font-size: 13px; }
.hv-account-assistance > a { display: grid; min-width: 265px; gap: 3px; padding: 15px 18px; border: 1px solid rgba(255,255,255,.15); border-radius: 17px; color: #fff; background: rgba(255,255,255,.07); text-decoration: none; }
.hv-account-assistance > a span { color: var(--hva-lime); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.hv-account-assistance > a b { font-size: 13px; overflow-wrap: anywhere; }

@media (max-width: 900px) {
  .hv-account-page { padding-top: 65px; }
  .hv-account-workspace #customer_login { grid-template-columns: 1fr; }
  .hv-account-workspace .woocommerce-MyAccount-navigation,
  .hv-account-workspace .woocommerce-MyAccount-content { width: 100%; float: none; }
  .hv-account-workspace .woocommerce-MyAccount-navigation { margin-bottom: 24px; }
  .hv-account-workspace .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hv-account-workspace .woocommerce-MyAccount-content { min-height: 0; padding: 5px 0; }
  .hv-account-assistance { grid-template-columns: 70px 1fr; }
  .hv-account-assistance > a { grid-column: 1 / -1; width: 100%; min-width: 0; }
}

@media (max-width: 620px) {
  .hv-account-page { padding: 52px 0 80px; }
  .hv-account-shell { width: calc(100% - 28px); }
  .hv-account-intro { grid-template-columns: 1fr 66px; margin-bottom: 30px; }
  .hv-account-intro h2 { font-size: 42px; }
  .hv-account-intro__badge { width: 64px; height: 64px; border-radius: 19px; }
  .hv-account-intro__badge svg { width: 36px; }
  .hv-account-workspace { min-height: 0; padding: 15px; border-radius: 24px; }
  .hv-account-workspace form.login,
  .hv-account-workspace form.register,
  .hv-account-workspace form.woocommerce-ResetPassword { padding: 21px; border-radius: 20px; }
  .hv-account-workspace .woocommerce-MyAccount-navigation ul { grid-template-columns: 1fr; }
  .hv-account-assistance { grid-template-columns: 58px 1fr; padding: 19px; border-radius: 22px; }
  .hv-account-assistance__icon { width: 58px; height: 58px; border-radius: 17px; }
  .hv-account-assistance__icon svg { width: 33px; }
  .hv-account-assistance strong { font-size: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  .hv-account-page *, .hv-account-page *::before, .hv-account-page *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
