/* Shared cart, checkout and header controls. Transaction behavior stays in WooCommerce. */
.bfa-cart-link { display:inline-flex; position:relative; align-items:center; justify-content:center; gap:7px; min-width:46px; min-height:46px; padding:8px; color:#f5f4f1; border:1px solid rgba(255,255,255,.19); border-radius:4px; font-size:12px; font-weight:700; white-space:nowrap; }
.bfa-cart-link:hover,.bfa-cart-link:focus-visible { border-color:#ed2335; background:rgba(237,35,53,.1); color:#fff; }
.bfa-cart-link__count { display:flex; align-items:center; justify-content:center; min-width:17px; height:17px; border-radius:50%; background:#e72133; color:#fff; font-size:10px; }
.bfa-cart-link__label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.bfa-cart-link--mobile { display:none; }
.bfa-commerce-page { width:min(calc(100% - 64px),1320px); margin:0 auto; padding:235px 0 90px; }
.bfa-commerce-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; padding-bottom:34px; }
.bfa-commerce-heading .eyebrow { margin-bottom:12px; color:#e72133; font-size:11px; letter-spacing:.14em; }
.bfa-commerce-heading h1 { margin:0; font-size:clamp(36px,4.4vw,62px); letter-spacing:-.04em; line-height:1.08; }
.bfa-commerce-steps { display:flex; gap:26px; padding:0 0 6px; margin:0; list-style:none; color:#8e929b; font-size:12px; }
.bfa-commerce-steps li { display:flex; align-items:center; gap:8px; }
.bfa-commerce-steps li[aria-current] { color:#fff; }
.bfa-commerce-steps span { font-size:10px; color:#70747d; }
.bfa-commerce-steps li[aria-current] span { color:#f03244; }
.bfa-commerce-content > .woocommerce { min-width:0; }
.bfa-commerce-content .woocommerce-notices-wrapper:empty { display:none; }
.bfa-commerce-content .woocommerce-error,.bfa-commerce-content .woocommerce-info,.bfa-commerce-content .woocommerce-message { margin:0 0 24px; padding:18px 20px 18px 45px; border-radius:6px; background:#17181d; color:#f4f3ef; font-size:14px; }
.bfa-cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; align-items:start; gap:28px; }
.bfa-cart-layout .woocommerce-cart-form { margin:0; padding:24px 24px 0; border:1px solid #303138; border-radius:10px; background:linear-gradient(130deg,#111216,#0c0d10); }
.bfa-cart-layout .cart-collaterals { width:auto; }
.bfa-cart-layout .cart_totals { width:100% !important; float:none !important; padding:26px; border:1px solid #303138; border-radius:10px; background:#14151a; }
.bfa-cart-layout .cart_totals h2 { margin:0 0 24px; font-size:23px; line-height:1.2; text-transform:none; }
.bfa-cart-layout table.shop_table { width:100%; margin:0; border:0; border-collapse:collapse; table-layout:auto; }
.bfa-cart-layout table.shop_table th { padding:8px 8px 17px; border-bottom:1px solid #303138; color:#a8abb4; font-size:11px; letter-spacing:.04em; font-weight:600; }
.bfa-cart-layout table.shop_table td { padding:24px 8px; border-top:0; border-bottom:1px solid #292b32; font-size:14px; }
.bfa-cart-layout .product-remove { width:25px; padding-left:0 !important; }
.bfa-cart-layout .product-thumbnail { width:112px; }
.bfa-cart-layout .product-thumbnail img { width:92px; max-width:none; }
.bfa-cart-ticket { display:block; position:relative; width:82px; height:112px; margin:5px 10px; padding:4px; border:1px solid #757981; border-radius:7px; transform:rotate(-7deg); background:#e5e6e5; box-shadow:6px 8px 18px #0007; }
.bfa-cart-ticket img { display:block; width:100% !important; height:100%; object-fit:cover; border-radius:3px; }
.bfa-cart-ticket > span { position:absolute; bottom:6px; left:4px; right:4px; padding:4px 2px; background:#09090dde; color:#fff; border-top:2px solid #dc2636; font-size:8px; line-height:1.4; text-align:center; text-transform:uppercase; letter-spacing:.04em; }
.bfa-cart-ticket--broadcast { border-color:#dd293b; }
.bfa-cart-layout .product-name { min-width:160px; font-size:16px; font-weight:650; line-height:1.5; }
.bfa-cart-layout .product-name a { color:#f8f7f4; }
.bfa-cart-scope,.bfa-cart-event-date { margin:8px 0 0; color:#959aa6; font-size:12px; font-weight:400; line-height:1.6; }
.bfa-cart-event-date { margin-top:4px; color:#c2c5cc; }
.bfa-cart-layout .product-price,.bfa-cart-layout .product-subtotal { white-space:nowrap; font-weight:600; }
.bfa-cart-layout .quantity .qty { width:62px; min-height:42px; padding:6px; border:1px solid #42444d; border-radius:5px; background:#1c1e25; color:#fff; font-size:14px; }
.bfa-cart-fixed-quantity { display:inline-flex; min-width:44px; min-height:36px; align-items:center; justify-content:center; border:1px solid #383b45; border-radius:5px; color:#cbd0dc; font-size:13px; }
.bfa-commerce-content .woocommerce a.remove { display:flex; align-items:center; justify-content:center; width:25px; height:32px; border-radius:4px; color:#eb3b4d !important; background:transparent; font-size:24px; font-weight:400; }
.bfa-commerce-content .woocommerce a.remove:hover { background:#eb3b4d22; }
.bfa-cart-layout .actions { padding:22px 0 !important; border-bottom:0 !important; text-align:right; }
.bfa-cart-layout .actions .coupon { display:flex; flex-wrap:wrap; gap:8px; align-items:center; float:none; margin-bottom:14px; }
.bfa-cart-layout .actions .coupon input { width:185px !important; margin:0; }
.bfa-commerce-content .woocommerce input.input-text,.bfa-commerce-content .woocommerce select,.bfa-commerce-content .woocommerce textarea { padding:12px 13px; min-height:44px; background:#1a1c23; border:1px solid #3b3d47; border-radius:5px; color:#f3f3f2; font-size:14px; }
.bfa-commerce-content .woocommerce input:focus,.bfa-commerce-content .woocommerce select:focus { outline:2px solid #db2e40; outline-offset:2px; }
.bfa-commerce-content .woocommerce .button { padding:13px 19px; border-radius:5px; background:#292b34; border:1px solid #484a55; color:#fff; font-size:13px; font-weight:650; line-height:1.4; text-transform:none; cursor:pointer; }
.bfa-commerce-content .woocommerce .button:hover { background:#343742; color:#fff; }
.bfa-commerce-content .woocommerce .button.alt { border-color:#e32235; background:#e32235; color:#fff; }
.bfa-commerce-content .woocommerce .button.alt:hover { background:#f03749; }
.bfa-cart-layout .wc-proceed-to-checkout { padding:25px 0 0; }
.bfa-cart-layout .wc-proceed-to-checkout a.checkout-button { display:block; margin:0; font-size:15px; text-align:center; padding:17px; }
.bfa-cart-layout .cart_totals table th,.bfa-cart-layout .cart_totals table td { padding:14px 0; font-size:13px; }
.bfa-cart-layout .cart_totals .order-total th,.bfa-cart-layout .cart_totals .order-total td { color:#fff; font-size:19px; padding:22px 0; }
.bfa-cart-layout .cart_totals .order-total td { text-align:right; }
.bfa-commerce-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:30px; padding:25px 2px; border-top:1px solid #292b32; color:#b7bbc5; font-size:12px; }
.bfa-commerce-footer > div { display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
.bfa-commerce-footer a { color:#dddfe5; }
.bfa-commerce-footer a:hover { color:#f3384b; }
.bfa-commerce-content .cart-empty { margin-top:0; }
.bfa-commerce-content .return-to-shop { margin:30px 0; }
.bfa-empty-cart { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:420px; padding:55px 25px; text-align:center; border:1px solid #303138; border-radius:10px; background:radial-gradient(ellipse at 50% 0,#27151b,transparent 65%),#101115; }
.bfa-empty-cart > svg { color:#e63245; margin-bottom:24px; }
.bfa-empty-cart h2 { margin:0 0 20px; font-size:32px; text-transform:none; }
.bfa-empty-cart > p { max-width:480px; color:#aeb3c1; font-size:14px; line-height:1.8; }
.bfa-empty-cart .cart-empty { width:auto; padding:0; margin:0 0 10px; background:transparent; border:0; font-size:13px; }
.bfa-empty-cart .cart-empty:before { display:none; }
.bfa-empty-cart > div { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:20px; }
.bfa-legal-document { max-width:890px; color:#c3c8d4; font-size:15px; line-height:1.95; }
.bfa-legal-document > p:first-child { margin:0 0 35px; padding:14px 18px; border-left:2px solid #e52b3e; background:#14161d; font-size:12px; color:#aab1bf; }
.page-shell__content .bfa-legal-document h2 { margin:43px 0 17px; padding-top:28px; border-top:1px solid #30333d; font-family:var(--body,Arial,sans-serif); font-size:23px; font-weight:650; color:#f4f5f7; letter-spacing:-.02em; text-transform:none; }
.bfa-legal-document p { margin:0 0 20px; }
.bfa-legal-document ul { padding-left:23px; margin:0 0 24px; }
.bfa-legal-document li { margin-bottom:12px; }
.bfa-legal-document a { color:#f65b6b; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.bfa-legal-document strong { color:#e1e5ed; }
.bfa-legal-document table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; font-size:13px; }
.bfa-legal-document th,.bfa-legal-document td { padding:12px 14px; border:1px solid #343740; vertical-align:top; }
@media(min-width:1081px) and (max-width:1099px) { .bfa-cart-link--desktop { display:none; } .bfa-cart-link--mobile { display:inline-flex; margin-left:auto; margin-right:17px; } }
.bfa-checkout-account { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,480px); gap:70px; padding:45px; border:1px solid #303138; border-radius:10px; background:linear-gradient(120deg,#14161d,#0d0e12); }
.bfa-checkout-account > div:first-child { padding:35px 0; }
.bfa-checkout-account h2 { font-size:38px; margin:0 0 24px; line-height:1.15; }
.bfa-checkout-account p:not(.eyebrow) { max-width:450px; color:#a9aebc; font-size:15px; line-height:1.9; }
.bfa-checkout-account .bfa-auth-form { padding:0; border:0; background:transparent; max-width:100%; }
.bfa-commerce-content form.checkout { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,420px); column-gap:40px; align-items:start; }
.bfa-commerce-content form.checkout #customer_details { grid-column:1; grid-row:1 / span 4; width:100%; margin:0; }
.bfa-commerce-content form.checkout #customer_details .col-1,.bfa-commerce-content form.checkout #customer_details .col-2 { width:100%; float:none; }
.bfa-commerce-content form.checkout #order_review_heading { grid-column:2; margin:0; padding:24px 24px 18px; border:1px solid #303138; border-bottom:0; border-radius:9px 9px 0 0; background:#14151a; font-size:23px; text-transform:none; }
.bfa-commerce-content form.checkout #order_review { grid-column:2; padding:0 24px 24px; border:1px solid #303138; border-top:0; border-radius:0 0 9px 9px; background:#14151a; }
.bfa-commerce-content form.checkout .woocommerce-billing-fields > h3 { margin:0 0 24px; font-size:25px; text-transform:none; }
.bfa-commerce-content form.checkout .form-row label { display:block; margin-bottom:7px; color:#bfc3ce; font-size:12px; }
.bfa-commerce-content form.checkout .form-row { margin:0 0 17px; padding:0; }
.bfa-commerce-content form.checkout .woocommerce-additional-fields > h3 { margin-top:24px; font-size:21px; }
.bfa-commerce-content .woocommerce-checkout-review-order-table { border:0; border-collapse:collapse; font-size:13px; }
.bfa-commerce-content .woocommerce-checkout-review-order-table th,.bfa-commerce-content .woocommerce-checkout-review-order-table td { padding:15px 0; border-color:#34363f; }
.bfa-commerce-content #payment { background:transparent; }
.bfa-commerce-content #payment ul.payment_methods { padding:20px 0; border-color:#34363f; font-size:13px; }
.bfa-commerce-content #payment div.payment_box { background:#22252d; color:#c3c7d2; font-size:12px; }
.bfa-commerce-content #payment div.payment_box:before { border-bottom-color:#22252d; }
.bfa-commerce-content #payment div.form-row { padding:15px 0 0; }
.bfa-commerce-content #payment #place_order { width:100%; margin:20px 0 0; padding:17px; font-size:15px; }
.bfa-commerce-content .woocommerce-privacy-policy-text,.bfa-commerce-content .woocommerce-terms-and-conditions-wrapper { font-size:12px; line-height:1.8; color:#a8aebb; }
.bfa-commerce-content .woocommerce-terms-and-conditions-wrapper a { color:#f44859; }
.bfa-commerce-content .select2-container--default .select2-selection--single { height:44px; background:#1a1c23; border-color:#3b3d47; border-radius:5px; }
.bfa-commerce-content .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:44px; color:#f3f3f2; }
.bfa-commerce-content .select2-container--default .select2-selection--single .select2-selection__arrow { height:42px; }
@media(max-width:1280px) { .header-actions { gap:5px; } .bfa-cart-link--desktop { min-width:42px; padding:6px; } .bfa-cart-layout { grid-template-columns:minmax(0,1fr) 310px; gap:20px; } .bfa-cart-layout .woocommerce-cart-form { padding-right:16px; padding-left:16px; } }
@media(max-width:1099px) { .bfa-cart-link--desktop { display:none; } .bfa-cart-link--mobile { display:inline-flex; margin-left:auto; margin-right:17px; } .bfa-cart-layout { grid-template-columns:1fr; } .bfa-cart-layout .cart-collaterals { max-width:none; } .bfa-checkout-account { gap:35px; padding:30px; } .bfa-commerce-content form.checkout { column-gap:24px; } }
@media(max-width:720px) { .bfa-commerce-page { width:calc(100% - 34px); padding-top:175px; padding-bottom:50px; } .bfa-commerce-heading { align-items:start; flex-direction:column; gap:24px; } .bfa-commerce-steps { gap:19px; font-size:10px; } .bfa-commerce-steps li { gap:5px; } .bfa-commerce-heading h1 { font-size:40px; } .bfa-cart-layout .woocommerce-cart-form { padding:14px 16px 0; } .bfa-cart-layout table.shop_table_responsive { display:table; overflow:visible; } .bfa-cart-layout .shop_table_responsive thead { display:none; } .bfa-cart-layout .shop_table_responsive tbody tr.cart_item { display:grid; grid-template-columns:96px minmax(0,1fr) 24px; gap:0; padding:18px 0; border-bottom:1px solid #303138; } .bfa-cart-layout table.shop_table td { display:block; border:0; padding:8px 0; text-align:left !important; background:transparent !important; } .bfa-cart-layout table.shop_table td:before { display:none; } .bfa-cart-layout .product-thumbnail { display:block !important; grid-column:1; grid-row:1 / span 3; width:92px; } .bfa-cart-layout .product-remove { grid-column:3; grid-row:1; justify-self:end; } .bfa-cart-layout .product-name { grid-column:2; grid-row:1; min-width:0; font-size:14px; } .bfa-cart-layout .product-price { grid-column:2; grid-row:2; font-size:12px; color:#a9aebc; } .bfa-cart-layout .product-quantity { grid-column:2; grid-row:3; } .bfa-cart-layout .product-subtotal { grid-column:2; grid-row:4; } .bfa-cart-layout .product-subtotal:before { display:inline !important; float:none !important; content:attr(data-title) ' '; color:#a8adba; font-size:12px; font-weight:400; } .bfa-cart-layout .actions .coupon input { flex:1; min-width:100px; width:auto !important; } .bfa-cart-layout .actions { display:block; width:100%; } .bfa-cart-layout .cart_totals table td { text-align:right !important; } .bfa-cart-layout .cart_totals table th { float:left; } .bfa-cart-layout .cart_totals table tr { display:block; overflow:hidden; } .bfa-commerce-footer { align-items:start; flex-direction:column; } .bfa-commerce-footer > div { gap:15px; } .bfa-commerce-footer strong { flex-basis:100%; } .bfa-checkout-account { grid-template-columns:1fr; padding:22px; gap:26px; } .bfa-checkout-account > div:first-child { padding:0; } .bfa-checkout-account h2 { font-size:30px; } .bfa-commerce-content form.checkout { display:block; } .bfa-commerce-content form.checkout #customer_details { margin-bottom:30px; } .bfa-commerce-content form.checkout .form-row { float:none; width:100%; } .bfa-commerce-content .woocommerce input.input-text,.bfa-commerce-content .woocommerce select,.bfa-commerce-content .woocommerce textarea { font-size:16px; } .bfa-cart-link--mobile { margin-right:13px; min-height:39px; min-width:42px; } }
