/* Compact public catalogue; preserves DTI order and assistant handlers. */
.public-carta .menu-card-media{position:relative;display:block;flex-shrink:0}
.public-carta .menu-card-media img{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);min-height:0;max-width:100%;max-height:100%;object-fit:contain}
.public-carta .product-detail-media{height:300px;min-height:0;display:block}
.public-carta .product-detail-media img{display:block;width:100%;height:100%;object-fit:contain}
#menuAiBox .menu-ai-disclosure>summary{cursor:pointer;font-weight:800;color:var(--brand);min-height:44px;align-content:center}
#menuAiBox .menu-ai-disclosure>summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(min-width:761px){#menuAiBox .menu-ai-disclosure>summary{display:none}}
@media(max-width:760px){
 .public-carta .public-header{flex-wrap:nowrap;align-items:center;gap:8px;padding:0 10px;min-height:80px}
 .public-carta .public-brand{flex:1;min-width:0;max-width:216px;height:80px}
 .public-carta .public-brand img{width:100%;height:80px;max-width:216px}
 .public-carta .public-actions{flex:0 0 auto;gap:2px;align-items:stretch}
 .public-carta .public-actions .btn{padding:7px 9px;font-size:11px;min-height:36px;text-align:center}
 .public-carta .orders-badge{margin-left:2px;min-width:16px;padding:0 4px}
 .public-carta .site-wrap,.public-carta .public-menu-shell,#menuAiBox{width:calc(100% - 20px)}
 .public-carta .page-head{padding:18px 0 12px}
 .public-carta .page-head .eyebrow{display:none}
 .public-carta .page-head h1{font-size:30px;margin:0 0 5px;line-height:1.15}
 .public-carta .page-head p{font-size:13px;line-height:1.45;margin:0}
 .public-carta .catalog-branch{margin-bottom:10px}
 .public-carta .catalog-branch label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}
 .public-carta .catalog-branch select{padding:8px 10px;height:44px;font-size:14px}
 #menuAiBox{padding:0 12px;margin:0 auto 10px;border-radius:12px;box-shadow:none}
 #menuAiBox .menu-ai-head{display:none}
 #menuAiBox .menu-ai-form{grid-template-columns:minmax(0,1fr) auto;margin-top:4px}
 #menuAiBox .menu-ai-form input{min-width:0;font-size:16px;padding:10px}
 #menuAiBox .menu-ai-form .btn{font-size:11px;padding:8px}
 #menuAiBox .menu-ai-prompts{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
 #menuAiBox .menu-ai-prompt{flex-shrink:0;min-height:40px}
 #menuAiBox .menu-ai-result:empty{margin:0}
 #menuAiBox .menu-ai-disclosure[open]{padding-bottom:10px}
 .public-carta .public-menu-shell{border-radius:16px;margin-bottom:24px}
 .public-carta .public-menu-head{padding:8px;gap:0}
 .public-carta .public-menu-head h2{display:none}
 .public-carta .public-menu-search{min-width:0}
 .public-carta .public-menu-search input{font-size:16px;height:44px;padding:10px}
 .public-carta .public-menu-body{min-height:0}
 .public-carta .public-family-panel{padding:6px 8px}
 .public-carta .public-family-panel h3{display:none}
 .public-carta .family-buttons{gap:6px}
 .public-carta .family-btn{padding:8px 14px;min-height:44px;font-size:12px}
 .public-carta .public-products-wrap{padding:8px;overflow:visible;min-width:0}
 .public-carta .public-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .public-carta .menu-card{min-height:0;border-radius:12px;box-shadow:none}
 .public-carta .menu-card-media{height:auto;aspect-ratio:1}
 .public-carta .menu-card-media img{inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}
 .public-carta .menu-card-body{padding:6px;gap:6px}
 .public-carta .menu-card-family{display:none}
 .public-carta .menu-card h4{font-size:13px;line-height:1.25;min-height:3.75em;overflow-wrap:break-word}
 .public-carta .menu-card-price{font-size:13px;white-space:nowrap}
 .public-carta .menu-card-detail{font-size:11px;padding:5px 2px;height:44px;min-height:44px}
 .public-carta .menu-card-actions{grid-template-columns:34px minmax(0,1fr);gap:3px}
 .public-carta .menu-card-actions input{min-width:0;padding:3px 0;font-size:16px;border-radius:7px;-moz-appearance:textfield}
 .public-carta .menu-card-actions input::-webkit-inner-spin-button,.public-carta .menu-card-actions input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
 .public-carta .menu-card-actions input,.public-carta .menu-card-actions .btn{height:44px;min-height:44px}
 .public-carta .menu-card-actions .btn{min-width:0;padding:3px 1px;font-size:10px;border-radius:7px}
 .public-carta .product-detail-media{height:230px}
}
@media(max-width:359px){.public-carta .public-products{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep section navigation accessible on phones and tablets. */
@media(max-width:900px){
 .public-carta .public-header{flex-wrap:wrap;row-gap:0}
 .public-carta .public-header .public-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));order:3;flex:0 0 100%;width:100%;min-height:44px;margin:0;padding:0 0 5px;gap:5px}
 .public-carta .public-header .public-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:6px 4px;font-size:12px;border:1px solid var(--border);white-space:nowrap}
 .public-carta .public-header .public-nav a:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
}

/* Compact headings keep the catalogue above the fold. */
.public-carta .page-head{padding:22px 0 14px}
.public-carta .page-head .eyebrow{display:none}
.public-carta .page-head h1{font-size:32px;line-height:1.15;margin:0 0 6px;letter-spacing:-.025em}
.public-carta .page-head p{font-size:14px;line-height:1.45;margin:0}
.public-carta .catalog-branch{margin-bottom:10px}
.public-carta .public-menu-head{padding:10px 16px}
.public-carta .public-menu-head h2{font-size:16px}
@media(max-width:760px){
 .public-carta .page-head{padding:12px 0 10px}
 .public-carta .page-head h1{font-size:23px;margin-bottom:4px}
 .public-carta .page-head p{font-size:12px;line-height:1.35}
 .public-carta .public-menu-head{padding:8px}
}

/* Keep the catalogue first; assistant opens only when requested. */
.public-carta .catalog-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:16px;align-items:center;padding:14px 0 10px}
.public-carta .catalog-intro .page-head{padding:0}
.public-carta .catalog-intro .page-head h1{font-size:26px;margin:0 0 4px}
.public-carta .catalog-intro .page-head p{font-size:12px;line-height:1.35}
.public-carta .catalog-intro .catalog-branch{margin:0;width:100%}
.public-carta .catalog-intro .catalog-branch label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;font-size:11px}
.public-carta .catalog-intro .catalog-branch select{height:40px;padding:6px 10px;margin:0;font-size:12px}
.public-carta #menuAiBox{padding:0 12px;margin:0 auto 10px;border-radius:12px;box-shadow:none}
.public-carta #menuAiBox .menu-ai-disclosure>summary{display:list-item;min-height:40px;align-content:center;font-size:12px;font-weight:700}
.public-carta #menuAiBox .menu-ai-head{display:none}
.public-carta #menuAiBox .menu-ai-disclosure[open]{padding-bottom:10px}
@media(max-width:760px){
 .public-carta .catalog-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px 0}
 .public-carta .catalog-intro .page-head h1{font-size:21px;margin:0}
 .public-carta .catalog-intro .page-head p{display:none}
 .public-carta .catalog-intro .catalog-branch label{grid-template-columns:minmax(0,1fr);gap:2px;font-size:10px}
 .public-carta .catalog-intro .catalog-branch select{height:40px;font-size:11px;padding:5px}
}
