/* Account presentation: keep core forms, validation, tokens and customer routes. */
.account-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 34px; margin-bottom:28px; border-radius:3px 65px 3px 3px; background:#edf4e7; }
.account-eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 10px; color:#67766d; font-size:12.00325px; letter-spacing:1.7px; }
.account-eyebrow>span { font-size:19.719625px; letter-spacing:0; }
[id^="account-"] #content .account-heading h1 { font-size:36.00975px; line-height:1.2; color:#43515d; margin:0; overflow-wrap:anywhere; }
[id^="account-"].container>.row { --bs-gutter-x:30px; }
[id^="account-"] #content { min-width:0; }
.auth-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:28px; align-items:stretch; }
.auth-panel { position:relative; min-width:0; padding:34px; border:1px solid #dce5d8; border-radius:22px; background:white; }
.account-panel-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:50%; color:#658070; background:#edf4e7; font-size:19.719625px; margin-bottom:20px; }
#account-login .auth-panel h2 { font-size:27.436px; line-height:1.25; margin:0 0 12px; color:#465967; }
#account-login .auth-panel p { color:#677984; font-size:14.575375px; line-height:1.8; }
#account-login .auth-panel .account-intro { font-size:13.718px; margin-bottom:21px; }
#account-login .auth-panel .account-intro strong { font-weight:500; }
.auth-create { background:linear-gradient(135deg,#edf4e7,#f5f8f0); overflow:hidden; display:flex; flex-direction:column; align-items:start; }
.auth-create>.account-panel-icon { background:#fff; }
.auth-botanical { position:absolute; font:201.483125px/1 Georgia,serif; top:-40px; right:-45px; color:#dce9d2; pointer-events:none; }
.auth-create>*:not(.auth-botanical) { position:relative; }
[id^="account-"] .btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:54px; padding:13px 22px; border:1px solid #526b79; border-radius:13px; background:linear-gradient(135deg,#587482,#405c6d); font-size:14.575375px; font-weight:600; line-height:1.4; color:white; box-shadow:0 5px 12px #405c6d16; white-space:normal; }
[id^="account-"] .btn-primary:hover { background:#3c596b!important; border-color:#3c596b; color:white!important; }
[id^="account-"] .btn-light { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:1px solid #d5e0d0; border-radius:12px; min-height:50px; padding:12px 19px; font-size:13.718px; color:#597180; background:#fff; white-space:normal; }
[id^="account-"] .btn-light:hover { background:#edf3e8; color:#435e70; }
#account-login .account-login-button { width:100%; min-height:58px; margin-top:10px; justify-content:space-between; }
#account-login .account-register-link { margin-top:auto; width:100%; min-height:56px; justify-content:space-between; }
#account-login .account-forgotten-link { display:inline-block; padding:12px 0 3px; font-size:13.718px; color:#637d8e; text-decoration:underline; text-underline-offset:4px; }
[id^="account-"] .form-control,[id^="account-"] .form-select { min-height:54px; font-size:14.575375px; line-height:1.5; padding:12px 14px; border:1px solid #cedbd2; border-radius:12px; background-color:#fff; color:#4b5e6b; }
[id^="account-"] .form-select { padding-right:38px; }
[id^="account-"] .form-control::placeholder { color:#89959d; opacity:1; }
[id^="account-"] .form-control:focus,[id^="account-"] .form-select:focus { border-color:#7e9bab; box-shadow:0 0 0 3px #6e91a31c; }
[id^="account-"] .form-control.is-invalid,[id^="account-"] .form-select.is-invalid { border-color:#bb756a; }
[id^="account-"] .form-label,[id^="account-"] .col-form-label,[id^="account-"] .form-check-label { color:#5b6d7a; font-size:13.718px; line-height:1.6; }
[id^="account-"] .col-form-label { text-align:left; padding-top:0; padding-bottom:8px; }
[id^="account-"] .invalid-feedback { font-size:12.860625px; line-height:1.6; }
[id^="account-"] .form-text { color:#71818b; font-size:12.860625px; line-height:1.7; }
[id^="account-"] .form-check-input { width:21px; height:21px; cursor:pointer; border-color:#aebfb4; }
[id^="account-"] .form-check-input:checked { background-color:#587482; border-color:#587482; }
[id^="account-"] .form-switch .form-check-input { width:40px; }
[id^="account-"] .form-check-label { cursor:pointer; }
[id^="account-"] .alert { padding:17px 20px; font-size:13.718px; line-height:1.65; border-radius:13px; }
[id^="account-"] #content>form:not(#form-login) { padding:30px; border:1px solid #dce5d8; border-radius:22px; background:#fff; margin-bottom:24px; }
[id^="account-"] fieldset { min-width:0; margin-bottom:26px; }
[id^="account-"] fieldset:last-of-type { margin-bottom:22px; }
[id^="account-"] legend { font-size:24.0065px; line-height:1.35; color:#4c6270; margin-bottom:22px; padding:0 0 12px; border-bottom:1px solid #dfe8d9; }
[id^="account-"] #content>p { font-size:14.575375px; color:#657884; line-height:1.8; margin:0 0 24px; }
#account-register #content>p { padding:15px 20px; border-radius:13px; background:#f2f6ed; }
#account-register #form-register>fieldset>.row>label,#account-edit #form-customer>fieldset>.row>label,#account-forgotten #form-forgotten>fieldset>.row>label,#account-address #form-address>fieldset>.row>label { width:100%; }
#account-register #form-register>fieldset>.row>.col-sm-10,#account-edit #form-customer>fieldset>.row>.col-sm-10,#account-forgotten #form-forgotten>fieldset>.row>.col-sm-10,#account-address #form-address>fieldset>.row>.col-sm-10 { width:100%; }
#account-register #form-register { max-width:900px; margin-left:auto; margin-right:auto; }
#account-register #account { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
#account-register #account>legend { grid-column:1/-1; }
#account-register #account>.row { display:block; margin-left:0; margin-right:0; }
#account-register #account>.row>* { padding-left:0; padding-right:0; }
#account-register #account>.custom-field { grid-column:1/-1; }
#account-register #form-register>fieldset:not(#account) { padding:22px 24px 5px; background:#f8faf5; border:1px solid #e4ebdf; border-radius:16px; }
#account-register #form-register>fieldset:not(#account)>legend { float:none; width:auto; padding:0 7px; margin:0 0 14px; border:0; font-size:21.434375px; }
#account-register #form-register>.text-end { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; }
#account-register #form-register>.text-end>.form-check { flex:1 1 300px; margin:0; text-align:left; padding-right:50px; }
#account-register #form-register>.text-end>.btn { flex:0 0 auto; min-width:170px; }
.account-welcome { font-size:15.43275px; line-height:1.5; margin:12px 0 0; color:#657880; }
.account-dashboard-heading .account-logout { flex:0 0 auto; }
#account-account #content>h2 { font-size:25.72125px; color:#4b6170; margin:34px 0 20px; }
.account-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; padding:0; margin:0 0 25px; }
.account-link-grid>li { min-width:0; }
.account-link-grid>li>a { position:relative; display:flex; align-items:center; gap:15px; height:100%; min-height:110px; padding:22px; border:1px solid #dce5d8; border-radius:17px; background:white; color:#536b7a; transition:border-color .2s,box-shadow .2s,transform .2s; }
.account-link-grid>li:nth-child(3n+2)>a { background:#f8faf5; }
.account-link-grid>li>a:hover { transform:translateY(-2px); border-color:#a8c29a; box-shadow:0 6px 16px #475b6b0b; }
.account-link-icon { display:grid; place-items:center; flex:0 0 45px; height:45px; border-radius:13px; color:#758d6a; background:#edf4e7; font-size:18.004875px; }
.account-link-grid>li:nth-child(3n+2) .account-link-icon { color:#647c8b; background:#edf1f3; }
.account-link-grid>li:nth-child(3n) .account-link-icon { color:#a38577; background:#f6eee7; }
.account-link-label { flex:1; font-size:14.575375px; line-height:1.55; overflow-wrap:anywhere; }
.account-link-arrow { font-size:11.145875px; color:#a0afb6; }
[id^="account-"] .table { font-size:13.718px; line-height:1.6; border-color:#dce5d8; }
[id^="account-"] .table thead { background:#eef4e8; }
[id^="account-"] .table td,[id^="account-"] .table th { padding:16px 12px; }
[id^="account-"] .table-responsive { border:1px solid #dce5d8; border-radius:16px; margin-bottom:22px; }
[id^="account-"] .list-group { border:1px solid #dce5d8; border-radius:17px; overflow:hidden; background:#f8faf5; }
[id^="account-"] .list-group-item { font-size:13.718px; padding:15px 17px; line-height:1.5; color:#5b7281; border-width:0 0 1px; }
[id^="account-"] .list-group-item:last-child { border-bottom:0; }
[id^="account-"] .list-group-item:hover { background:#edf4e7; }
@media(max-width:1199.98px) {
  .auth-panel { padding:28px; }
  .account-link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767.98px) {
  .auth-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
  .auth-panel { padding:27px; }
  .auth-create { min-height:300px; }
  .account-heading { padding:25px; border-top-right-radius:55px; }
  [id^="account-"] #content .account-heading h1 { font-size:30.8655px; }
  #account-register #account { grid-template-columns:minmax(0,1fr); }
  [id^="account-"] #content>form:not(#form-login) { padding:24px; }
  .account-link-grid>li>a { padding:19px; }
}
@media(max-width:575.98px) {
  .account-heading { padding:23px 20px; gap:12px; margin-bottom:24px; }
  [id^="account-"] #content .account-heading h1 { font-size:28.293375px; }
  .account-eyebrow { font-size:10.2885px; letter-spacing:1.2px; margin-bottom:8px; }
  .auth-panel { padding:23px 20px; border-radius:18px; }
  #account-login .auth-panel h2 { font-size:24.863875px; }
  #account-login .auth-panel p { font-size:14.575375px; }
  [id^="account-"] #content>form:not(#form-login) { padding:23px 18px; border-radius:18px; }
  [id^="account-"] legend { font-size:22.29175px; }
  #account-register #form-register>fieldset:not(#account) { padding:18px 16px 3px; }
  #account-register #form-register>fieldset:not(#account)>legend { font-size:20.577px; }
  #account-register #form-register>.text-end { display:block; }
  #account-register #form-register>.text-end>.form-check { display:block; margin-bottom:22px; line-height:1.7; }
  #account-register #form-register>.text-end>.btn { width:100%; }
  #account-account .account-dashboard-heading { flex-wrap:wrap; }
  .account-welcome { font-size:14.575375px; }
  .account-dashboard-heading .account-logout { padding:9px 13px; min-height:45px; font-size:12.860625px; margin-top:4px; }
  .account-link-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .account-link-grid>li>a { min-height:86px; padding:18px; border-radius:15px; }
  .account-link-label { font-size:14.575375px; }
  #account-account #content>h2 { font-size:24.0065px; margin-top:29px; }
  [id^="account-"] .table td,[id^="account-"] .table th { padding:12px 10px; }
  [id^="account-"] #content>form>.row:last-child .btn { padding-left:16px; padding-right:16px; }
}
@media(prefers-reduced-motion:reduce) { .account-link-grid>li>a { transition:none; } .account-link-grid>li>a:hover { transform:none; } }

#account-register #account>.account-email-field{grid-column:1/-1}
