html { scroll-padding-top:112px; }
dialog#dialog { max-height:calc(100dvh - 28px - env(safe-area-inset-top)); width:calc(100% - 24px); overscroll-behavior:contain; }
.modal-body,.payment-dialog { overflow-wrap:anywhere; }
.address-modal { padding:28px 21px 23px; }
.address-modal h2 { font-size:24px; line-height:1.2; margin-bottom:10px; }
.address-modal .form input,.address-modal .form textarea { font-size:16px; line-height:1.5; min-height:46px; }
.address-modal .form textarea { min-height:82px; resize:vertical; }
.address-city { padding:12px 11px; min-height:45px; margin:16px 0; }
.address-city span { min-width:0; overflow-wrap:anywhere; }
.address-city b { flex-shrink:0; }
.address-modal .form .btn { min-height:47px; font-size:13px; border-radius:12px; }
.location-dialog { max-height:calc(100dvh - 20px - env(safe-area-inset-top)); padding-bottom:calc(22px + env(safe-area-inset-bottom)); overscroll-behavior:contain; }
.location-dialog.selector { height:min(70dvh,560px); }
.location-dialog .location-search input { font-size:16px; min-height:26px; }
.location-dialog .location-options button { min-height:44px; }
.location-dialog .location-buttons button { min-height:46px; }
.location-dialog .location-text-button { min-height:32px; display:flex; align-items:center; justify-content:center; }
.location-selector { min-height:0; }
.location-options { overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.form input,.form select,.form textarea { scroll-margin:100px 0 140px; }
.form .radio { min-height:45px; }
.form input[type=radio],.form input[type=checkbox] { min-height:initial; }
@media(max-width:600px){
 .form input:not([type=radio]):not([type=checkbox]),.form textarea,.form select,.modal-body textarea,.admin input,.admin textarea,.admin select { font-size:16px; }
 .modal-body { padding:21px 18px; }
 .modal-body h2 { font-size:23px; }
 .close-dialog { width:35px; height:35px; }
 .modal-photo { max-height:38dvh; }
 .modal-actions { bottom:-21px; margin-bottom:-21px; padding-bottom:calc(21px + env(safe-area-inset-bottom)); }
 .extra-option { min-height:48px; }
 .extra-counter button { width:32px; height:32px; }
 .admin-shell { padding:20px 14px; }
 .admin-header h1 { font-size:23px; }
 .admin-product .row { flex-wrap:wrap; }
}
@media(max-width:370px){
 .address-modal { padding:25px 17px 20px; }
 .address-modal h2 { font-size:22px; }
 .location-dialog { padding-left:16px; padding-right:16px; }
 .location-dialog h2 { font-size:19px; }
 .location-dialog .location-buttons button { font-size:11px; }
 .location-dialog .city-pill { margin-top:13px; }
}
@media(max-height:630px){
 .location-dialog .location-pin { width:45px; height:45px; margin-top:11px; border-radius:15px; }
 .location-dialog .location-red { margin-top:9px; }
 .location-dialog .city-pill { margin-top:11px; padding:9px 21px; }
 .location-dialog .location-question { margin-top:12px; }
 .location-dialog .location-buttons { margin-top:12px; }
 .location-dialog .sheet-handle { margin-bottom:11px; }
}
@media(prefers-reduced-motion:no-preference){
 dialog#dialog[open] { animation:kings-dialog-in .22s cubic-bezier(.2,.8,.2,1) both; }
 dialog#dialog[open]::backdrop { animation:kings-backdrop-in .2s ease both; }
 .location-dialog[open] { animation:kings-sheet-in .28s cubic-bezier(.2,.85,.2,1) both; }
 .location-dialog[open]::backdrop { animation:kings-backdrop-in .24s ease both; }
 .location-dialog.location-closing { animation:kings-sheet-out .22s cubic-bezier(.4,0,.8,.3) both; pointer-events:none; }
 .location-dialog.location-closing::backdrop { animation:kings-backdrop-out .22s ease both; }
 .catalog-section,.page-head,.cart-line,.order-card { animation:kings-content-in .25s ease both; }
 .cart-float { animation:kings-bag-in .24s cubic-bezier(.2,.8,.2,1) both; }
 button,a,input,textarea,select { transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease; }
 .icon-button:active,.categories button:active,.directory-grid button:active { transform:scale(.97); }
 .add-circle { transition:transform .16s ease,background-color .16s ease; }
 .product-card:hover .add-circle { transform:translateY(-1px); }
}
@keyframes kings-dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes kings-sheet-in{from{opacity:.5;transform:translateY(70px)}to{opacity:1;transform:translateY(0)}}
@keyframes kings-sheet-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}
@keyframes kings-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes kings-backdrop-out{from{opacity:1}to{opacity:0}}
@keyframes kings-content-in{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes kings-bag-in{from{opacity:0;transform:translate(-50%,9px)}to{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Ações nas janelas acompanham o preto e dourado da sacola. */
dialog#dialog .btn:not(.secondary),.location-dialog .location-buttons button:first-child{background:#2b281f;color:#eedcaf;border:1px solid #594b2e;box-shadow:0 3px 10px #2b201015}
dialog#dialog .btn:not(.secondary):hover,.location-dialog .location-buttons button:first-child:hover{background:#3c3424;color:#fff0c9;border-color:#9b7f43}
dialog#dialog .modal-actions .btn:disabled{background:#eee8dc;color:#b4a17a;border-color:#e2d7c0;box-shadow:none}
.admin input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:#a6833b}
