/* Account-only styling; native Magento forms and Alpine handlers stay intact. */
body.lux-account { --account-ink:#252521; --account-border:#ddd8ce; --account-paper:#f7f5ef; }
body.lux-account #maincontent { box-sizing:border-box; width:100%; max-width:1240px; margin:0 auto!important; padding:150px 40px 80px!important; color:var(--account-ink); min-height:65vh; font-size:15px; line-height:1.6; }
.lux-account #maincontent > .container { padding:0; max-width:none; }
.lux-account #maincontent .page-title { font-size:clamp(28px,3vw,40px); font-weight:500; line-height:1.2; letter-spacing:-.025em; margin:0 0 36px; }
.lux-account #maincontent .columns, .lux-account #maincontent .column { min-width:0; }
.lux-account #maincontent .card { background:#fff; border:1px solid var(--account-border); border-radius:14px; padding:32px; box-shadow:0 4px 20px #25252104; }
.lux-account #customer-login-container { display:grid; grid-template-columns:1.2fr 1fr; gap:28px; align-items:stretch; }
.lux-account #customer-login-container .block-new-customer { background:var(--account-paper); display:flex; flex-direction:column; justify-content:center; padding:48px; }
.lux-account #maincontent h2, .lux-account #maincontent legend { font-size:23px; line-height:1.35; font-weight:500; margin-bottom:20px; }
.lux-account #maincontent h3 { font-size:18px; margin:0 0 14px; }
.lux-account #maincontent p { margin-bottom:20px; color:#59594f; }
.lux-account #maincontent fieldset { min-width:0; }
.lux-account #maincontent legend.contents { display:contents; }
.lux-account #maincontent legend.contents > span { display:block; margin:0 0 24px; font-size:22px; }
.lux-account #maincontent .field { margin:0 0 22px; }
.lux-account #maincontent .label { display:block; font-size:14px; font-weight:500; margin:0 0 8px; }
.lux-account #maincontent .control { width:100%; min-width:0; }
.lux-account #maincontent .control.flex { display:flex; align-items:center; gap:8px; }
.lux-account #maincontent :is(.form-input,.form-select,textarea,select) { width:100%; min-width:0; min-height:48px; border:1px solid #aaa99e; border-radius:6px; background:#fff; padding:11px 14px; color:var(--account-ink); font:inherit; box-shadow:none; }
.lux-account #maincontent input[type=checkbox], .lux-account #maincontent input[type=radio] { width:18px; height:18px; accent-color:#252521; flex-shrink:0; }
.lux-account #maincontent .field.choice { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.lux-account #maincontent .field.choice .label { margin:0; font-weight:400; }
.lux-account #maincontent .control > button { flex-shrink:0; width:44px; min-height:48px; display:grid; place-items:center; border-radius:6px; }
.lux-account #maincontent .control > button:hover { background:var(--account-paper); }
.lux-account #maincontent :is(a,button,input,select,textarea):focus-visible { outline:2px solid #72674d; outline-offset:4px; }
.lux-account #maincontent .actions-toolbar { display:flex; align-items:center; gap:20px; flex-wrap:wrap; padding-top:12px; margin-top:12px; }
.lux-account #maincontent .btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 24px; border:1px solid #252521; border-radius:6px; font-size:14px; font-weight:600; line-height:1.4; text-decoration:none; cursor:pointer; }
.lux-account #maincontent .btn-primary { background:#252521; color:#fff; }
.lux-account #maincontent .btn-primary:hover { background:#45453e; }
.lux-account #maincontent .block-new-customer .btn { background:transparent; color:#252521; }
.lux-account #maincontent .btn:disabled { opacity:.5; cursor:not-allowed; }
.lux-account #maincontent .actions-toolbar a:not(.btn), .lux-account #maincontent .card a:not(.btn) { text-decoration:underline; text-underline-offset:4px; }
.lux-account #maincontent .form-create-account > .md\:grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.lux-account #maincontent .registration-container { padding:0; }
.lux-account #maincontent .form-create-account .card { margin:0; }
.lux-account #maincontent .password-strength-meter { margin-top:10px; font-size:13px; color:#626258; }
.lux-account #maincontent .message { padding:16px; border-radius:6px; margin-bottom:20px; background:var(--account-paper); }
.lux-account #maincontent :is(.message.error,.text-red,.messages .error) { color:#a32424; }
.lux-account #maincontent [aria-invalid=true] { border-color:#a32424; }
.lux-account.customer-account-forgotpassword #maincontent, .lux-account.customer-account-createpassword #maincontent { max-width:720px; }
.lux-account.customer-account-forgotpassword #maincontent .card { width:100%; margin:0; }
.lux-account.account #maincontent .columns { display:grid; grid-template-columns:240px minmax(0,1fr); gap:36px; }
.lux-account.account #maincontent .column.main { grid-column:2; grid-row:1; width:auto; }
.lux-account.account #maincontent .sidebar-main { grid-column:1; grid-row:1; width:auto; }
.lux-account #maincontent .account-nav { background:var(--account-paper); padding:24px; border:1px solid var(--account-border); border-radius:12px; }
.lux-account #maincontent .account-nav li { margin:0; }
.lux-account #maincontent .account-nav li :is(a,strong) { display:block; padding:12px 10px; border-radius:5px; }
.lux-account #maincontent .account-nav li.current, .lux-account #maincontent .account-nav a:hover { background:#e9e5da; border-radius:5px; }
.lux-account.account #maincontent .card { margin-bottom:24px; }
.lux-account.account #maincontent .block-title { margin-top:24px; }
.lux-account.account #maincontent table { width:100%; border-collapse:collapse; font-size:14px; }
.lux-account.account #maincontent :is(th,td) { padding:14px 12px; text-align:left; border-bottom:1px solid var(--account-border); }
.lux-account.account #maincontent th { background:var(--account-paper); font-weight:500; }
.lux-account.account #maincontent .table-wrapper { max-width:100%; overflow-x:auto; }
.lux-account.account #maincontent address { font-style:normal; line-height:1.8; }
@media(max-width:767px) {
 body.lux-account #maincontent { padding:120px 20px 48px!important; }
 .lux-account #maincontent .page-title { margin-bottom:24px; }
 .lux-account #customer-login-container, .lux-account #maincontent .form-create-account > .md\:grid { grid-template-columns:1fr; gap:20px; }
 .lux-account #maincontent .card, .lux-account #customer-login-container .block-new-customer { padding:24px; }
 .lux-account #maincontent .actions-toolbar { align-items:stretch; gap:16px; }
 .lux-account #maincontent .actions-toolbar > .primary, .lux-account #maincontent .actions-toolbar .btn { width:100%; }
 .lux-account #maincontent .form-input { font-size:16px; }
 .lux-account.account #maincontent .columns { display:flex; flex-direction:column; gap:24px; }
 .lux-account.account #maincontent .sidebar-main { order:-1; }
 .lux-account #maincontent .account-nav { padding:18px; }
}
