/* Global premium menu polish: keeps every view/theme combination readable and visually consistent. */
.public-main .modal{background:rgba(0,0,0,.46)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;opacity:1!important}
.public-main .modal .sheet,.public-main .cart-modal{background:#fff!important;color:#1a1a1a!important;opacity:1!important;isolation:isolate!important;box-shadow:0 -24px 70px rgba(0,0,0,.30)!important}
.public-main .modal .sheet h1,.public-main .modal .sheet h2,.public-main .modal .sheet h3,.public-main .modal .sheet strong,.public-main .modal .sheet b,.public-main .cart-modal h1,.public-main .cart-modal h2,.public-main .cart-modal h3,.public-main .cart-modal .item-name,.public-main .cart-modal .item-price{color:#111!important;-webkit-text-fill-color:#111!important;opacity:1!important}
.public-main .modal .sheet p,.public-main .modal .sheet small,.public-main .modal .sheet .subtext,.public-main .modal .sheet .line small,.public-main .cart-modal p,.public-main .cart-modal small,.public-main .cart-modal .subtext{color:#666!important;-webkit-text-fill-color:#666!important;opacity:1!important}
.public-main .modal .sheet .line{color:#1a1a1a!important;border-color:#e9e6df!important}
.public-main .modal .sheet .line>*{color:inherit!important;opacity:1!important}
.public-main .modal .sheet input,.public-main .cart-modal input{background:#fff!important;color:#171717!important;-webkit-text-fill-color:#171717!important;border:1px solid #ddd!important;opacity:1!important}
.public-main .modal .sheet input::placeholder,.public-main .cart-modal input::placeholder{color:#8a8a8a!important;-webkit-text-fill-color:#8a8a8a!important;opacity:1!important}
.public-main .modal .sheet .qty,.public-main .cart-modal .qty{color:#171717!important}
.public-main .modal .sheet .qty button,.public-main .cart-modal .qty button{background:#fff!important;color:#171717!important;border:1px solid #d8d4cc!important;opacity:1!important}
.public-main .modal .sheet .confirm,.public-main .cart-modal .confirm{background:#171717!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
.public-main .cart{border-radius:999px!important;background:linear-gradient(135deg,#121212,#292929)!important;color:#fff!important;box-shadow:0 16px 42px rgba(0,0,0,.30),0 0 0 1px rgba(255,255,255,.08)!important;transition:transform .2s ease,box-shadow .2s ease!important}
.public-main .cart:hover{transform:translateX(-50%) translateY(-2px)!important;box-shadow:0 20px 48px rgba(0,0,0,.36),0 0 0 1px rgba(197,168,128,.22)!important}
.public-main .cart em{color:#f8f5ef!important}.public-main .cart i{color:#c5a880!important}
.public-main .card-menu .cart,.public-main .mm-cart,.public-main .pm-cart-mini{border-radius:999px!important}
/* Never mix cartoon fallback art with real food photography. */
.public-main .photo>span:not(.added-badge),.public-main .mm-photo>span:not(.added-badge),.public-main .image>span:not(.added-badge),.public-main .item-image>span:not(.added-badge){font-size:0!important}
.public-main .minimal-image-placeholder{display:grid!important;place-items:center!important;align-content:center!important;width:100%!important;height:100%!important;background:radial-gradient(circle at 50% 35%,rgba(197,168,128,.13),transparent 42%),linear-gradient(145deg,#f4f0e8,#e8e1d5)!important;color:#8d7b62!important;text-align:center!important}
.public-main .minimal-image-placeholder span{font:800 11px/1.2 "DM Sans",Arial,sans-serif!important;letter-spacing:3px!important;color:#9a896f!important}
.public-main .minimal-image-placeholder small{display:block!important;margin-top:7px!important;font:500 9px/1.2 "DM Sans",Arial,sans-serif!important;letter-spacing:.5px!important;color:#a69b8b!important}
/* Two-column maximum on phones; no cramped three-column customer cards. */
.public-main .card-menu .grid,.public-main .pm-grid,.public-main .mm-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
@media(max-width:600px){.public-main .card-menu .grid,.public-main .pm-grid,.public-main .mm-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}}
@media(max-width:380px){.public-main .card-menu .grid,.public-main .pm-grid,.public-main .mm-grid{grid-template-columns:1fr!important}}
/* Crisp item typography and one-line description treatment. */
.public-main .card .body h3,.public-main .food-card h3,.public-main .item-card h3,.public-main .mm-card-body h3,.public-main .pm-body h3{font-family:"DM Sans",Arial,sans-serif!important;font-weight:750!important;letter-spacing:-.15px!important}
.public-main .card .body p,.public-main .food-card p,.public-main .item-card p,.public-main .mm-card-body p,.public-main .pm-body p{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;min-height:0!important}
/* Sleek dietary micro-tags are placed into image corners by the small layout script. */
.public-main .dietary-badge{position:absolute!important;right:9px!important;top:9px!important;z-index:4!important;padding:5px 7px!important;border:1px solid currentColor!important;border-radius:7px!important;background:rgba(255,255,255,.92)!important;font:800 8px/1 "DM Sans",Arial,sans-serif!important;letter-spacing:.5px!important;backdrop-filter:blur(5px)!important}
.public-main .dietary-badge.veg{color:#3e8050!important}.public-main .dietary-badge.nonveg{color:#a34f49!important}
.public-main .type{font-size:0!important;height:0!important;margin:0!important;overflow:hidden!important}
/* Theme-specific badge surfaces remain readable on all six page styles. */
.public-main.theme-dark .dietary-badge{background:rgba(20,20,22,.88)!important}.public-main.theme-ocean .dietary-badge{background:rgba(10,29,40,.9)!important}.public-main.theme-rose .dietary-badge{background:rgba(43,23,33,.9)!important}.public-main.theme-forest .dietary-badge{background:rgba(17,42,32,.9)!important}.public-main.theme-sunset .dietary-badge{background:rgba(58,29,23,.9)!important}.public-main.theme-ivory .dietary-badge{background:rgba(255,252,246,.94)!important}
/* Keep page-theme rules away from authentication controls. */
.public-main .login-page input[type="text"],.public-main .login-page input[type="password"],.public-main .login-page .input{background:#fff!important;color:#202126!important;-webkit-text-fill-color:#202126!important;caret-color:#202126!important;opacity:1!important}
