/* iPad Air 3-class portrait kiosk. Width and orientation survive Safari chrome
 * resizing the visual viewport; the narrow width band protects other tablets. */
@media (min-width:820px) and (max-width:850px) and (orientation:portrait) {
  :root{--ipad-air3-action-width:min(690px,calc(100vw - 48px))}
  html,body{width:100%;height:100%;min-height:100svh;overflow:hidden!important}
  body{padding-bottom:env(safe-area-inset-bottom)!important}
  body .app{display:flex!important;height:100dvh!important;min-height:0!important;padding-bottom:0!important;flex-direction:column;overflow:hidden!important}
  body .app>:where(.head,.progress){flex:0 0 auto}
  body :where(button,[role="button"]){min-height:44px}
  body[data-step] :is(.qty,.setQty,.drinkQty,.v3DrinkRow) button{box-sizing:border-box!important;width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important}
  html[data-layout="tablet"] body[data-step="side"] .stage .sideMenuCard .qty button{width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important}
  body .stage{min-height:0!important;padding-top:12px!important;padding-bottom:calc(116px + env(safe-area-inset-bottom))!important;flex:1 1 auto;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-x:none}
  body .stage>:where(.title,.darkBenefitTitle,.darkSetTitle){min-height:64px;margin-top:0!important;margin-bottom:8px!important;line-height:1.25!important;overflow:visible}
  body .stage>:where(.sub,.darkBenefitSub,.darkSetSub){margin-top:0!important;margin-bottom:10px!important}

  body[data-step="party"] .stage{padding-top:8px!important}
  body[data-step="party"] .partyStepperWrap{max-width:680px;padding:10px 24px!important;margin-inline:auto}
  body[data-step="party"] .partyStepper{max-width:540px;grid-template-columns:112px minmax(0,1fr) 112px;gap:12px;margin:10px auto 12px}
  body[data-step="party"] .partyStepBtn{width:112px!important;height:112px!important;min-height:112px!important;font-size:38px}
  body[data-step="party"] .partyCountDisplay{height:108px!important;min-height:108px!important;font-size:38px}
  body[data-step="party"] :where(.partyLimit,.partyRule,.partySubRule,.seatRuleNotice){margin-block:6px!important;padding-block:8px!important}
  body[data-step="party"] .areaAvailabilityMini{margin-block:7px!important}
  body[data-step="party"] .partyNext{width:var(--ipad-air3-action-width);min-height:56px!important;margin:4px auto 0}

  body[data-step="area"] .areaGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px 14px!important}
  body[data-step="area"] .areaCard{aspect-ratio:auto!important;min-height:0!important;height:220px!important;padding:10px 14px!important;gap:6px!important}
  body[data-step="area"] .areaCard :where(h2,p){margin-block:2px!important}
  body[data-step="area"] .areaCard .areaIcon{width:54px!important;height:54px!important;margin:0!important}
  body[data-step="area"] .areaCard :where(.areaHours,.areaPolicyReason,strong){font-size:14px!important;line-height:1.2!important}
  body[data-step="area"] :where(.seatRuleNotice,.areaPolicyGuide,.occupancyNote){margin-top:7px!important;padding:7px 12px!important;line-height:1.25!important}

  body[data-step="type"] .stage{padding-top:8px!important}
  body[data-step="type"] .grid.two{gap:14px!important}
  body[data-step="type"] .grid.two>.card{width:auto!important;min-height:180px!important;height:180px!important;padding-block:18px!important}

  body[data-step="setChoice"] .darkSetPage{padding:8px 24px!important}
  body[data-step="setChoice"] .darkSetTitle{min-height:52px!important;line-height:1.25!important;overflow:visible}
  body[data-step="setChoice"] .darkSetGrid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;max-width:690px!important;margin-inline:auto!important}
  body[data-step="setChoice"] .darkSetGrid .darkSetCard{grid-column:1!important;display:grid!important;grid-template-columns:105px minmax(0,1fr) auto!important;grid-template-rows:auto auto auto!important;align-items:center!important;min-height:176px!important;height:176px!important;padding:12px 18px!important;column-gap:14px!important;overflow:visible!important;text-align:left!important}
  body[data-step="setChoice"] .darkSetCard .darkSetBadge{grid-row:1/4;align-self:center!important;min-height:44px;margin:0!important}
  body[data-step="setChoice"] .darkSetCard h2{grid-column:2;min-height:34px;margin:0!important;font-size:25px!important;line-height:1.25!important;overflow:visible;word-break:keep-all}
  body[data-step="setChoice"] .darkSetSize{grid-column:2}
  body[data-step="setChoice"] .darkSetDesc{grid-column:2;line-height:1.25!important;word-break:keep-all}
  body[data-step="setChoice"] .darkSetPrice{grid-column:3;grid-row:1/3;white-space:nowrap}
  body[data-step="setChoice"] .darkSetSelect{grid-column:3;grid-row:3;min-height:44px;display:inline-flex;align-items:center}
  body[data-step="setChoice"] .darkSetNote{margin-top:8px!important;padding:8px!important}
  body[data-step="mode"] .title{min-height:52px!important;line-height:1.25!important;overflow:visible}
  body[data-step="mode"] .modeMainLabel{min-height:60px!important;line-height:1.25!important;overflow:visible}
  body[data-step="mode"] :is(.modeBasePrice,.crustPrice){min-height:40px!important;line-height:1.25!important;overflow:visible}
  body[data-step="mode"] .halfPrice{display:inline-block;min-height:30px;line-height:1.25!important}
  body[data-step="mode"] .crustCheck{line-height:34px!important;overflow:visible}

  body[data-step="pizza"] .stage{padding-top:4px!important}
  body[data-step="pizza"] .halfSelectionIndicator{margin-top:0!important;margin-bottom:6px!important}
  body[data-step="pizza"] .title{margin-block:0 6px!important}
  body[data-step="pizza"] .tabs{margin-block:4px 8px!important}
  body[data-step="drink"] .drinkVariantLabel{display:inline-flex;align-items:center;min-height:38px;line-height:1.2!important}
  body[data-step="drink"] :is(.drinkQuantityReadout,.v3DrinkQuantity,.setDrinkQuantity) strong{display:inline-flex;align-items:center;min-height:36px;line-height:1.2!important}
  body[data-step="drink"] .v3DrinkVolume>strong{display:inline-flex;align-items:center;min-height:30px;line-height:1.2!important}

  body:is([data-step="topping"],[data-step="side"],[data-step="drink"],[data-step="accompaniment"]) .selectionFooter{box-sizing:border-box!important;right:max(24px,env(safe-area-inset-right))!important;left:max(24px,env(safe-area-inset-left))!important;width:auto!important;max-width:690px!important;margin-inline:auto!important;padding-inline:0!important;transform:none!important}
  body:is([data-step="topping"],[data-step="side"],[data-step="drink"],[data-step="accompaniment"]) .selectionFooterCard{width:100%!important;min-height:64px!important;margin-inline:auto!important}
  body:is([data-step="topping"],[data-step="side"],[data-step="drink"],[data-step="accompaniment"]) .selectionFooterCard h2{height:48px;min-height:48px;line-height:48px!important;overflow:visible}

  body[data-step="review"] .stage{display:block;height:auto!important;min-height:0!important;margin-bottom:calc(var(--ipad-review-summary-dock-height,143px) + 120px + env(safe-area-inset-bottom))!important;padding:12px 24px!important}
  body[data-step="review"] .reviewKioskHeader{flex:0 0 auto}
  body[data-step="review"] .reviewKioskLayout{display:block;min-height:0}
  body[data-step="review"] .reviewItemsPane{display:block;min-height:0;overflow:visible}
  body[data-step="review"] .reviewOrderList{display:flex;min-height:0;margin-top:10px;gap:12px;flex-direction:column;overflow:visible!important}
  body[data-step="review"] .reviewOrderCard{display:grid!important;box-sizing:border-box;width:100%;min-width:0!important;height:auto!important;min-height:0!important;padding:18px!important;grid-template-columns:minmax(0,1fr) 224px!important;grid-template-rows:auto auto;gap:12px 18px;flex:0 0 auto}
  body[data-step="review"] .reviewOrderCard[hidden]{display:grid!important}
  body[data-step="review"] .reviewOrderCard>:where(.cartCategory,.cartBenefitRow,.cartOrderTotal){grid-column:1}
  body[data-step="review"] .reviewOrderCard :where(.cartCategory,.cartPizzaCategory){display:block!important;padding:8px 0!important;border-bottom:1px solid var(--line)!important}
  body[data-step="review"] .reviewOrderCard :where(.cartCategory h2,.cartPizzaCategory h2){margin:0 0 7px;font-size:18px!important;line-height:1.3!important;word-break:normal!important;overflow-wrap:anywhere!important}
  body[data-step="review"] .reviewOrderCard :where(.cartPizzaMeta,.cartPizzaToppingLine,.cartItemSummary,.reviewSection,.reviewSection li){font-size:16px!important;line-height:1.4!important;word-break:normal!important;overflow-wrap:anywhere!important}
  body[data-step="review"] .reviewOrderCard .cartPizzaMeta{display:flex!important;flex-wrap:wrap!important;gap:5px 12px!important;padding:0!important}
  body[data-step="review"] .reviewOrderCard .cartPizzaToppingLine{display:flex!important;min-width:0;flex-wrap:wrap!important;padding:4px 0!important}
  body[data-step="review"] .reviewOrderCard .cartItemSummary{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:6px 10px!important}
  body[data-step="review"] .reviewOrderCard .cartItemFlexibleSpace{display:none}
  body[data-step="review"] .cartItemName{min-width:0!important;word-break:normal!important;overflow-wrap:anywhere!important}
  body[data-step="review"] .reviewOrderCard :where(.cartPizzaPriceBreakdown,.cartBenefitRow,.cartOrderTotal){display:none!important}
  body[data-step="review"] .reviewOrderFinancials{display:grid;align-self:start;grid-column:2;grid-row:1;gap:0;border:1px solid #ead7bd;border-radius:14px;background:#fff7e9;overflow:hidden}
  body[data-step="review"] .reviewOrderFinancials>div{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 11px;border-bottom:1px solid #ead7bd;font-size:15px;line-height:1.3}
  body[data-step="review"] .reviewOrderFinancials>div:last-child{border-bottom:0}
  body[data-step="review"] .reviewOrderFinancials span{min-width:0;word-break:keep-all;overflow-wrap:normal}
  body[data-step="review"] .reviewOrderFinancials strong{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
  body[data-step="review"] .reviewOrderFinancials .discount{color:var(--r)}
  body[data-step="review"] .reviewOrderFinancials .final{font-size:17px;font-weight:1000}
  body[data-step="review"] .reviewOrderCard .cartOrderActions{display:grid!important;align-self:end;grid-column:2!important;grid-row:2!important;grid-template-columns:52px 52px minmax(72px,1fr)!important;gap:8px!important;margin:0!important}
  body[data-step="review"] .reviewOrderCard .cartOrderActions button{box-sizing:border-box!important;width:100%!important;min-width:44px!important;height:52px!important;min-height:52px!important;padding:0!important}
  body[data-step="review"] .reviewPager{display:none!important}
  body[data-step="review"] .reviewKioskLayout>.reviewSummaryPane{display:none!important}
  body[data-step="review"] .reviewSummaryDock{position:fixed;z-index:999;right:24px;bottom:calc(104px + env(safe-area-inset-bottom));left:24px;display:grid;box-sizing:border-box;min-width:0;padding:10px;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:12px;overflow:visible;border-radius:18px;background:#fff;box-shadow:0 -8px 24px rgba(18,35,29,.12)}
  body[data-step="review"] .reviewSummaryDock .reviewAddMore{margin:0;padding:8px}
  body[data-step="review"] .reviewAddMoreGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  body[data-step="review"] .reviewAddMoreGrid button{min-width:0!important;min-height:52px!important;padding:6px!important}
  body[data-step="review"] .reviewSummaryDock .reviewDiscountBox{margin:0;padding:10px}
  body[data-step="review"] .reviewSummaryDock .reviewDiscountBox .line{padding:4px 0;font-size:14px}
  body[data-step="review"] .reviewSummaryDock .reviewDiscountBox .final{padding-top:7px;font-size:17px}
  body[data-step="review"] :is(.reviewInlineConfirm,.reviewConfirmNote){display:none!important}
  body[data-step="review"] .reviewBottomActions{position:fixed!important;z-index:1000;right:24px!important;bottom:calc(16px + env(safe-area-inset-bottom))!important;left:24px!important;display:grid!important;height:72px!important;grid-template-columns:1fr 1fr 1.7fr!important;gap:10px!important}
  body[data-step="review"] .reviewBottomActions button{width:100%!important;height:72px!important;min-height:44px!important;margin:0!important}
  body[data-step="review"] .reviewConfirmBtn{background:var(--r)!important}
}
