/* Account and auth forms remain usable without JavaScript or theme button styles. */
.erp-account { max-width:1080px; margin:0 auto; padding:clamp(20px,4vw,48px) 20px; color:var(--erp-text,#263244); }
.erp-account--auth { max-width:620px; }
.erp-account *, .erp-login * { box-sizing:border-box; }
.erp-account h1 { font-size:clamp(28px,4vw,40px); margin:0 0 12px; }
.erp-account h2 { font-size:clamp(22px,3vw,28px); margin:0 0 12px; }
.erp-account h3 { font-size:18px; margin:0 0 8px; }
.erp-account__heading { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.erp-account__eyebrow { font-size:13px; font-weight:700; margin:0 0 6px; }
.erp-account__nav { display:flex; gap:8px; flex-wrap:wrap; margin:20px 0 30px; }
.erp-account__nav a { display:flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid #d8dce2; border-radius:24px; text-decoration:none; color:inherit; background:#fff; }
.erp-account__section { margin-block:36px; scroll-margin-top:140px; }
.erp-account__card, .erp-login__register { background:#fff; padding:clamp(18px,3vw,28px); border:1px solid #e0e3e8; border-radius:16px; box-shadow:0 4px 18px #16263806; overflow-wrap:anywhere; }
.erp-account__orders { display:grid; gap:14px; }
.erp-account__order { display:grid; grid-template-columns:1fr auto; gap:14px 20px; align-items:start; }
.erp-account__badges { display:flex; flex-wrap:wrap; gap:6px; }
.erp-account__badges span { border-radius:6px; padding:5px 10px; background:#f1f4f7; color:#354253; font-size:14px; }
.erp-account__total { font-size:20px; }
.erp-account__order-actions { display:flex; flex-wrap:wrap; gap:10px; grid-column:1/-1; align-items:center; }
.erp-account__order-actions form { margin:0; }
.erp-account__button, .erp-account__secondary { display:inline-flex; justify-content:center; align-items:center; gap:6px; min-height:46px; max-width:100%; padding:11px 18px; border:1px solid var(--erp-primary,#982568); border-radius:9px; font:inherit; font-weight:600; line-height:1.4; cursor:pointer; text-align:center; text-decoration:none; white-space:normal; }
.erp-account__button { background:var(--erp-primary,#982568); color:#fff; }
.erp-account__secondary { background:#fff; color:var(--erp-primary,#982568); }
.erp-account__form { display:grid; gap:8px; margin:0; min-width:0; }
.erp-account__form label { font-size:15px; font-weight:600; margin:10px 0 0; }
.erp-account__form :is(input:not([type=hidden]),select,textarea) { width:100%; min-width:0; min-height:48px; border:1px solid #bfc6d0; border-radius:8px; padding:11px 12px; background:#fff; color:#263244; font:inherit; font-size:16px; line-height:1.5; box-shadow:none; }
.erp-account__form textarea { resize:vertical; }
.erp-account :is(a,button,input,select,textarea,summary):focus-visible, .erp-login :is(a,button,input,summary):focus-visible { outline:3px solid #006ac6; outline-offset:3px; }
.erp-account__form .erp-account__button { margin-top:14px; justify-self:start; }
.erp-account__address-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin:24px 0; }
.erp-account fieldset { padding:0; border:0; }
.erp-account legend { font-size:18px; font-weight:700; margin:0 0 8px; }
.erp-account summary { cursor:pointer; min-height:44px; font-weight:600; }
.erp-account__message { background:#e9f6ed; border:1px solid #a7d7b6; padding:16px; border-radius:10px; color:#155c2d; overflow-wrap:anywhere; }
.erp-account__message--error { background:#fff2ee; border-color:#e5b3a8; color:#872d22; }
.erp-account__pagination { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin:18px 0; }
.erp-account__pagination a { min-height:44px; display:flex; align-items:center; }
.erp-login { max-width:940px; margin:0 auto; padding:clamp(20px,4vw,48px) 20px; }
.erp-login__columns { display:grid; grid-template-columns:1.15fr 1fr; gap:24px; align-items:start; }
.erp-login .erp-login__card { width:100%; min-width:0; padding:24px; border:1px solid #e0e3e8; border-radius:16px; background:#fff; }
.erp-login .erp-cart-drawer__auth-form { display:grid; gap:10px; }
.erp-login .erp-cart-drawer__auth-input { width:100%; min-height:48px; padding:12px; border:1px solid #bfc6d0; border-radius:8px; font-size:16px; background:#fff; }
.erp-login .erp-cart-drawer__auth-button { min-height:46px; margin-top:8px; }
.erp-login .erp-login__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.erp-login .erp-login__password-reset { margin-top:20px; }
@media(max-width:640px) {
    .erp-account__order, .erp-account__address-grid, .erp-login__columns { grid-template-columns:1fr; }
    .erp-account__order-actions { align-items:stretch; }
    .erp-account__order-actions > * { width:100%; }
    .erp-account__order-actions button { width:100%; }
    .erp-account__nav a { flex:1 1 auto; justify-content:center; padding:10px 12px; }
    .erp-account__form .erp-account__button { width:100%; }
}

/* Shared primary auth action, matching the login page's Anmelden button. */
.erp-theme-shell .erp-auth-button,
.erp-cart-drawer .erp-auth-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    max-width: 100%;
    padding: 12px 18px;
    border: 1px solid var(--erp-primary);
    border-radius: 3px;
    background: linear-gradient(90deg, var(--erp-primary-hover), var(--erp-primary)) !important;
    color: #fff !important;
    font-family: var(--erp-font);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}
.erp-theme-shell .erp-auth-button:hover,
.erp-cart-drawer .erp-auth-button:hover {
    background: linear-gradient(90deg, var(--erp-primary-hover), var(--erp-primary)) !important;
    color: #fff !important;
    text-decoration: none;
    filter: brightness(.95);
}
.erp-theme-shell .erp-auth-button:focus-visible,
.erp-cart-drawer .erp-auth-button:focus-visible {
    outline: 3px solid var(--erp-primary);
    outline-offset: 3px;
}
.erp-theme-shell .erp-auth-button:disabled,
.erp-cart-drawer .erp-auth-button:disabled {
    opacity: .6;
    cursor: not-allowed;
    filter: none;
}

.erp-account__service-items { margin: 14px 0; }
.erp-account__service-items [hidden] { display: none !important; }
.erp-account__form .erp-account__service-item { display:flex; align-items:center; gap:12px; padding:12px; margin:8px 0; border:1px solid var(--erp-border); border-radius:8px; cursor:pointer; }
.erp-account__form .erp-account__service-item input[type=radio] { width:20px; min-height:20px; height:20px; flex:0 0 20px; margin:0; }
.erp-account__service-item small { display:block; font-weight:400; }
#service-confirmation { scroll-margin-top:140px; margin-bottom:24px; }
