/* B77-0152 visual proposal only. Scoped, separate from the functional JS patch. */
.b77-booking-wizard{--orange:#f68530;--muted:#b4b6b7;border:1px solid #3b3c3e!important;border-radius:18px!important;padding:clamp(18px,3vw,36px)!important;box-shadow:0 24px 72px #0005!important}
.b77-booking-wizard .b77-entry{gap:10px;padding-bottom:20px;border-bottom:1px solid #ffffff1e;margin-bottom:20px}
.b77-booking-wizard .b77-entry button{border-radius:9px;font-weight:600;line-height:1.35;min-height:50px}
.b77-booking-wizard .b77-entry [aria-pressed=true]{box-shadow:inset 0 -3px 0 #f68530!important}
.b77-booking-wizard .b77-progress{gap:14px;margin:0 0 26px;padding:10px 0;background:transparent}
.b77-booking-wizard .b77-progress li{border-color:#ffffff25;padding:0 0 8px}
.b77-booking-wizard .b77-progress li[aria-current=step]{border-color:var(--orange)}
.b77-booking-wizard .b77-progress-button{min-height:38px!important;padding:7px 8px!important;line-height:1.35!important}
.b77-booking-wizard .b77-flow-nav{padding:0 0 18px;min-height:50px;gap:12px;align-items:center}
.b77-booking-wizard .b77-change-button{min-height:44px!important;padding:9px 12px!important;border-radius:7px!important;line-height:1.4!important}
.b77-booking-wizard .b77-flow-context{font-size:14px;color:var(--muted);text-align:right}
.b77-booking-wizard h2{margin:6px 0 22px!important;letter-spacing:-.015em;line-height:1.2}
.b77-booking-wizard .b77-message:empty{min-height:0;margin:0}
.b77-booking-wizard .b77-layout{gap:28px;grid-template-columns:minmax(0,1fr) 270px}
.b77-booking-wizard .b77-category-card,.b77-booking-wizard .b77-service-cards button,.b77-booking-wizard .b77-product-cards button{border-radius:12px!important;padding:20px!important;line-height:1.45!important;min-width:0;overflow-wrap:anywhere}
.b77-booking-wizard .b77-service-cards button[aria-pressed=true],.b77-booking-wizard .b77-product-cards button[aria-pressed=true]{background:linear-gradient(135deg,#3c2b1d,#211c18)!important;color:#fff!important;border-color:var(--orange)!important;box-shadow:inset 0 0 0 1px var(--orange)!important}
.b77-booking-wizard .b77-service-cards small,.b77-booking-wizard .b77-category-card span,.b77-booking-wizard .b77-product-cards small{line-height:1.5}
.b77-booking-wizard .b77-variants{padding-top:18px;border-top:1px solid #ffffff20;scroll-margin-top:105px}
.b77-booking-wizard .b77-variants>button,.b77-booking-wizard .b77-times>button{border-radius:8px;min-height:48px}
.b77-booking-wizard .b77-summary{border-radius:12px!important;background:#1b1e20!important;border:1px solid #45494b!important;top:110px!important;padding:22px!important}
.b77-booking-wizard .b77-summary h3{font-size:19px;margin:0 0 16px!important}
.b77-booking-wizard .b77-summary p{margin:8px 0;line-height:1.5;overflow-wrap:anywhere}
.b77-booking-wizard .b77-summary p:last-child{font-size:21px;font-weight:700;color:#ffad6f}
.b77-booking-wizard .b77-summary button{min-height:42px;padding:8px 10px!important;background:transparent!important}
.b77-booking-wizard :is(.b77-contact,.b77-voucher-buy,.b77-inquiry) :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){border-radius:8px!important;border-color:#646a6d!important;background:#171a1c!important;color:#f4f4f4!important;min-width:0;max-width:100%;font-size:16px!important;line-height:1.5}
.b77-booking-wizard input::placeholder,.b77-booking-wizard textarea::placeholder{color:#b8babc!important;opacity:1}
.b77-booking-wizard :is(input,select,textarea):focus-visible{outline:2px solid #f9a567!important;outline-offset:3px}
.b77-booking-wizard .b77-inquiry{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.b77-booking-wizard .b77-contact>label,.b77-booking-wizard .b77-inquiry>label{margin-top:14px;font-weight:600}
.b77-booking-wizard :is([data-next],[type=submit],[data-buy-next]){border-radius:9px!important;font-weight:700!important;min-height:54px!important;line-height:1.4!important}
.b77-booking-wizard .b77-consents,.b77-booking-wizard .b77-buy-consents{line-height:1.65}
.b77-booking-wizard .b77-checkout-shell{border-radius:14px!important;padding:clamp(16px,3vw,26px)!important}
.b77-booking-wizard .b77-checkout-details dd{overflow-wrap:anywhere;line-height:1.5}
.b77-booking-wizard .b77-checkout-details>div{display:grid!important;grid-template-columns:minmax(100px,32%) minmax(0,1fr)!important;gap:12px!important;padding:12px 0!important;align-items:start}
.b77-booking-wizard .b77-checkout-details dt{font-size:14px!important;line-height:1.5!important;color:#b7bfc2!important;margin:0!important}
.b77-booking-wizard .b77-checkout-details dd{font-size:16px!important;line-height:1.5!important;margin:0!important}
.b77-booking-wizard .b77-checkout-details .b77-checkout-total dd{font-size:25px!important;line-height:1.25!important;color:#ffb477!important}
.b77-booking-wizard .b77-test{padding:10px 12px;border:1px dashed #8e653c;border-radius:8px;color:#ffd4b5!important}
.b77-booking-wizard .b77-closed-banner{font-size:15px;line-height:1.55;color:#c7c9ca}
.b77-booking-wizard [data-step],.b77-booking-wizard [data-buy-step]{scroll-margin-top:105px}
@media(max-width:767px){
 .b77-booking-wizard{padding:18px 14px!important;border-radius:13px!important}
 .b77-booking-wizard .b77-layout{gap:24px}
 .b77-booking-wizard .b77-summary{order:1!important;position:static!important;padding:17px!important;border-color:#555b5e!important}
 .b77-booking-wizard .b77-summary h3{font-size:17px}
 .b77-booking-wizard .b77-summary p{font-size:15px;margin:6px 0}
 .b77-booking-wizard .b77-summary p:last-child{font-size:19px}
 .b77-booking-wizard .b77-entry{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:8px;padding-bottom:16px;margin-bottom:16px}
 .b77-booking-wizard .b77-entry button{width:100%!important;min-height:46px;padding:10px 12px!important;text-align:left}
 .b77-booking-wizard .b77-progress{gap:6px;font-size:11px;margin-bottom:18px}
 .b77-booking-wizard .b77-progress-button{padding:6px 2px!important;font-size:11px!important;min-width:0!important}
 .b77-booking-wizard .b77-flow-nav{padding-bottom:16px;flex-wrap:wrap;align-items:center}
 .b77-booking-wizard h2{font-size:25px!important;margin-bottom:18px!important}
 .b77-booking-wizard .b77-service-cards button,.b77-booking-wizard .b77-category-card,.b77-booking-wizard .b77-product-cards button{padding:17px!important}
 .b77-booking-wizard :is([data-step],form)>button{margin-right:0!important}
 .b77-booking-wizard [data-step=contact] form>button,.b77-booking-wizard [data-step=date]>button,.b77-booking-wizard .b77-voucher-buy section>button{width:100%!important}
 .b77-booking-wizard .b77-delivery select{white-space:normal;line-height:1.5}
 .b77-booking-wizard .b77-payment-qr img{width:min(250px,100%)!important;height:auto!important}
 .b77-booking-wizard .b77-checkout-details>div{grid-template-columns:minmax(80px,33%) minmax(0,1fr)!important;gap:10px!important;padding:10px 0!important}
 .b77-booking-wizard .b77-checkout-details dt{font-size:12px!important}
 .b77-booking-wizard .b77-checkout-details dd{font-size:14px!important}
 .b77-booking-wizard .b77-checkout-brand{gap:12px}
 .b77-booking-wizard .b77-checkout-brand img{max-width:150px!important}
}

/* B77-0152 R2: one compact service row; one expanded set of existing controls. */
.b77-booking-wizard .b77-categories:empty{display:none}
.b77-booking-wizard .b77-service-cards{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
.b77-booking-wizard .b77-offer-row{display:grid!important;grid-template-columns:36px minmax(0,1fr) 18px!important;gap:8px 12px!important;align-items:center!important;padding:13px 15px!important;text-align:left!important;min-height:88px!important;border-radius:9px!important;width:100%;margin:0!important}
.b77-booking-wizard .b77-offer-row .b77-status-badge{grid-column:2;justify-self:start;margin:0!important;max-width:100%}
.b77-booking-wizard .b77-offer-row .b77-offer-icon{grid-column:1;grid-row:1/span 3;width:32px;height:32px;margin:0!important}
.b77-booking-wizard .b77-offer-row .b77-offer-body{display:grid;grid-column:2;gap:3px;min-width:0}
.b77-booking-wizard .b77-offer-body strong{font-size:17px!important;line-height:1.35!important;margin:0!important}
.b77-booking-wizard .b77-offer-body .b77-offer-meta{font-size:14px!important;line-height:1.4!important;color:#c4c9cc!important}
.b77-booking-wizard .b77-offer-body .b77-offer-action{font-size:13px!important;line-height:1.4!important;margin:0!important;color:#ffad6c!important}
.b77-booking-wizard .b77-offer-chevron{grid-column:3;grid-row:1/span 3;font-size:25px;align-self:center;color:#ffab69}
.b77-booking-wizard .b77-offer-detail{padding:10px 15px 18px;border:1px solid #77502f;border-top:0;border-radius:0 0 9px 9px;grid-column:1/-1;min-width:0}
.b77-booking-wizard .b77-offer-detail>p{font-size:15px;line-height:1.5;margin:2px 0 14px}
.b77-booking-wizard .b77-offer-detail .b77-variants{padding-top:8px}
.b77-booking-wizard .b77-offer-detail .b77-variants button{font-size:15px;min-height:44px;padding:10px!important}
.b77-booking-wizard .b77-offer-detail>[data-next]{margin-top:12px;width:100%}
/* A stable copy column on both desktop and mobile; notice never changes button width. */
.b77-booking-wizard .b77-payment-card .b77-payment-copy-value{display:grid!important;grid-template-columns:minmax(0,1fr) 96px;gap:6px 12px;align-items:start}
.b77-booking-wizard .b77-payment-value{min-width:0;overflow-wrap:anywhere;user-select:text}
.b77-booking-wizard .b77-copy-control{display:grid;grid-template-columns:minmax(0,1fr);width:96px;min-width:0;align-items:start}
.b77-booking-wizard .b77-payment-card .b77-copy{width:96px!important;min-width:96px!important;min-height:44px!important;margin:0!important;padding:8px!important;font-size:13px!important}
.b77-booking-wizard .b77-copy-status{font-size:12px;line-height:1.3;min-height:32px;display:block;margin-top:4px;color:#cbd1d4;overflow-wrap:anywhere}
.b77-booking-wizard .b77-payment-amount{display:grid!important;grid-template-columns:minmax(0,1fr) 96px;gap:6px 12px;align-items:start}
.b77-booking-wizard .b77-payment-amount>span:first-child{grid-column:1/-1}
.b77-booking-wizard .b77-payment-amount .b77-copy-control{grid-column:2;grid-row:2}
@media(max-width:767px){
 .b77-booking-wizard .b77-offer-row{grid-template-columns:29px minmax(0,1fr) 13px!important;gap:6px 9px!important;padding:11px 10px!important;min-height:84px!important}
 .b77-booking-wizard .b77-offer-row .b77-offer-icon{width:28px;height:28px}
 .b77-booking-wizard .b77-offer-body strong{font-size:16px!important}
 .b77-booking-wizard .b77-offer-body .b77-offer-meta{font-size:14px!important}
 .b77-booking-wizard .b77-offer-body .b77-offer-action{font-size:13px!important}
 .b77-booking-wizard .b77-offer-detail{padding:10px}
 .b77-booking-wizard .b77-payment-card .b77-checkout-details>div:has(.b77-payment-copy-value){grid-template-columns:minmax(0,1fr)!important;gap:4px!important}
 .b77-booking-wizard .b77-payment-card .b77-payment-copy-value{grid-template-columns:minmax(0,1fr) 96px!important}
}

.b77-booking-wizard .b77-product-cards:not(.b77-category-overview){display:grid;grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
.b77-booking-wizard .b77-gift-options{display:grid;gap:8px}
.b77-booking-wizard .b77-gift-options button{padding:12px!important;min-height:48px;font-size:15px!important;text-align:left}
.b77-booking-wizard .b77-gift-options button strong,.b77-booking-wizard .b77-gift-options button span{display:block}
.b77-booking-wizard .b77-gift-options button span{font-size:15px;color:#ffb477}
/* B77-0152 R4: one inset for the whole details surface, not per-value/button margins. */
.b77-booking-wizard .b77-payment-card .b77-checkout-details{box-sizing:border-box!important;padding-left:12px!important;padding-right:12px!important;border-left:0!important;border-right:0!important}
@media(min-width:768px){.b77-booking-wizard .b77-payment-card .b77-checkout-details{padding-left:18px!important;padding-right:18px!important}}

/* B77-0152 R3 A: a square wrapper and an explicit grid, without product-specific offsets. */
.b77-booking-wizard :is(.b77-service-cards,.b77-product-cards) button.b77-offer-row{
 grid-template-columns:38px minmax(0,1fr) 16px!important;grid-template-rows:auto!important;
 grid-template-areas:"icon body arrow"!important;gap:4px 12px!important;align-items:center!important;
 padding:12px 14px!important;
}
.b77-booking-wizard :is(.b77-service-cards,.b77-product-cards) button.b77-offer-row:has(>.b77-status-badge){grid-template-areas:"icon badge arrow" "icon body arrow"!important}
.b77-booking-wizard :is(.b77-service-cards,.b77-product-cards) button.b77-offer-row>.b77-offer-icon{
 grid-area:icon!important;display:grid!important;place-items:center!important;align-self:center!important;
 width:38px!important;min-width:38px!important;max-width:38px!important;
 height:38px!important;min-height:38px!important;max-height:38px!important;
 box-sizing:border-box!important;padding:6px!important;margin:0!important;line-height:0!important;
}
.b77-booking-wizard :is(.b77-service-cards,.b77-product-cards) button.b77-offer-row>.b77-offer-icon svg{
 display:block!important;width:26px!important;min-width:26px!important;max-width:26px!important;
 height:26px!important;min-height:26px!important;max-height:26px!important;padding:0!important;margin:0!important;flex:none!important;
}
.b77-booking-wizard :is(.b77-service-cards,.b77-product-cards) button.b77-offer-row>.b77-offer-body{grid-area:body!important}
.b77-booking-wizard :is(.b77-service-cards,.b77-product-cards) button.b77-offer-row>.b77-status-badge{grid-area:badge!important}
.b77-booking-wizard :is(.b77-service-cards,.b77-product-cards) button.b77-offer-row>.b77-offer-chevron{grid-area:arrow!important;display:grid!important;place-items:center!important;align-self:center!important;justify-self:end!important;width:16px!important;height:26px!important;line-height:1!important;margin:0!important;padding:0!important}
/* R3 B: label and value share the left block; one usable 96 x 44 control at the right. */
.b77-booking-wizard .b77-payment-card .b77-checkout-details>.b77-payment-copy-row{
 display:grid!important;grid-template-columns:minmax(0,1fr) 96px!important;grid-template-rows:auto auto!important;
 column-gap:12px!important;row-gap:2px!important;align-items:center!important;padding:8px 0!important;
}
.b77-booking-wizard .b77-payment-card .b77-payment-copy-row>dt{grid-column:1!important;grid-row:1!important}
.b77-booking-wizard .b77-payment-card .b77-payment-copy-row>dd{display:contents!important}
.b77-booking-wizard .b77-payment-copy-row .b77-payment-value{grid-column:1!important;grid-row:2!important;align-self:start!important}
.b77-booking-wizard .b77-payment-copy-row .b77-copy-control{grid-column:2!important;grid-row:1/span 2!important;align-self:center!important;justify-self:end!important}
.b77-booking-wizard .b77-copy-control{position:relative!important;display:block!important;width:96px!important;height:44px!important;min-height:0!important}
.b77-booking-wizard .b77-payment-card .b77-copy{display:flex!important;align-items:center!important;justify-content:center!important;width:96px!important;min-width:96px!important;max-width:96px!important;height:44px!important;min-height:44px!important;max-height:44px!important;padding:5px 6px!important;margin:0!important;font-size:13px!important;line-height:16px!important;white-space:normal!important;text-align:center!important}
.b77-booking-wizard .b77-copy-status{position:absolute!important;display:block!important;width:1px!important;height:1px!important;min-height:0!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:normal!important}
.b77-booking-wizard .b77-copy-help{grid-area:copyhelp!important;margin:0!important;font-size:13px!important;color:#bec7ca!important;line-height:1.4!important}
.b77-booking-wizard .b77-payment-card{grid-template-areas:"warning warning" "amount qr" "details qr" "copyhelp copyhelp"!important}
.b77-booking-wizard .b77-payment-amount .b77-copy-control{align-self:center!important}
.b77-booking-wizard .b77-copy:focus-visible{outline:2px solid #ffb477!important;outline-offset:3px!important}
@media(max-width:767px){
 .b77-booking-wizard :is(.b77-service-cards,.b77-product-cards) button.b77-offer-row{padding:11px 10px!important;column-gap:10px!important}
 .b77-booking-wizard .b77-payment-card{grid-template-areas:"amount" "qr" "warning" "details" "copyhelp"!important}
}
