/* Cardápio SaaS Premium 2026 — Sistema Global de Modais */
:root{--pm-bg:#fff;--pm-text:#111827;--pm-muted:#64748b;--pm-border:#e2e8f0;--pm-soft:#f8fafc;--pm-shadow:0 28px 90px rgba(15,23,42,.28);--pm-radius:24px;--pm-primary:var(--store-primary,#111827)}
body.pm-lock{overflow:hidden!important;padding-right:0!important}
#premium-modal-backdrop{position:fixed;inset:0;z-index:10980;background:rgba(2,6,23,.68);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .22s ease}
#premium-modal-backdrop.is-visible{opacity:1}
.modal.premium-modal{position:fixed!important;inset:0!important;z-index:10990!important;display:none;overflow:auto;padding:24px;background:transparent!important;opacity:1!important}
.modal.premium-modal.is-open{display:flex!important;align-items:center;justify-content:center;animation:pmFade .2s ease both}
.modal.premium-modal .modal-dialog{width:min(760px,100%);max-width:none!important;margin:auto!important;transform:none!important;pointer-events:auto}
.modal.premium-modal .modal-content{overflow:hidden;border:1px solid rgba(255,255,255,.75)!important;border-radius:var(--pm-radius)!important;background:rgba(255,255,255,.98)!important;box-shadow:var(--pm-shadow)!important;color:var(--pm-text);animation:pmRise .25s cubic-bezier(.2,.8,.2,1) both}
.modal.premium-modal .modal-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px!important;border:0!important;border-bottom:1px solid var(--pm-border)!important;background:linear-gradient(180deg,#fff,var(--pm-soft))!important}
.modal.premium-modal .modal-title{margin:0!important;font-size:18px!important;line-height:1.25!important;font-weight:800!important;letter-spacing:-.02em;color:var(--pm-text)!important;text-transform:none!important}
.modal.premium-modal .modal-title i{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#111827;color:#fff;margin-right:10px}
.modal.premium-modal .modal-header small{display:block;color:var(--pm-muted);font-size:12px;font-weight:600;margin-bottom:3px}
.modal.premium-modal .close,.modal.premium-modal [data-pm-close]{flex:0 0 auto;display:grid!important;place-items:center;width:42px;height:42px;margin:0!important;padding:0!important;border:1px solid var(--pm-border)!important;border-radius:14px!important;background:#fff!important;color:#334155!important;font-size:25px!important;line-height:1!important;opacity:1!important;box-shadow:0 7px 18px rgba(15,23,42,.08);cursor:pointer;transition:.18s ease}
.modal.premium-modal .close:hover,.modal.premium-modal [data-pm-close]:hover{transform:translateY(-1px);background:#f1f5f9!important;color:#0f172a!important}
.modal.premium-modal .modal-body{padding:24px!important;max-height:min(72vh,720px);overflow:auto;background:#fff}
.modal.premium-modal .modal-footer{padding:18px 24px!important;border-top:1px solid var(--pm-border)!important;background:var(--pm-soft)!important}
/* Conteúdo legado dentro dos modais */
.modal.premium-modal .card{border:1px solid var(--pm-border)!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important;margin-bottom:12px!important;padding:16px!important}
.modal.premium-modal center{color:var(--pm-text)}
.modal.premium-modal hr{border:0;border-top:1px solid var(--pm-border);margin:16px 0}
.modal.premium-modal .row{margin-left:-6px;margin-right:-6px}.modal.premium-modal [class*="col-"]{padding-left:6px;padding-right:6px}
.modal.premium-modal .btn{min-height:46px;border:0!important;border-radius:14px!important;padding:12px 18px!important;font-weight:800!important;box-shadow:none!important;transition:.18s ease;white-space:normal}
.modal.premium-modal .btn:hover{transform:translateY(-1px);filter:brightness(.96)}
.modal.premium-modal .btn-success,.modal.premium-modal .btn-info,.modal.premium-modal .btn-primary{background:#111827!important;color:#fff!important}
.modal.premium-modal .btn-secondary,.modal.premium-modal .btn-light{background:#eef2f7!important;color:#111827!important}
.modal.premium-modal input,.modal.premium-modal select,.modal.premium-modal textarea{width:100%;min-height:48px;border:1px solid #cbd5e1!important;border-radius:14px!important;background:#fff!important;color:#0f172a!important;padding:11px 14px!important;outline:none!important;box-shadow:none!important}
.modal.premium-modal textarea{min-height:100px;resize:vertical}.modal.premium-modal input:focus,.modal.premium-modal select:focus,.modal.premium-modal textarea:focus{border-color:#64748b!important;box-shadow:0 0 0 4px rgba(100,116,139,.13)!important}
.modal.premium-modal label{font-weight:700;color:#334155;margin-bottom:7px}
.modal.premium-modal .alert{border:0!important;border-radius:16px!important;padding:14px 16px!important}
/* Endereço */
#visulLocalModal .modal-dialog{width:min(620px,100%)}
#visulLocalModal #visul_local img{width:100%;max-height:240px;object-fit:cover;border-radius:18px;margin-bottom:16px}
#visulLocalModal #visul_local{font-size:15px;line-height:1.7;color:#334155}
#visulLocalModal #visul_local .btn,#visulLocalModal #visul_local a[class*="btn"]{margin-top:14px}
/* Horários */
#visulHoraModal .modal-dialog{width:min(680px,100%)}
#visulHoraModal #visul_hora>.row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0!important}
#visulHoraModal #visul_hora>.row>[class*="col-"]{width:auto!important;max-width:none!important;flex:none!important;padding:0!important}
#visulHoraModal #visul_hora .slim-card-title{font-size:14px;font-weight:800;color:#0f172a;margin-bottom:8px}
#visulHoraModal #visul_hora .card center{font-size:13px;line-height:1.55;text-align:left!important}
#visulHoraModal #visul_hora .card{height:100%}
/* Seu pedido */
#visulPedidoModal .modal-dialog{width:min(760px,100%)}
#visulPedidoModal #visul_pedido>.card,#visulPedidoModal #visul_pedido .card-people-list{background:#fff!important}
#visulPedidoModal #visul_pedido .accordion-one{border:1px solid var(--pm-border);border-radius:16px;padding:14px;margin:0 0 10px!important;background:#fff}
#visulPedidoModal #visul_pedido .accordion-one hr{display:none}
#visulPedidoModal #visul_pedido a{color:#0f172a;font-weight:700;text-decoration:none}
#visulPedidoModal #visul_pedido .row{align-items:center;padding:4px 0}
#visulPedidoModal #visul_pedido .btn-block{margin-bottom:10px!important}
/* Produto */
#visulUsuarioModal .modal-dialog{width:min(720px,100%)}
#visulUsuarioModal .modal-body{padding:0!important;max-height:min(80vh,820px)}
/* Checkout e formulários públicos */
.checkout-premium,.delivery-premium,.balcao-premium,.premium-checkout{--pm-field:#fff}
.checkout-premium .card,.delivery-premium .card,.balcao-premium .card,.premium-checkout .card{border-radius:20px!important;border:1px solid var(--pm-border)!important;box-shadow:0 12px 35px rgba(15,23,42,.07)!important}
.checkout-premium input,.checkout-premium select,.checkout-premium textarea,.delivery-premium input,.delivery-premium select,.delivery-premium textarea,.balcao-premium input,.balcao-premium select,.balcao-premium textarea,.premium-checkout input,.premium-checkout select,.premium-checkout textarea{min-height:50px;border-radius:14px!important;border:1px solid #cbd5e1!important;background:#fff!important}
@keyframes pmFade{from{opacity:0}to{opacity:1}}@keyframes pmRise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:767px){
 .modal.premium-modal{padding:0;align-items:flex-end!important}
 .modal.premium-modal .modal-dialog{width:100%;margin:auto 0 0!important}
 .modal.premium-modal .modal-content{border-radius:24px 24px 0 0!important;max-height:94vh}
 .modal.premium-modal .modal-header{padding:17px 18px!important}
 .modal.premium-modal .modal-title{font-size:16px!important}
 .modal.premium-modal .modal-body{padding:18px!important;max-height:calc(94vh - 78px)}
 .modal.premium-modal .close,.modal.premium-modal [data-pm-close]{width:38px;height:38px;border-radius:12px!important}
 #visulHoraModal #visul_hora>.row{grid-template-columns:1fr}
 #visulPedidoModal .modal-body{padding:14px!important}
 #visulPedidoModal #visul_pedido .row{font-size:13px}
}
@media(max-width:420px){.modal.premium-modal .modal-header{padding:14px 15px!important}.modal.premium-modal .modal-body{padding:14px!important}.modal.premium-modal .btn{font-size:13px;padding:10px 12px!important}}
