/* Dedicated upright kiosk composition (including 1080 × 1920 displays). */
@media (orientation:portrait) and (min-width:741px){
 header{height:110px;padding:0 5%}
 .welcome{grid-template-columns:1fr;gap:40px;padding:6vh 7% 4vh;min-height:calc(100dvh - 170px);align-content:center}
 .welcome-copy{width:100%}
 .welcome h1{font-size:clamp(64px,8vw,100px);line-height:1.08}
 .welcome p{font-size:23px}
 .welcome .eyebrow{font-size:15px}
 .mode-options{gap:24px;margin-top:40px}
 .mode-card{padding:32px;min-height:180px}
 .mode-card strong{font-size:29px}
 .mode-card small{font-size:19px}
 .welcome-image{height:30dvh;max-height:520px;border-radius:48px;background-position:center 55%}
 .welcome-foot{font-size:16px}
 .shop{display:flex;flex-direction:column;height:calc(100dvh - 110px);min-height:0;overflow:hidden}
 .menu-pane{flex:1;min-height:0;overflow-y:auto;padding:32px 5%;overscroll-behavior:contain}
 .menu-heading h1{font-size:42px}
 .menu-heading .eyebrow{font-size:14px}
 .categories{flex-wrap:wrap;overflow:visible;gap:10px;margin:14px 0 28px}
 .categories button{min-height:58px;font-size:17px;padding:0 21px}
 .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 .food-art,.food-art:has(img){height:180px}
 .product-info{padding:20px}
 .product-info h2{font-size:20px}
 .product-info>small{font-size:16px}
 .price strong{font-size:19px}
 .add{width:44px;height:44px}
 .cart{position:relative;top:auto;flex:none;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0 28px;height:auto;max-height:34dvh;min-height:210px;border-left:0;border-top:1px solid var(--line);padding:18px 5% 24px;box-shadow:0 -8px 30px #244b3808}
 .cart-title{grid-column:1;grid-row:1}.cart-title h2{margin:8px 0;font-size:24px}
 .order-mode{grid-column:1;grid-row:2;margin:0 0 10px}
 .cart-items{grid-column:1;grid-row:3;max-height:19dvh;overflow:auto;min-height:0}
 .cart-empty{grid-column:1;grid-row:3;margin:0;text-align:left}
 .cart-empty>span,.cart-empty p{display:none}.cart-empty h3{margin:15px 0}
 .cart-item{padding:12px 0}.cart-item>strong{font-size:18px}.cart-item small{font-size:15px}
 .cart-item-bottom{margin-top:8px;font-size:17px}.quantity{min-height:52px;width:52px}
 .cart-bottom{grid-column:2;grid-row:1 / 4;align-self:end}
 .cart-bottom .total{border-top:0;padding:15px 0}.cart-bottom .total strong{font-size:29px}
 .cart-bottom p{font-size:15px;line-height:1.5}
 .cart-bottom .primary{min-height:74px;font-size:18px;padding:18px}
 .pill{min-height:58px;font-size:18px}
 dialog{width:min(720px,90vw);padding:36px;max-height:85dvh}
 dialog h2{font-size:36px}dialog p,.variant span,.note-label,legend{font-size:20px}
 .variant{min-height:72px}.variant b{font-size:18px}.variant input{width:26px;height:26px}
 textarea{font-size:20px}.modal-bottom .primary{font-size:20px;min-height:70px}
 .checkout,.success{max-width:760px;padding-top:10vh;font-size:22px}
 .checkout h1,.success h1{font-size:52px}.receipt small{font-size:18px}
 .checkout>.primary,.success>.primary{min-height:76px;font-size:22px}
 .kanban{grid-template-columns:1fr}.order-card{font-size:18px}
}
