/* RevFood public site v1.3.0: fluid header, storefront and dialogs. */
html,body,main{max-width:100%;min-width:0}
.site-header>*,.storefront>*,.price-grid>*,.direction-grid>*,.contact>*,footer>*{min-width:0}
.site-header :is(a,button,summary),.storefront :is(a,button,input,select),dialog :is(button,input,select,textarea){touch-action:manipulation}
.site-header :is(a,button,summary),.storefront button{min-height:44px}
.site-header .contact-topics>div{max-height:min(70dvh,520px);overflow:auto}
.price-tabs{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;flex-wrap:nowrap!important;scrollbar-width:thin}
.price-tabs button{flex:0 0 auto;white-space:normal}
.price-card,.price-card-body,.price-card h2,.price-card p{min-width:0;overflow-wrap:anywhere}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}

@media(max-width:760px){
 .site-header{position:relative!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"brand account" "contacts contacts" "navigation navigation"!important;padding:12px 14px!important;gap:10px!important}
 .site-header>.wordmark{max-width:calc(100vw - 170px)}
 .site-header>.header-contacts{display:grid!important;grid-template-columns:1fr!important;justify-items:start!important;gap:4px!important}
 .site-header>.header-contacts a{white-space:normal!important;overflow-wrap:anywhere}
 .site-header>.desktop-nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 12px!important;padding-top:10px!important}
 .site-header .desktop-nav a,.site-header .contact-topics summary{display:flex;align-items:center;min-height:44px;white-space:normal!important}
 .site-header .contact-topics>div{position:fixed;z-index:50;left:12px!important;right:12px!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom));width:auto!important;max-width:none!important}
 .storefront{padding:18px 14px max(48px,env(safe-area-inset-bottom))!important}
 .storefront .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .storefront-heading,.store-pager{flex-wrap:wrap}
 .direction-section,.approach,.gallery-section,.contact{padding-inline:16px!important}
 .direction-card{min-height:0!important}
 body>main>footer{display:grid!important;grid-template-columns:1fr!important;padding:14px!important}
}

@media(max-width:430px){
 .site-header>.wordmark span:last-child{display:none}
 .site-header>.wordmark{max-width:none}
 .site-header>.system-link{max-width:138px!important;min-height:44px}
 .site-header>.desktop-nav{grid-template-columns:1fr!important}
 .storefront .price-grid{grid-template-columns:1fr!important}
 .storefront .price-card h2{font-size:18px!important}
 .storefront-cart{width:100%}
 dialog{width:100vw!important;max-width:100vw;margin:0;max-height:100dvh;border-inline:0}
 dialog .lead-form{padding-inline:16px!important;padding-bottom:max(22px,env(safe-area-inset-bottom))!important}
}

@media(max-height:520px) and (orientation:landscape) and (max-width:900px){
 .site-header{position:relative!important}
 .site-header>.desktop-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .site-header .desktop-nav a,.site-header .contact-topics summary{font-size:11px!important}
}

@media(hover:none){.price-card:hover,.direction-card:hover,.primary-button:hover{transform:none!important}}
