/* Account controls shared by every page. */
.auth-btn { background: transparent; border: 1px solid #fff; color: #fff; padding: 10px 14px; border-radius: 10px; cursor: pointer; font-weight: 700; }
.auth-btn:hover { background: #fff; color: #111; }
.auth-modal { position: fixed; inset: 0; z-index: 30000; background: #000b; display: grid; place-items: center; padding: 16px; }
.auth-box { display: grid; gap: 16px; width: min(100%, 420px); padding: 24px; border: 1px solid #444; border-radius: 16px; background: #111; color: #fff; }
.auth-box h2 { font: 700 25px/1.3 Arial, sans-serif; text-align: left; }
.auth-form, .account-panel { display: grid; gap: 14px; min-width: 0; }
.auth-field { display: grid; gap: 7px; line-height: 1.4; }
.auth-box input:not([type='checkbox']) { width: 100%; min-height: 48px; padding: 12px; border: 1px solid #666; border-radius: 8px; background: #fff; color: #111; }
.auth-box button { min-height: 44px; padding: 11px 14px; border: 1px solid #555; border-radius: 8px; background: #272727; color: #fff; cursor: pointer; font-weight: 600; }
.auth-box button:disabled { opacity: .55; cursor: wait; }
.auth-box #auth-submit, .auth-box #account-save-preferences { background: #fff; color: #111; border-color: #fff; }
.auth-box .auth-switch, .auth-box .auth-forgot { background: transparent; border-color: transparent; text-decoration: underline; }
.auth-box .auth-close { background: transparent; }
.auth-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.55; margin-top: 10px; }
.auth-consent input { flex-shrink: 0; width: 20px; height: 20px; margin-top: 2px; }
.auth-note, .auth-status, .auth-error, .account-panel p { font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.auth-note { color: #ccc; }
.auth-note a, .account-panel a { color: #e3d0ff; text-decoration: underline; }
.auth-status { color: #d0f2de; }
.auth-error { color: #ffd1d1; }
.account-preferences { margin-top: 4px; padding-top: 12px; border-top: 1px solid #444; }
.account-preferences h3 { text-align: left; font-size: 17px; }
.account-preferences button { margin-top: 12px; width: 100%; }
.account-email { font-weight: 700; }
.header-inner > .auth { position: static; transform: none; margin-left: auto; }
.cart-sync { padding: 12px; font-size: 14px; line-height: 1.5; border-bottom: 1px solid #333; color: #ddd; flex-shrink: 0; }
.cart-sync button { margin-top: 8px; padding: 8px 12px; border: 1px solid #777; border-radius: 8px; background: #292929; color: #fff; }
.cart-feedback { margin-top: 12px; color: #ffd1d1; font-size: 15px; line-height: 1.5; }
.buy-now-btn:disabled, .cart-item__btn:disabled, .cart-clear:disabled { opacity: .5; cursor: wait; }
