/* Checkout mobile v12. Carregado após os estilos existentes. */
.trip-price{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:14px 0;border-block:1px solid #dfcfcb;color:#39251f}
.trip-price strong{font-size:22px}
.mobile-back{display:none}
.checkout-error{margin:12px 0}
.field-error{color:#942d35;font-size:14px;font-weight:600}
.pix-actions .primary{width:100%;margin:12px 0;min-height:52px}
.pix-alternative{margin:18px 0;padding:12px;border:1px solid #dfcfcb;border-radius:8px}
.pix-alternative summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}
.payment-panel textarea{font-size:16px}
.booking-main .bus-map{width:100%;max-width:300px}
.booking-main .bus-map .seat-row{grid-template-columns:repeat(2,minmax(0,1fr)) 20px repeat(2,minmax(0,1fr));gap:6px}
.booking-main .bus-map .seat-row>.seat{width:100%;min-width:0;max-width:none;height:52px;min-height:52px;max-height:52px}
.booking-main .bus-map .seat-row>*{margin:0}
.booking-main .bus-map .seat-row>.seat span{font-size:17px}
.booking-main .bus-map .seat-row>.seat:focus-visible{outline:3px solid #39251f;outline-offset:2px}
@media(max-width:760px){
 .booking-main{padding:20px 12px calc(115px + env(safe-area-inset-bottom))}
 .booking-main .page-heading{margin-bottom:16px}
 .booking-main .page-heading h1{font-size:28px}
 .booking-main .page-heading .breadcrumb{display:none}
 .booking-main .page-heading p:not(.breadcrumb){font-size:14px}
 .booking-main .booking-steps{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:8px;margin-bottom:18px;scroll-margin-top:12px}
 .booking-main .booking-steps li{flex:1;min-width:0;max-width:none;font-size:12px;gap:5px;line-height:1.4}
 .booking-main .booking-steps li>span{width:24px;height:24px;flex-shrink:0;font-size:12px}
 .booking-main .trip-strip{padding:16px;gap:12px;margin-bottom:12px}
 .booking-main .trip-strip>div{grid-column:auto}
 .booking-main .trip-price{margin-bottom:16px;font-size:14px}
 .booking-main .map-panel,.booking-main .reservation-panel{min-width:0;padding:18px 12px}
 .booking-main .section-title h2{font-size:20px}
 .booking-main .section-title p{font-size:14px}
 .booking-main .bus-tabs [data-slot=tabs-trigger]{min-width:0;padding:12px 6px}
 .booking-main .bus-tabs strong{font-size:16px}
 .booking-main .bus-tabs small{font-size:13px;white-space:normal}
 .booking-main .bus-map{padding:22px 10px 43px}
 .booking-main .bus-map .seat-row{grid-template-columns:repeat(2,minmax(0,1fr)) 16px repeat(2,minmax(0,1fr));gap:6px}
 .booking-main .bus-front{gap:5px}
 .booking-main .bus-front span{font-size:12px}
 .checkout-seats .reservation-panel{display:none}
 .checkout-details .map-panel,.checkout-payment .map-panel{display:none}
 .checkout-details .trip-strip,.checkout-payment .trip-strip,
 .checkout-details .trip-price,.checkout-payment .trip-price{display:none}
 .checkout-details .page-heading,.checkout-payment .page-heading{display:none}
 .booking-main .reservation-panel{position:static;scroll-margin-top:12px}
 .mobile-back{display:flex;margin-bottom:18px;min-height:44px}
 .booking-main .selection-ticket{flex-wrap:wrap;margin:16px 0;padding:14px}
 .booking-main .selection-ticket strong{font-size:18px}
 .booking-main .selection-ticket>span{margin-left:0}
 .booking-main .field input,.booking-main .field textarea{font-size:16px}
 .booking-main .hold-notice button{min-height:44px}
 .booking-main .consent{font-size:14px}
 .mobile-selection{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
 .mobile-selection>div{min-width:0;flex:1}
 .mobile-selection small{font-size:18px;font-weight:800;color:#39251f}
 .mobile-selection .primary{min-height:48px}
 .payment-panel .receipt-details>div{flex-wrap:wrap}
 .payment-panel .receipt-details dd{max-width:100%;text-align:left}
 .payment-panel .primary,.payment-panel .secondary{min-height:52px}
}
