/* Shared access panel. Only the actual native account form is enhanced. */
.bpc-inline-account {
    box-sizing: border-box;
    width: 100%;
    margin: 14px 0 18px;
    padding: clamp(16px, 2.6vw, 20px);
    border: 1px solid var(--bspc-border-medium, #d2d2d7);
    border-radius: var(--bspc-radius-medium, 14px);
    background: var(--bspc-bg-white, #fff);
    color: var(--bspc-text-primary, #1d1d1f);
    box-shadow: var(--bspc-shadow-light, 0 2px 8px rgba(0,0,0,.04));
    font-family: var(--bspc-font-family, system-ui, sans-serif);
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
}
.bpc-inline-account[hidden] { display: none !important; }
/* The opened native form replaces its launcher; closing restores both choices. */
.bpc-booking-access:has(+ .bpc-inline-account:not([hidden])) { display: none; }
.bpc-inline-account *, .bpc-inline-account *::before, .bpc-inline-account *::after { box-sizing: border-box; }
.bpc-inline-account__header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.bpc-inline-account .bpc-inline-account__header .bpc-inline-account__title {
    flex: 1; min-width: 0; margin: 0;
    color: inherit; font-size: 18px; line-height: 1.3; font-weight: 700; letter-spacing: -.025em;
}
.bpc-inline-account .bpc-inline-account__close {
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
    min-width: 64px; min-height: 44px; padding: 8px 12px; margin: 0;
    border: 1px solid var(--bspc-border-light, #e5e5ea); border-radius: 10px;
    background: var(--bspc-bg-light, #f5f5f7); color: inherit; cursor: pointer;
}
.bpc-inline-account__close svg { width: 20px; height: 20px; }
.bpc-inline-account__status { margin: 0 0 14px; color: var(--bspc-text-secondary, #515154); overflow-wrap: anywhere; }
.bpc-inline-account__status:empty { display: none; }
.bpc-inline-account__body { min-width: 0; }
.bpc-inline-account .bpc-inline-account__body form.woocommerce-form {
    display: block; float: none; width: 100%; max-width: none;
    padding: 0; margin: 0; border: 0; background: transparent; box-shadow: none;
}
.bpc-inline-account form :is(.form-row, p) { float: none; width: 100%; padding: 0; margin: 0 0 14px; }
.bpc-inline-account form label {
    display: block; margin: 0 0 6px; color: inherit; font-size: 14px;
    font-weight: 600; line-height: 1.5; text-transform: none; letter-spacing: normal;
}
.bpc-inline-account .bpc-inline-account__body form .form-row input.input-text {
    display: block; width: 100%; max-width: none; min-height: 48px; margin: 0; padding: 11px 13px;
    border: 1px solid var(--bspc-border-medium, #d2d2d7); border-radius: 10px;
    background: var(--bspc-input-bg, #f9fafb); color: inherit;
    font: inherit; font-size: 16px; line-height: 1.5; box-shadow: none;
}
.bpc-inline-account .bpc-inline-account__body form .form-row input.input-text:focus { box-shadow: none; }
.bpc-inline-account form .password-input { display: block; position: relative; }
.bpc-inline-account .bpc-inline-account__body form .form-row .password-input input.input-text { padding-inline-end: 48px; }
.bpc-inline-account form .show-password-input {
    position: absolute; inset: 0 0 auto auto; display: inline-flex;
    align-items: center; justify-content: center; width: 46px; min-height: 48px;
    cursor: pointer;
}
.bpc-inline-account form :is(button.button, input[type="submit"]) {
    display: inline-flex; align-items: center; justify-content: center;
    width: 100%; min-height: 48px; margin: 8px 0 0; padding: 11px 16px;
    border: 1px solid var(--bspc-blue-primary, #0066cc); border-radius: 11px;
    background: var(--bspc-blue-primary, #0066cc); color: var(--bspc-bg-white, #fff);
    font: inherit; font-weight: 650; line-height: 1.5; text-transform: none;
    cursor: pointer; transition: background 150ms ease;
}
.bpc-inline-account form :is(button.button, input[type="submit"]):hover { background: var(--bspc-blue-hover, #0058b0); }
.bpc-inline-account form :is(button.button, input[type="submit"]):disabled { opacity: .6; cursor: not-allowed; }
.bpc-inline-account form .woocommerce-form__label-for-checkbox {
    display: inline-flex; align-items: center; gap: 9px; min-height: 44px; font-weight: 400;
}
.bpc-inline-account form input[type="checkbox"] { width: 20px; height: 20px; margin: 0; accent-color: var(--bspc-blue-primary, #0066cc); }
.bpc-inline-account :is(a, button, input):focus-visible { outline: 2px solid var(--bspc-blue-primary, #0066cc); outline-offset: 3px; }
.bpc-inline-account a { color: var(--bspc-blue-primary, #0066cc); text-underline-offset: 3px; }
.bpc-inline-account :is(.lost_password, .woocommerce-privacy-policy-text, .woocommerce-password-hint) {
    color: var(--bspc-text-secondary, #515154); font-size: 13px; line-height: 1.55;
}
.bpc-inline-account .lost_password a { display: inline-flex; align-items: center; min-height: 44px; }
.bpc-inline-account :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
    display: block; padding: 12px 14px; margin: 0 0 16px; list-style: none;
    border: 1px solid var(--bspc-border-medium, #d2d2d7); border-inline-start: 3px solid var(--bspc-blue-primary, #0066cc);
    border-radius: 10px; background: var(--bspc-bg-light, #f5f5f7); color: inherit;
    font-size: 14px; line-height: 1.5; overflow-wrap: anywhere;
}
.bpc-inline-account .woocommerce-error { border-inline-start-color: var(--bspc-error-text, #bf2e26); }
.bpc-inline-account__fallback { display: flex; align-items: center; min-height: 44px; padding-top: 12px; margin-top: 12px; border-top: 1px solid var(--bspc-border-light, #e5e5ea); font-size: 13px; }
.bpc-inline-account__fallback a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 430px) {
    .bpc-inline-account { padding: 16px; }
    .bpc-inline-account .bpc-inline-account__header .bpc-inline-account__title { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .bpc-inline-account * { animation: none !important; transition: none !important; }
}
.bpc-inline-account .bpc-inline-account__password-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; margin: 4px 0 0; padding: 8px 10px;
    border: 1px solid transparent; border-radius: 8px;
    background: transparent; color: var(--bspc-blue-primary, #0066cc);
    font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
}
.bpc-inline-account .bpc-inline-account__password-toggle:hover {
    background: var(--bspc-blue-soft, #eaf3ff);
}
