/* Only the existing phone layout in portrait, below the tablet breakpoint. */
@media (max-width:599px) and (orientation:portrait){
 html.phone.gala-portrait-a .legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 5px;padding:4px 0;min-height:0;background:#000}
 html.phone.gala-portrait-a .legend>.status-line{grid-column:1/-1;grid-row:3;min-height:0;padding:1px 0;line-height:1.2}
 html.phone.gala-portrait-a .legend>span{min-width:0;text-align:center;padding:5px 1px;border:1px solid currentColor;border-radius:7px;font-size:10px;line-height:12px;white-space:nowrap}
 html.phone.gala-portrait-a .legend>label{grid-column:1/-1;justify-self:end;display:flex;align-items:center;gap:4px;margin:0;min-height:26px;font-size:10px}
 html.phone.gala-portrait-a .legend input{width:17px;height:17px;margin:0}
 html.phone.gala-portrait-a .legend #mobileDetails{display:none!important}
 html.phone.gala-portrait-a:not(.show-details) .display{display:grid!important;grid-template-columns:1fr;flex:none;border:1px solid #a98c45;border-radius:9px;padding:7px 9px;gap:0;background:linear-gradient(#17161a,#030304)}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:4px 6px;align-items:center}
 html.phone.gala-portrait-a:not(.show-details) #prizeLabel{grid-column:1/3;grid-row:1}
 html.phone.gala-portrait-a:not(.show-details) #detailJackpotLabel{grid-column:3/5;grid-row:1}
 html.phone.gala-portrait-a:not(.show-details) #prize{grid-column:1/3;grid-row:2;text-align:left;font-size:22px;line-height:1.1}
 html.phone.gala-portrait-a:not(.show-details) #jackpot{grid-column:3/5;grid-row:2;text-align:left;font-size:22px;line-height:1.1}
 html.phone.gala-portrait-a:not(.show-details) .display dt{min-width:0;line-height:1.1}
 html.phone.gala-portrait-a:not(.show-details) .display dt img{max-width:100%;object-fit:contain;object-position:left center}
 html.phone.gala-portrait-a .details-actions{display:none!important}
 html.phone.gala-portrait-a .purchase-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;flex:none;border:1px solid #a98c45;border-radius:9px;padding:7px;background:linear-gradient(#151418,#030304)}
 html.phone.gala-portrait-a #portraitBookingTitle{grid-column:1/-1;font-size:12px;font-weight:700;color:#ffe5a4;line-height:1.2}
 html.phone.gala-portrait-a .purchase-bar>label{grid-column:1/-1;display:flex;justify-content:center;gap:0;min-width:0;font-size:12px}
 html.phone.gala-portrait-a .purchase-bar #portraitMinus{margin-left:auto;border-radius:7px 0 0 7px}
 html.phone.gala-portrait-a .purchase-bar #portraitPlus{border-radius:0 7px 7px 0}
 html.phone.gala-portrait-a .purchase-bar #portraitMinus,html.phone.gala-portrait-a .purchase-bar #portraitPlus{width:44px;min-height:38px;font-size:20px;padding:0}
 html.phone.gala-portrait-a .purchase-bar #quantity{border-radius:0;width:64px;height:38px;min-width:0;font-size:16px;padding:3px 5px;text-align:center}
 html.phone.gala-portrait-a .purchase-bar #buy{grid-column:1/-1;min-height:44px;font-size:0;padding:7px 3px;line-height:1.2}
 html.phone.gala-portrait-a .purchase-bar #buy::after{content:attr(data-portrait-label);font-size:15px;line-height:1.2}
 html.phone.gala-portrait-a .purchase-bar #auto{grid-column:1;min-width:0;min-height:34px;border:0;background:transparent;padding:4px 0;text-align:left;font-size:11px}
 html.phone.gala-portrait-a .purchase-bar #portraitMore{grid-column:2;min-height:34px;min-width:90px;padding:5px 12px;font-size:12px;border-color:#b99a4d;color:#ffe9b1}
 html.phone.gala-portrait-a .purchase-bar #replace,html.phone.gala-portrait-a .purchase-bar #help,html.phone.gala-portrait-a .purchase-bar #start{display:none!important}
 html.phone.gala-portrait-a #portraitMenu{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:80dvh;overflow:auto;border:1px solid #b99a4d;border-bottom:0;border-radius:16px 16px 0 0;background:linear-gradient(#19171c,#030304);padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px));color:#ffe9b1}
 html.phone.gala-portrait-a #portraitMenu::backdrop{background:#0009}
 html.phone.gala-portrait-a .portrait-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px}
 html.phone.gala-portrait-a #portraitMenuTitle{margin:0;font-size:17px}
 html.phone.gala-portrait-a #portraitClose{width:44px;height:44px;padding:0;font-size:25px}
 html.phone.gala-portrait-a .portrait-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 html.phone.gala-portrait-a .portrait-menu-grid button{min-height:48px;font-size:14px;white-space:normal}
 html.phone.gala-portrait-a.show-details .display{top:auto;bottom:calc(60px + env(safe-area-inset-bottom,0px));max-height:75dvh;overflow:auto;z-index:50}
 html.phone.gala-portrait-a.show-details #mobileDetails{min-height:36px;font-size:12px}
 /* Give the existing card scroller remaining space; never clip purchase controls. */
 html.phone.gala-portrait-a .cards-stage{min-height:80px}
 html.phone.gala-portrait-a .play-area{overflow-y:auto;overscroll-behavior:contain}
}
@media (max-width:599px) and (orientation:portrait){
 html.phone.gala-portrait-a .legend>.status-line{grid-column:1/3;grid-row:2;align-self:center}
 html.phone.gala-portrait-a .legend>label{grid-column:3;grid-row:2;font-size:9px;gap:3px}
}
@media (max-width:599px) and (max-height:650px) and (orientation:portrait){
 html.phone.gala-portrait-a #portraitBookingTitle{display:none}
 html.phone.gala-portrait-a .purchase-bar{padding:5px;gap:4px 6px}
 html.phone.gala-portrait-a .purchase-bar #quantity{height:34px}
 html.phone.gala-portrait-a .purchase-bar #portraitMinus,html.phone.gala-portrait-a .purchase-bar #portraitPlus{min-height:34px}
 html.phone.gala-portrait-a .purchase-bar #auto,html.phone.gala-portrait-a .purchase-bar #portraitMore{min-height:28px}
 html.phone.gala-portrait-a:not(.show-details) .display{padding:5px 8px}
 html.phone.gala-portrait-a:not(.show-details) #prize,html.phone.gala-portrait-a:not(.show-details) #jackpot{font-size:18px}
 html.phone.gala-portrait-a .cards-stage{min-height:64px}
}
@media (max-width:599px) and (max-height:650px) and (orientation:portrait){
 html.phone.gala-portrait-a .legend{padding:2px 0}
 html.phone.gala-portrait-a .legend>span{padding:3px 1px}
 html.phone.gala-portrait-a .legend>label{min-height:20px}
}

/* R48: only the two lower panels and their titles, phone portrait only. */
@font-face{font-family:'Nasalization Rg';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/nasalization.woff') format('woff')}
@media(max-width:599px) and (orientation:portrait){
 html.phone.gala-portrait-a:not(.show-details) .display{padding:5px 8px;gap:0;border-radius:8px}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;grid-template-rows:22px 20px;gap:2px 6px;margin:0;align-items:center}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child>dt{font-family:'Nasalization Rg',sans-serif!important;font-weight:400;font-style:normal;font-size:10px;line-height:1.1;white-space:nowrap}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child>dt img{max-width:100%;height:11px;width:auto;object-fit:contain}
 html.phone.gala-portrait-a:not(.show-details) #prizeLabel{grid-column:1;grid-row:1}
 html.phone.gala-portrait-a:not(.show-details) #prize{grid-column:2;grid-row:1;font-size:17px;line-height:1;text-align:right}
 html.phone.gala-portrait-a:not(.show-details) #detailJackpotLabel{grid-column:3;grid-row:1}
 html.phone.gala-portrait-a:not(.show-details) #jackpot{grid-column:4;grid-row:1;font-size:17px;line-height:1;text-align:right}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child>dt:nth-of-type(3){grid-column:1;grid-row:2}
 html.phone.gala-portrait-a:not(.show-details) #cardCount{grid-column:2;grid-row:2;font-size:13px;line-height:1;text-align:right}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child>dt:nth-of-type(4){grid-column:3;grid-row:2}
 html.phone.gala-portrait-a:not(.show-details) #price{grid-column:4;grid-row:2;font-size:13px;line-height:1;text-align:right}
 html.phone.gala-portrait-a .purchase-bar{grid-template-columns:128px minmax(0,1fr);grid-template-rows:40px 30px;gap:3px 6px;padding:5px 7px;border-radius:8px;align-items:center}
 html.phone.gala-portrait-a #portraitBookingTitle{display:none}
 html.phone.gala-portrait-a .purchase-bar>label{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:flex-start;font-size:0;gap:0;margin:0}
 html.phone.gala-portrait-a .purchase-bar #portraitMinus,html.phone.gala-portrait-a .purchase-bar #portraitPlus{width:34px;min-width:34px;min-height:40px;height:40px;margin:0;padding:0;font-size:20px}
 html.phone.gala-portrait-a .purchase-bar #quantity{width:60px;min-width:0;height:40px;padding:2px;font-size:16px}
 html.phone.gala-portrait-a .purchase-bar #buy{grid-column:2;grid-row:1;min-width:0;min-height:40px;height:40px;padding:3px;font-family:'Nasalization Rg',sans-serif!important;font-weight:400;font-size:11px;line-height:1.15;white-space:normal}
 html.phone.gala-portrait-a .purchase-bar #buy::after{display:none;content:none}
 html.phone.gala-portrait-a .purchase-bar #auto{grid-column:1;grid-row:2;min-height:30px;height:30px;font-size:10px;padding:0;white-space:nowrap}
 html.phone.gala-portrait-a .purchase-bar #portraitMore{grid-column:2;grid-row:2;justify-self:end;min-width:78px;min-height:30px;height:30px;padding:3px 8px;font-family:'Nasalization Rg',sans-serif!important;font-weight:400;font-size:11px}
 html.phone.gala-portrait-a .nav-links button,html.phone.gala-portrait-a #portraitMenuTitle,html.phone.gala-portrait-a .portrait-menu-grid button{font-family:'Nasalization Rg',sans-serif!important;font-weight:400}
}

/* R49: hierarchy, centred quantity and shared quick-control row. */
@media(max-width:599px) and (orientation:portrait){
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child{grid-template-rows:26px 16px}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child>dt{font-size:9px!important}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child>dt img{height:9px!important;max-height:9px!important;width:auto!important;max-width:100%!important}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child>#prizeLabel,html.phone.gala-portrait-a:not(.show-details) .display dl:first-child>#detailJackpotLabel{font-size:12px!important}
 html.phone.gala-portrait-a:not(.show-details) #prizeLabel img,html.phone.gala-portrait-a:not(.show-details) #detailJackpotLabel img{height:12px!important;max-height:12px!important}
 html.phone.gala-portrait-a:not(.show-details) #prize,html.phone.gala-portrait-a:not(.show-details) #jackpot{font-size:21px!important;font-weight:700}
 html.phone.gala-portrait-a:not(.show-details) #cardCount,html.phone.gala-portrait-a:not(.show-details) #price{font-size:12px!important}
 html.phone.gala-portrait-a .purchase-bar{grid-template-rows:40px;row-gap:0}
 html.phone.gala-portrait-a .purchase-bar #quantity{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:none!important;text-align:center!important;text-align-last:center!important;padding:0!important;border-radius:0}
 html.phone.gala-portrait-a .purchase-bar #quantity::-ms-expand{display:none}
 html.phone.gala-portrait-a #portraitQuickControls{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:0}
 html.phone.gala-portrait-a #portraitQuickControls #auto{min-width:0;min-height:34px;margin:0;padding:0;border:0;background:transparent;text-align:left;font-size:10px;white-space:nowrap}
 html.phone.gala-portrait-a #portraitQuickControls>label{display:flex;align-items:center;justify-content:center;gap:4px;margin:0;min-height:34px;font-size:10px;white-space:nowrap}
 html.phone.gala-portrait-a #portraitQuickControls #portraitMore{display:flex;align-items:center;justify-content:center;min-width:68px;min-height:34px;margin:0;padding:4px 7px;border:1px solid #b99a4d;border-radius:7px;font-family:'Nasalization Rg',sans-serif!important;font-size:10px;font-weight:400;line-height:1;color:#ffe9b1}
 /* Existing status remains available to assistive technology without a duplicate row. */
 html.phone.gala-portrait-a .legend>.status-line{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 html.phone.gala-portrait-a #portraitMenu{box-sizing:border-box;inset:auto 8px calc(8px + env(safe-area-inset-bottom,0px));margin:0;width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border:1px solid #b99a4d;border-radius:12px;padding:12px;overflow-y:auto;overscroll-behavior:contain}
 html.phone.gala-portrait-a .portrait-menu-head{gap:10px;margin-bottom:10px}
 html.phone.gala-portrait-a #portraitMenuTitle{font-size:14px;line-height:1.3}
 html.phone.gala-portrait-a #portraitClose{flex:0 0 40px;width:40px;height:40px;min-height:40px;font-size:24px;line-height:1}
 html.phone.gala-portrait-a .portrait-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 html.phone.gala-portrait-a .portrait-menu-grid button{min-width:0;min-height:44px;padding:8px 4px;font-size:11px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
}
/* Pack choices fill their space; purchased cards keep their existing scroller. */
@media(max-width:599px) and (orientation:portrait){
 html.phone.gala-portrait-a .cards-stage:has(.ticket-pack){container:packspace / size;min-height:0}
 html.phone.gala-portrait-a .cards:has(.ticket-pack){display:block!important;overflow:hidden!important;padding:4px!important;min-height:0;height:100%!important}
 html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack){display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;align-self:stretch;padding:0;gap:5px}
 html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack) .ticket-selection-heading>span,html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack) .ticket-selection-heading p,html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack) .ticket-selection-summary{display:none}
 html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack) .ticket-selection-heading h2{margin:0;font-family:'Nasalization Rg',sans-serif;font-size:13px;font-weight:400;line-height:20px}
 html.phone.gala-portrait-a .ticket-selection .network-quick-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);width:100%;height:100%;min-height:0;margin:0;gap:5px}
 html.phone.gala-portrait-a .ticket-selection .network-quick-cards .ticket-pack{display:grid;grid-template-columns:1fr;align-content:center;gap:2px;min-width:0;min-height:0;max-width:none;height:100%;padding:3px;border-radius:7px}
 html.phone.gala-portrait-a .ticket-pack-icon{display:none}
 html.phone.gala-portrait-a .ticket-pack strong{font-size:clamp(14px,7cqh,26px);line-height:1}
 html.phone.gala-portrait-a .ticket-pack-label{font-size:9px;line-height:10px;letter-spacing:1px}
 html.phone.gala-portrait-a .ticket-pack-price{margin:0;padding:0;border:0;font-size:11px;line-height:12px}
 html.phone.gala-portrait-a .ticket-pack-check{top:2px;right:4px;font-size:10px}
 @container packspace (max-height:240px){
  html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack) .ticket-selection-heading{display:none}
  html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack){grid-template-rows:minmax(0,1fr);gap:0}
  html.phone.gala-portrait-a .ticket-selection .network-quick-cards .ticket-pack{grid-template-columns:auto auto;column-gap:3px;row-gap:1px}
  html.phone.gala-portrait-a .ticket-pack strong{grid-row:1;grid-column:1;justify-self:end;font-size:15px}
  html.phone.gala-portrait-a .ticket-pack-label{grid-row:1;grid-column:2;justify-self:start;letter-spacing:0}
  html.phone.gala-portrait-a .ticket-pack-price{grid-row:2;grid-column:1/-1}
 }
}

@media(max-width:599px) and (orientation:portrait){
 html.phone.gala-portrait-a .nav-links{height:calc(49px + env(safe-area-inset-bottom));padding:3px 5px calc(3px + env(safe-area-inset-bottom));background:#030303;border-top:1px solid #b99a4d}
 html.phone.gala-portrait-a .nav-links button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;flex:1;min-width:0;min-height:40px;height:40px;padding:0 4px;background:transparent;border:0;box-shadow:none;font-family:'Nasalization Rg',sans-serif!important;font-size:10px;font-weight:400;line-height:12px;color:#ffe6a1}
 html.phone.gala-portrait-a .nav-links button+button{border-left:1px solid #b99a4d55}
 html.phone.gala-portrait-a .portrait-footer-icon{display:block;width:25px;height:23px;flex:none;line-height:0}
 html.phone.gala-portrait-a .portrait-footer-icon svg{display:block;width:25px;height:23px}
 html.phone.gala-portrait-a #networkConnectionNotice,html.phone.gala-portrait-a #toast.portrait-reconnect-note{display:none!important}
}
@media(max-width:599px) and (orientation:portrait){
 html.phone.gala-portrait-a .purchase-bar #buy{background:linear-gradient(#fff0b3,#efbf50);color:#211500!important;border:1px solid #ffe7a0;box-shadow:inset 0 1px #fff8;opacity:1!important;font-size:13px!important;font-weight:400;text-shadow:none;filter:none;letter-spacing:0}
 html.phone.gala-portrait-a .purchase-bar #buy:disabled{background:#b9aa80;color:#292313!important;border-color:#857958;box-shadow:none;opacity:1!important;cursor:not-allowed}
}

/* R50: text footer, compact centred packs, restored text and centred More. */
@media(max-width:599px) and (orientation:portrait){
 html.phone.gala-portrait-a .nav-links .portrait-footer-icon{display:none}
 html.phone.gala-portrait-a .nav-links button{flex-direction:row;gap:0;font-size:12px;line-height:1.2}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr)}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child>#prizeLabel,html.phone.gala-portrait-a:not(.show-details) .display dl:first-child>#detailJackpotLabel{font-size:clamp(14px,3.8vw,16px)!important}
 html.phone.gala-portrait-a:not(.show-details) .display dl:first-child>dt:nth-of-type(n+3) img{height:8px!important;max-height:8px!important}
 html.phone.gala-portrait-a .purchase-bar #buy,html.phone.gala-portrait-a .purchase-bar #buy:disabled{background:linear-gradient(#ffefa1,#e7b73a 49%,#ba7e1b 51%,#edbd46);color:#241302!important;border:2px solid #ffe993;box-shadow:0 2px 7px #9b650544;font-size:15px!important;font-weight:700!important;text-shadow:0 .3px currentColor;opacity:1!important}
 html.phone.gala-portrait-a .purchase-bar #buy:disabled{filter:saturate(.55);border-color:#c3aa69}
 html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack){display:grid;grid-template-rows:auto minmax(0,180px) auto;align-content:center;justify-items:center;gap:6px;height:100%;width:100%;padding:3px 4px;text-align:center}
 html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack) .ticket-selection-heading{display:block!important;width:100%;text-align:center}
 html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack) .ticket-selection-heading>span{display:block;font-size:9px;line-height:12px;letter-spacing:1px}
 html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack) .ticket-selection-heading h2{margin:3px 0;font-size:14px;line-height:18px}
 html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack) .ticket-selection-heading p{display:block;margin:3px 0;font-size:11px;line-height:14px}
 html.phone.gala-portrait-a .ticket-selection:has(.ticket-pack) .ticket-selection-summary{display:flex;justify-content:center;flex-wrap:wrap;gap:3px 10px;margin:0;padding:0;font-size:10px;line-height:13px;text-align:center}
 html.phone.gala-portrait-a .ticket-selection .network-quick-cards{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);height:100%;max-height:180px;width:100%;max-width:360px;gap:5px;margin:0 auto}
 html.phone.gala-portrait-a .ticket-selection .network-quick-cards .ticket-pack{grid-column:span 2;grid-template-columns:auto auto;align-content:center;justify-content:center;padding:3px;gap:2px 4px}
 html.phone.gala-portrait-a .ticket-pack:nth-child(7):last-child{grid-column:3/span 2}
 html.phone.gala-portrait-a .ticket-pack:nth-child(7):nth-last-child(2){grid-column:2/span 2}
 html.phone.gala-portrait-a .ticket-pack:nth-child(8):last-child{grid-column:4/span 2}
 html.phone.gala-portrait-a .ticket-pack strong{grid-column:1;grid-row:1;justify-self:end;font-size:18px;line-height:20px}
 html.phone.gala-portrait-a .ticket-pack-label{grid-column:2;grid-row:1;align-self:center;justify-self:start;font-size:9px;letter-spacing:0;line-height:11px}
 html.phone.gala-portrait-a .ticket-pack-price{grid-column:1/-1;grid-row:2;font-size:11px;line-height:13px}
 html.phone.gala-portrait-a #portraitMenu{position:fixed;inset:0!important;margin:auto!important;width:calc(100% - 32px);max-width:360px;height:fit-content;max-height:calc(100dvh - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:12px;overflow:auto;border-radius:12px}
 html.phone.gala-portrait-a #portraitClose:focus:not(:focus-visible){outline:none}
 html.phone.gala-portrait-a #portraitClose:focus-visible{outline:2px solid #ffe6a1;outline-offset:2px}
}
@media(max-width:599px) and (orientation:portrait){
 html.phone.gala-portrait-a #portraitQuickControls{grid-template-columns:auto auto minmax(0,1fr);gap:8px;justify-content:start}
 html.phone.gala-portrait-a #portraitQuickControls>label{justify-content:flex-start}
 html.phone.gala-portrait-a #portraitQuickControls #portraitMore{justify-self:end}
 html.phone.gala-portrait-a .legend>.status-line{position:static;grid-column:1/-1;grid-row:3;width:auto;height:auto;min-height:13px;margin:0;padding:0;overflow:visible;clip-path:none;white-space:normal;display:flex;align-items:center;justify-content:space-between;font-size:10px;line-height:13px}
}

/* R51: matching selection controls and an honest unavailable-purchase state. */
@media(max-width:599px) and (orientation:portrait){
 html.phone.gala-portrait-a #portraitQuickControls #auto{display:none!important}
 html.phone.gala-portrait-a #portraitQuickControls>label{display:flex;align-items:center;gap:5px;min-height:34px;margin:0;padding:0;font-size:10px;font-weight:400;color:#e4e4e7;white-space:nowrap;line-height:18px}
 html.phone.gala-portrait-a #portraitQuickControls input[type=checkbox]{appearance:auto;-webkit-appearance:auto;width:18px;height:18px;min-width:18px;margin:0;accent-color:#00cad6;cursor:pointer}
 html.phone.gala-portrait-a #portraitQuickControls #portraitMore{justify-self:center;align-self:center;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2}
 html.phone.gala-portrait-a .legend>.status-line{justify-content:center;text-align:center}
 html.phone.gala-portrait-a .legend>.status-line #statusText{width:100%;text-align:center}
 html.phone.gala-portrait-a .legend>.status-line #countdown{display:none}
 html.phone.gala-portrait-a .purchase-bar #buy:disabled{background:linear-gradient(#55575f,#373940)!important;color:#fff!important;border:1px solid #858792!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;opacity:1!important;font-size:0!important;cursor:not-allowed}
 html.phone.gala-portrait-a .purchase-bar #buy:disabled::after{display:block;content:'Purchases unavailable';font-size:11px;line-height:1.2;font-weight:700;color:#fff}
}

/* R52 plain patch */
@media(max-width:599px) and (orientation:portrait){
html.phone.gala-portrait-a #portraitQuickControls #portraitMore{justify-self:end;min-height:28px;height:28px;padding:2px 9px;background:linear-gradient(#333440,#101018);border:1px solid #b99a4d}
html.phone.gala-portrait-a #portraitQuickControls input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;display:inline-grid;place-items:center;width:13px;min-width:13px;height:18px;padding:0;margin:0;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0;flex:none}
html.phone.gala-portrait-a #portraitQuickControls input[type=checkbox]::before{content:'○';font:16px/18px Arial,sans-serif;color:#a9abb3}
html.phone.gala-portrait-a #portraitQuickControls input[type=checkbox]:checked::before{content:'●';font-size:13px;color:#48e7c1}
html.phone.gala-portrait-a #portraitQuickControls>label{font-weight:700;color:#a9abb3}
html.phone.gala-portrait-a #portraitQuickControls>label:has(input:checked){color:#48e7c1}
html.phone.gala-portrait-a #portraitQuickControls input:focus-visible{outline:2px solid #ffe6a1;outline-offset:2px}
html.phone.gala-portrait-a .purchase-bar #buy:disabled{background:linear-gradient(#333440,#101018)!important;border:1px solid #b99a4d!important;color:#fff!important}
html.phone.gala-portrait-a .purchase-bar #buy:disabled::after{content:attr(data-inactive-label);color:#fff}
}


/* R53: vertical alignment and readable status without another row. */
@media(max-width:599px) and (orientation:portrait){
 html.phone.gala-portrait-a #portraitQuickControls{min-height:34px;align-items:center}
 html.phone.gala-portrait-a #portraitQuickControls #portraitMore{justify-self:end;align-self:center;margin-top:0;margin-bottom:0;min-height:28px;height:28px;display:flex;align-items:center;justify-content:center}
 html.phone.gala-portrait-a .legend>.status-line{min-height:13px;line-height:13px}
 html.phone.gala-portrait-a .legend>.status-line #statusText{font-size:clamp(10px,3vw,12px);line-height:13px}
}


/* R54: desktop/tablet only; phone purchase layout is unchanged. */
html:not(.phone).gala-desktop-r54 .game-info .purchase-bar{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto}
html:not(.phone).gala-desktop-r54 .game-info .purchase-bar>label{grid-column:1;grid-row:1;display:flex;min-width:0;font-size:0;margin:0;padding:0}
html:not(.phone).gala-desktop-r54 #desktopQuantityStepper{display:flex;align-items:stretch;width:100%;min-width:0}
html:not(.phone).gala-desktop-r54 .game-info #desktopMinus,html:not(.phone).gala-desktop-r54 .game-info #desktopPlus{flex:1;min-width:0;min-height:28px;padding:0;font-size:18px;line-height:1}
html:not(.phone).gala-desktop-r54 #desktopMinus{border-radius:6px 0 0 6px}
html:not(.phone).gala-desktop-r54 #desktopPlus{border-radius:0 6px 6px 0}
html:not(.phone).gala-desktop-r54 .game-info #quantity{appearance:none!important;-webkit-appearance:none!important;background-image:none!important;text-align:center;text-align-last:center;flex:1.3;width:34px;min-width:0;max-width:none;min-height:28px;padding:0;font-size:14px;border-radius:0}
html:not(.phone).gala-desktop-r54 .game-info #buy{grid-column:2/4;grid-row:1;min-width:0;min-height:28px}
html:not(.phone).gala-desktop-r54 .game-info #replace{grid-column:1;grid-row:2}
html:not(.phone).gala-desktop-r54 .game-info #auto{grid-column:2;grid-row:2}
html:not(.phone).gala-desktop-r54 .game-info #help{grid-column:3;grid-row:2}
html:not(.phone).gala-desktop-r54 .game-info .details-actions{margin-top:0;margin-bottom:3px;padding-top:4px}
html:not(.phone).gala-desktop-r54 .game-info #buy:disabled{background:linear-gradient(#333440,#101018)!important;color:#fff!important;border:1px solid #b99a4d!important;box-shadow:none;text-shadow:none;filter:none;opacity:1!important;font-size:0!important}
html:not(.phone).gala-desktop-r54 .game-info #buy:disabled::after{content:attr(data-desktop-label);display:block;font-size:clamp(9px,.8vw,12px);line-height:1.2;font-weight:700;color:#fff}


/* R55: desktop/tablet selection styles and slightly larger timer. */
html:not(.phone).gala-desktop-r54 .game-info .purchase-bar>label.desktop-closest{grid-column:3;grid-row:2;display:flex;align-items:center;justify-content:center;gap:5px;margin:0;border:1px solid #166f5b;border-radius:7px;background:#082820;color:#49efc3;cursor:pointer;white-space:nowrap}
html:not(.phone).gala-desktop-r54 .game-info .purchase-bar #auto,html:not(.phone).gala-desktop-r54 .game-info .purchase-bar>label.desktop-closest{font-size:clamp(9px,.8vw,12px);font-weight:700;line-height:1.2;min-height:28px;padding:4px 3px}
html:not(.phone).gala-desktop-r54 .desktop-closest input{appearance:none!important;-webkit-appearance:none!important;width:8px;height:8px;min-width:8px;padding:0;margin:0;border:1px solid #49efc3;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer}
html:not(.phone).gala-desktop-r54 .desktop-closest input:checked{background:#49efc3}
html:not(.phone).gala-desktop-r54 .desktop-closest:has(input:not(:checked)){opacity:.55}
html:not(.phone).gala-desktop-r54 .desktop-closest input:focus-visible{outline:2px solid #ffe6a1;outline-offset:3px}
html:not(.phone).gala-desktop-r54 .game-info #help{grid-column:1/-1;grid-row:3}
html:not(.phone).gala-desktop-r54 .game-info>.legend #countdown{font-size:clamp(14px,1.2vw,18px);line-height:1.2}

/* R56: single-line desktop toggles */
html:not(.phone).gala-desktop-r54 .game-info .purchase-bar #auto,
html:not(.phone).gala-desktop-r54 .game-info .purchase-bar > label.desktop-closest {
  white-space: nowrap;
  font-size: clamp(9px, .7vw, 10px);
  padding-inline: 3px;
}

/* R57: cap desktop preview heights by their width, retaining short-window fit.
   Touch layouts and the existing controls keep their current rules. */
@media (hover:hover) and (pointer:fine) {
 html:not(.phone) .cards>.ticket-selection:has(.network-quick-cards) {
  container-type:inline-size;
 }
 html:not(.phone) .ticket-selection .network-quick-cards {
  max-height:calc(50cqw - 7px);
  align-self:center;
 }
 html:not(.phone) .working-slots .slot-machine>.slot-reels {
  max-height:calc(100cqw - 34px);
  align-self:center;
 }
}

/* Gala background R60B */
@media (hover:hover) and (pointer:fine) and (min-width:1101px) and (min-height:700px){
html:not(.phone) body{background:radial-gradient(ellipse at 50% 0,#d30b00 0,#9d0000 32%,#680000 85%);background-attachment:scroll}
}

/* Gala centred desktop R61 */
@media (hover:hover) and (pointer:fine) and (min-width:1101px) and (min-height:700px){
html:not(.phone) body{
  display:flex;align-items:center;justify-content:center;height:100dvh;
}
html:not(.phone) #game{
  flex:none;box-sizing:border-box;
  width:min(1600px,100vw,160dvh);
  height:min(1000px,100dvh,62.5vw);
  max-width:100%;max-height:100dvh;margin:auto;
}
}

/* Gala plum background R62 */
@media (hover:hover) and (pointer:fine) and (min-width:1101px) and (min-height:700px){
html:not(.phone) body{background:radial-gradient(ellipse at 50% 45%,#49132D 0%,#27102A 48%,#100813 100%)}
}

/* Gala desktop windowed R63 */
@media (hover:hover) and (pointer:fine) and (min-width:1101px) and (min-height:700px){html:not(.phone) body{background:radial-gradient(ellipse at 50% 0,#d30b00 0,#9d0000 32%,#680000 85%)}}

/* Gala plum background R67 */
@media (hover:hover) and (pointer:fine) and (min-width:1101px) and (min-height:700px){html:not(.phone) body{background:radial-gradient(ellipse at 50% 45%,#49132D 0%,#27102A 48%,#100813 100%)}}
