/* Customer workspace and order receipts. Native Woo forms, tables and actions stay intact. */
.bfa-customer-page { width:min(calc(100% - 64px),1320px); margin:0 auto; padding:235px 0 88px; }
.bfa-customer-page .page-shell__header { padding-bottom:30px; }
.bfa-customer-page .page-shell__header h1 { margin:0; font-size:clamp(34px,4vw,54px); line-height:1.15; letter-spacing:-.035em; text-transform:none; overflow-wrap:anywhere; }
.bfa-customer-page .page-shell__header .eyebrow { margin:0 0 14px; color:#f15a68; font-size:12px; letter-spacing:.1em; }
.bfa-customer-page .page-description { max-width:650px; margin:16px 0 0; font-size:16px; line-height:1.7; }
.bfa-customer-page .page-shell__content { padding-top:32px; }
.woocommerce-account .bfa-customer-page .page-shell__content > .woocommerce { display:grid; grid-template-columns:230px minmax(0,1fr); gap:28px; align-items:start; }
.bfa-customer-page .woocommerce-MyAccount-navigation { min-width:0; }
.bfa-customer-page .woocommerce-MyAccount-navigation ul { gap:5px; padding:8px; border:1px solid #30323b; border-radius:12px; background:#111218; }
.bfa-customer-page .woocommerce-MyAccount-navigation a { min-height:48px; padding:12px 15px; border:1px solid transparent; border-radius:7px; background:transparent; color:#bfc3cf; font-size:14px; font-weight:600; line-height:1.4; text-transform:none; letter-spacing:0; }
.bfa-customer-page .woocommerce-MyAccount-navigation a:hover { background:#23252f; color:#fff; }
.bfa-customer-page .woocommerce-MyAccount-navigation .is-active a { border-color:#71303b; background:#351a23; color:#fff; }
.bfa-customer-page .woocommerce-MyAccount-content { min-width:0; min-height:340px; padding:clamp(20px,3vw,36px); border:1px solid #30323b; border-radius:14px; background:#111218; color:#c5c8d2; font-size:15px; line-height:1.75; overflow-wrap:anywhere; }
.bfa-customer-page .woocommerce-MyAccount-content > :first-child { margin-top:0; }
.bfa-customer-page .woocommerce-MyAccount-content > :last-child { margin-bottom:0; }
.bfa-customer-page .woocommerce-MyAccount-content h2,.bfa-commerce-page .woocommerce-order h2 { margin:0 0 18px; color:#f7f7fa; font-family:var(--body,Arial,sans-serif); font-size:clamp(23px,2.6vw,30px); font-weight:650; line-height:1.3; letter-spacing:-.02em; text-transform:none; }
.bfa-customer-page .woocommerce-MyAccount-content h3,.bfa-commerce-page .woocommerce-order h3 { color:#f3f4f8; font-family:var(--body,Arial,sans-serif); font-size:20px; font-weight:650; line-height:1.4; letter-spacing:-.015em; text-transform:none; }
.bfa-customer-page .woocommerce-MyAccount-content p { margin:0 0 18px; }
.bfa-customer-page .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-MyAccount-navigation a):hover { color:#ff8993; }
.bfa-customer-page mark,.bfa-commerce-page .woocommerce-order mark { padding:3px 7px; border-radius:4px; background:#292c36; color:#fff; font-weight:650; }
.bfa-payment-confirmed { display:inline-flex; align-items:center; gap:7px; width:fit-content; max-width:100%; margin:8px 0; padding:5px 10px; border:1px solid #3e7558; border-radius:6px; background:#173023; color:#c6f2d6; font-size:12px; font-weight:650; line-height:1.5; white-space:normal; }
.bfa-payment-confirmed::before { content:''; flex:0 0 6px; height:6px; border-radius:50%; background:#80d5a2; }
.woocommerce-orders-table .bfa-payment-confirmed { display:flex; }
.bfa-customer-page .customer-welcome { margin-bottom:30px; padding-bottom:26px; border-bottom:1px solid #30323b; }
.bfa-customer-page .customer-welcome .eyebrow { color:#f15a68; font-size:12px; }
.bfa-customer-page .account-section-title { margin-bottom:18px; font-size:23px; }
.bfa-customer-page .account-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:32px; }
.bfa-customer-page .account-shortcuts > a { display:flex; flex-direction:column; min-width:0; padding:24px; border-radius:10px; background:#191b23; }
.bfa-customer-page .account-shortcuts .shortcut-icon { position:static; display:grid; place-items:center; width:40px; height:40px; margin-bottom:19px; border-radius:9px; background:#33212a; color:#ff7987; font-size:25px; }
.bfa-customer-page .account-shortcuts h3 { margin:0 0 10px; font-size:20px; }
.bfa-customer-page .account-shortcuts p { margin:0 0 20px; font-size:14px; line-height:1.7; }
.bfa-customer-page .account-shortcuts .text-link { margin-top:auto; font-size:13px; }
.bfa-customer-page .bfa-account-section-intro { margin-bottom:24px; }
.bfa-customer-page .bfa-filter-form { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:0 0 26px; padding:20px; border:1px solid #30333e; border-radius:10px; background:#191b23; }
.bfa-customer-page .bfa-filter-form label { flex:1 1 180px; min-width:0; }
.bfa-customer-page .bfa-filter-form .button { flex:0 0 auto; margin:0; }
/* Native account and refund fields share a visible label, comfortable control and clear focus. */
.bfa-customer-page label,.bfa-commerce-page .bfa-order-access label { display:block; margin-bottom:8px; color:#e3e5ed; font-size:14px; font-weight:600; line-height:1.6; }
.bfa-customer-page :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea),.bfa-commerce-page .bfa-order-access textarea { display:block; width:100%; max-width:100%; min-height:48px; box-sizing:border-box; margin:8px 0 0; padding:12px 14px; border:1px solid #555966; border-radius:7px; background:#1b1e27; color:#f6f7fb; font:inherit; font-size:16px; line-height:1.5; color-scheme:dark; }
.bfa-customer-page textarea,.bfa-commerce-page .bfa-order-access textarea { min-height:136px; resize:vertical; }
.bfa-customer-page :is(input,select,textarea):focus,.bfa-commerce-page .bfa-order-access textarea:focus { outline:2px solid #ff7987; outline-offset:3px; border-color:#ff7987; }
.bfa-customer-page .woocommerce form .form-row { padding:0; margin:0 0 22px; }
.bfa-customer-page fieldset { margin:28px 0; padding:22px; border:1px solid #3a3d48; border-radius:10px; }
.bfa-customer-page legend { padding:0 10px; color:#f4f5f9; font-size:19px; font-weight:650; }
.bfa-customer-page .woocommerce form .form-row .description,.bfa-customer-page em { color:#aeb5c5; font-size:13px; line-height:1.6; }
.bfa-customer-page .woocommerce .button,.bfa-commerce-page .bfa-order-access .button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; padding:11px 17px; border:1px solid #505563; border-radius:7px; background:#292d39; color:#fff; font-size:14px; font-weight:650; line-height:1.5; letter-spacing:0; text-transform:none; text-decoration:none; white-space:normal; cursor:pointer; }
.bfa-customer-page .woocommerce .button:hover,.bfa-commerce-page .bfa-order-access .button:hover { background:#3a3f4f; border-color:#828b9e; color:#fff; }
.bfa-customer-page .woocommerce button[name=save_account_details],.bfa-customer-page .woocommerce button[name=save_address] { border-color:#dd283c; background:#dd283c; }
.bfa-customer-page .woocommerce :is(a,button):focus-visible { outline:2px solid #ff7987; outline-offset:4px; }
/* Preserve table semantics on desktop; Woo's own data-title labels support mobile order cards. */
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) table.shop_table { width:100%; margin:22px 0 30px; border:1px solid #363945; border-spacing:0; border-collapse:separate; border-radius:10px; background:#15171f; color:#d7dbe5; font-size:14px; line-height:1.7; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) table.shop_table th { padding:14px 16px; background:#20232d; color:#e4e7ef; font-size:13px; font-weight:650; text-align:left; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) table.shop_table td { padding:18px 16px; border-top:1px solid #343743; vertical-align:top; overflow-wrap:anywhere; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) table.shop_table tfoot th { background:transparent; border-top:1px solid #343743; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) table.shop_table tfoot td { font-weight:650; }
.bfa-customer-page .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { min-width:120px; }
.bfa-customer-page .woocommerce-orders-table :is(.woocommerce-orders-table__header-order-number,.woocommerce-orders-table__cell-order-number) { min-width:5rem; white-space:nowrap; overflow-wrap:normal; }
.bfa-customer-page .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a { white-space:nowrap; }
.bfa-customer-page .woocommerce-orders-table .bfa-payment-confirmed { white-space:nowrap; }
.bfa-customer-page .woocommerce-orders-table .button { margin:0 5px 7px 0; padding:8px 12px; font-size:13px; }
.bfa-customer-page .woocommerce-orders-table small { display:inline-block; margin-top:7px; color:#bbc1d0; line-height:1.5; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .wc-item-meta { padding:0; margin:10px 0 0; list-style:none; color:#aeb7c9; font-size:13px; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .wc-item-meta li { margin-bottom:7px; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .wc-item-meta p { display:inline; margin:0; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .woocommerce-order-details { margin:30px 0; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .woocommerce-customer-details .col2-set { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .woocommerce-customer-details .col2-set > div { width:auto; float:none; min-width:0; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .woocommerce-customer-details address { width:100%; box-sizing:border-box; padding:24px; border:1px solid #363945; border-radius:10px; background:#191c25; color:#cbd0dc; font-style:normal; font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .woocommerce-customer-details address p { margin:10px 0 0; }
/* Plugin-owned ticket, access and refund markup gets the same card system. */
:is(.bfa-customer-page,.bfa-commerce-page) .bfa-order-access { margin:24px 0; padding:26px; border:1px solid #363945; border-radius:12px; background:#191c25; }
:is(.bfa-customer-page,.bfa-commerce-page) .bfa-order-access h2 { margin:0 0 15px; font-size:24px; }
:is(.bfa-customer-page,.bfa-commerce-page) .bfa-order-access p { margin:0 0 16px; font-size:14px; line-height:1.8; color:#bdc4d3; }
:is(.bfa-customer-page,.bfa-commerce-page) .bfa-order-access > :last-child { margin-bottom:0; }
:is(.bfa-customer-page,.bfa-commerce-page) .bfa-order-access article { margin:20px 0 0; padding-top:20px; border-top:1px solid #363b49; }
:is(.bfa-customer-page,.bfa-commerce-page) .bfa-order-access form { display:grid; gap:16px; margin:20px 0; }
:is(.bfa-customer-page,.bfa-commerce-page) .bfa-order-access form .button { justify-self:start; margin:0; }
.bfa-customer-page .bfa-venue-library__card { margin:24px 0; padding:24px; border:1px solid #424652; border-radius:12px; background:linear-gradient(120deg,#251b25,#191c25 65%); }
.bfa-customer-page .bfa-venue-library__codes { display:grid; gap:10px; margin:22px 0; }
:is(.bfa-customer-page,.bfa-commerce-page) :is(.bfa-order-access,.bfa-venue-library) code { display:inline-block; max-width:100%; padding:13px 15px; border:1px dashed #626a7d; border-radius:7px; background:#10131b; color:#f1f3fa; font-size:15px; line-height:1.6; letter-spacing:.025em; overflow-wrap:anywhere; user-select:all; }
.bfa-customer-page .bfa-library { gap:16px; border:0; border-radius:12px; background:transparent; }
.bfa-customer-page .bfa-library__item { gap:24px; padding:24px; border:1px solid #363945; border-radius:12px; background:#161922; }
.bfa-customer-page .bfa-library__details { min-width:0; }
.bfa-customer-page .bfa-library__item h3 { font-family:var(--body,Arial,sans-serif); font-size:23px; font-weight:650; line-height:1.4; }
.bfa-customer-page .bfa-library__image { flex-basis:200px; overflow:hidden; border-radius:8px; }
.bfa-customer-page .bfa-card-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.bfa-customer-page .library-empty,.bfa-customer-page .bfa-notice { border-radius:12px; }
.bfa-customer-page .bfa-pagination,.bfa-customer-page .woocommerce-pagination { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:26px; }
.bfa-customer-page :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) { padding:18px 20px 18px 48px; margin:0 0 24px; border-radius:8px; background:#222632; color:#edf0f7; font-size:14px; line-height:1.7; }
.bfa-commerce-page .woocommerce-order { padding:clamp(20px,4vw,38px); border:1px solid #363945; border-radius:14px; background:#111218; color:#c8cedb; font-size:15px; line-height:1.8; }
.bfa-commerce-page .woocommerce-order > .woocommerce-thankyou-order-received { margin:0 0 28px; padding:20px 24px; border:1px solid #35694f; border-radius:10px; background:#14261e; color:#d4f3df; font-size:18px; font-weight:600; }
.bfa-commerce-page .woocommerce-order ul.order_details { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:20px; margin:0 0 32px; padding:24px; border:1px solid #363945; border-radius:10px; background:#1a1d26; }
.bfa-commerce-page .woocommerce-order ul.order_details::before,.bfa-commerce-page .woocommerce-order ul.order_details::after { display:none; }
.bfa-commerce-page .woocommerce-order ul.order_details li { float:none; min-width:0; padding:0; margin:0; border:0; color:#aeb7c9; font-size:12px; line-height:1.7; text-transform:none; overflow-wrap:anywhere; }
.bfa-commerce-page .woocommerce-order ul.order_details strong { display:block; margin-top:8px; color:#f4f5f8; font-size:16px; line-height:1.6; }
@media (max-width:1000px) {
    .woocommerce-account .bfa-customer-page .page-shell__content > .woocommerce { grid-template-columns:1fr; gap:22px; }
    .bfa-customer-page .woocommerce-MyAccount-navigation ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .bfa-customer-page .woocommerce-MyAccount-navigation a { height:100%; }
}
@media (max-width:720px) {
    .bfa-customer-page { width:calc(100% - 32px); padding:175px 0 50px; }
    .bfa-customer-page .page-shell__content { padding-top:24px; }
    .bfa-customer-page .page-description { font-size:14px; }
    .bfa-customer-page .woocommerce-MyAccount-content { padding:22px 18px; }
    .bfa-customer-page .woocommerce-MyAccount-navigation ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bfa-customer-page .woocommerce-MyAccount-navigation a { min-height:46px; padding:10px 11px; font-size:13px; }
    .bfa-customer-page .account-shortcuts { grid-template-columns:1fr; }
    .bfa-customer-page .account-shortcuts > a { padding:22px; }
    .bfa-customer-page .bfa-filter-form { padding:16px; }
    .bfa-customer-page .bfa-filter-form label { flex-basis:100%; }
    .bfa-customer-page .bfa-filter-form .button { width:100%; }
    .bfa-customer-page .woocommerce form :is(.form-row-first,.form-row-last) { width:100%; float:none; }
    .bfa-customer-page fieldset { padding:18px 14px; }
    :is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .woocommerce-order-details table.shop_table { display:table; table-layout:fixed; }
    .bfa-customer-page .woocommerce table.woocommerce-orders-table { display:block; border:0; background:transparent; }
    .bfa-customer-page .woocommerce table.woocommerce-orders-table tbody { display:block; width:100%; }
    .bfa-customer-page .woocommerce table.woocommerce-orders-table thead { display:none; }
    .bfa-customer-page .woocommerce table.woocommerce-orders-table tbody tr { display:block; margin:0 0 18px; padding:8px 16px; border:1px solid #3b3f4c; border-radius:10px; background:#191c25; }
    .bfa-customer-page .woocommerce table.woocommerce-orders-table tbody td { display:block; padding:13px 0; border:0; border-bottom:1px solid #343947; background:transparent !important; text-align:right !important; }
    .bfa-customer-page .woocommerce table.woocommerce-orders-table tbody td::before { content:attr(data-title); float:left; max-width:40%; color:#aeb8cb; font-size:13px; font-weight:500; text-align:left; }
    .bfa-customer-page .woocommerce table.woocommerce-orders-table tbody td:last-child { display:block; border-bottom:0; text-align:left !important; }
    .bfa-customer-page .woocommerce table.woocommerce-orders-table tbody td:last-child::before { display:none; }
    .bfa-customer-page .woocommerce-orders-table .bfa-payment-confirmed { margin:9px 0 0 auto; }
    .bfa-customer-page .woocommerce-orders-table small { display:block; }
    :is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .woocommerce-order-details table th,:is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .woocommerce-order-details table td { padding:14px 11px; font-size:13px; }
    :is(.bfa-customer-page,.bfa-commerce-page .woocommerce-order) .woocommerce-customer-details .col2-set { grid-template-columns:1fr; }
    :is(.bfa-customer-page,.bfa-commerce-page) .bfa-order-access { padding:20px 17px; }
    :is(.bfa-customer-page,.bfa-commerce-page) .bfa-order-access form .button { width:100%; }
    .bfa-customer-page .bfa-venue-library__card { padding:20px 17px; }
    .bfa-customer-page .bfa-library__item { flex-direction:column; align-items:stretch; padding:18px; }
    .bfa-customer-page .bfa-library__image { flex-basis:auto; aspect-ratio:16/9; }
    .bfa-customer-page .bfa-library__item .button { width:100%; }
    .bfa-commerce-page .woocommerce-order { padding:20px 16px; }
    .bfa-commerce-page .woocommerce-order ul.order_details { grid-template-columns:1fr 1fr; padding:18px; gap:22px 16px; }
}
@media (prefers-reduced-motion:no-preference) {
    .bfa-customer-page :is(.account-shortcuts > a,.woocommerce-MyAccount-navigation a,.button) { transition:background-color .18s,border-color .18s; }
}
