/* Controles e páginas de compra compartilhados por todos os restaurantes. */
.public button,.public input,.public select,.public textarea{touch-action:manipulation}
.public input,.public select,.public textarea{font-size:16px}
.public input[type=radio],.public input[type=checkbox]{width:19px;height:19px;flex:0 0 19px}
.public button:disabled{cursor:not-allowed;opacity:.55}
.public .checkout-form>fieldset{min-width:0}
.checkout-section-title{font-size:17px;margin:14px 0 2px;display:flex;align-items:center;gap:10px}
.checkout-section-title span{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#edf6fd;color:#087bbf;font-size:13px}
.checkout-contact-fields,.checkout-address-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.checkout-contact-fields>label,.checkout-address-grid>label{display:grid;gap:7px;font-size:14px;min-width:0}
.checkout-address-grid .full-width{grid-column:1/-1}
.checkout-form .delivery-options,.checkout-form .payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.checkout-form .payment-options{grid-template-columns:1fr}
.checkout-form .delivery-choice,.checkout-form .payment-choice{display:flex;align-items:center;gap:12px;cursor:pointer;border:1px solid #dce2e7;border-radius:10px;padding:14px;min-height:68px;line-height:1.4}
.checkout-form .delivery-choice:has(input:checked),.checkout-form .payment-choice:has(input:checked){border-color:var(--menu-accent,#1298ef);box-shadow:inset 0 0 0 1px var(--menu-accent,#1298ef)}
.checkout-form .delivery-choice>span,.checkout-form .payment-choice>span{display:grid;gap:3px;min-width:0}
.checkout-form .delivery-choice strong,.checkout-form .payment-choice strong{font-size:14px}
.checkout-form .delivery-choice small,.checkout-form .payment-choice small{font-size:12px;color:#74818d}
.payment-choice svg,.payment-unavailable svg{width:24px;height:24px;flex:0 0 24px}
.checkout-form .payment-choice>input{margin-left:auto}
.payment-unavailable{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px dashed #dce2e7;border-radius:10px;color:#7e8790;font-size:13px}
.payment-unavailable span{display:grid;gap:3px}.payment-unavailable small{font-size:12px}
.checkout-form .change-options{display:flex;flex-wrap:wrap;gap:12px 22px}
.checkout-form .change-options label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px}
.checkout-form #change-field{display:grid;gap:7px;font-size:14px}
.checkout-form #address-fields:not([hidden]){display:block}
.checkout-form input[readonly]{background:#f5f7f8;color:#687582}
.review-details{display:grid;gap:14px;margin:14px 0 24px}.review-details section{padding-bottom:14px;border-bottom:1px solid #edf0f4}
.review-details h3{font-size:13px;color:#75818b;margin:0 0 5px}.review-details p{margin:4px 0!important}
.review-items .bag-item>div{min-width:0;flex:1}.review-items .bag-item p{font-size:12px;margin:4px 0 0}.review-items .bag-item>strong{white-space:nowrap}
.checkout-form .preview-notice{margin-top:4px!important;line-height:1.6}
.checkout-form .checkout-actions{justify-content:space-between}
.checkout-actions>button{min-height:46px}
.public .option-group label{min-height:46px}
.public .bag-quantity button{width:40px;height:40px}
.checkout-page-top button,#page-back{min-height:44px;display:flex;align-items:center}
.public .checkout-page-top>strong{max-width:50%;text-align:right;overflow-wrap:anywhere}
@media(max-width:600px){
  .checkout-contact-fields,.checkout-address-grid{grid-template-columns:1fr}
  .checkout-form .delivery-options{gap:8px}
  .checkout-form .delivery-choice{padding:12px 10px;gap:8px;align-items:flex-start}
  .checkout-form .delivery-choice input{margin-top:3px}
  .public .checkout-page-top{position:sticky;top:0;z-index:6;padding:10px 16px}
  .checkout-page .checkout-actions{display:grid;grid-template-columns:1fr;gap:12px}
  .checkout-page .checkout-actions .primary{width:100%;grid-row:1;min-height:48px}
  .checkout-page .checkout-actions .secondary{width:100%}
  .menu-page .add-row{position:sticky;bottom:0;z-index:4;padding:14px 0 max(14px,env(safe-area-inset-bottom));margin-top:18px;display:flex;flex-wrap:nowrap}
  .menu-page #menu-dialog:has(.detail-picture) .add-row>.primary{flex:1;min-width:0;min-height:48px;padding:12px 10px}
  .public .quantity button{height:46px;width:38px}
  .public .bottom-inner button{min-height:64px;min-width:48px}
  .public .option-group small{white-space:normal;text-align:right}
  .public .option-group label>span{flex:1;min-width:0}
  .public .bag-summary #continue-checkout{min-height:50px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
