/*
Theme Name: Michael's Deli Restoration
Theme URI: https://www.michaelsdeli-reno.com/
Author: Steve Miller
Description: Faithful WordPress restoration of the original Michael's Deli Dreamweaver website.
Version: 3.15.29
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: michaels-deli
*/

/*
 * Original Dreamweaver site designed and developed by Steve Miller.
 * WordPress restoration begun in 2026.
 */

.inner_copy {border:0;color:#f00;float:left;width:50% !important;margin:-100% 0 0 0;overflow:hidden;line-height:0;padding:0;font-size:11px}
.fleft {float:left}
.fright  {float:right}
.fcenter {float:none;margin:0 auto;text-align:center}
.fclear {clear:both}
body {margin:0;font-size:16px;font-family:"Trebuchet MS";color:#ccc;background:#7a0402;margin-top:10px;margin-bottom:10px}
.outer {
	width:950px;
	text-align:left
}
#header {
	width:950px;
	height:240px;
	float:left;
	background:#b96a05;
	background-image:url(assets/images/sandwich-header.jpg);
	background-repeat:no-repeat;
	background-position:right;
	padding-right:2px
}
.name {
	font-size:36px;
	color:#fff;
	font-family:"century Gothic";
	padding-top:30px;
	padding-left:20px;
	width:550px
}
.tag {
	font-size:15px;
	text-transform:uppercase;
	color:#fff;
	padding-left:40px;
	padding-top:10px;
	width:525px
}
#rc1 {width:10px;height:50px;background-image:url(assets/images/rc1.png);background-repeat:no-repeat;float:left;font-size:1px;clear:left}
#bg {
	width:952px;
	height:50px;
	background-image:url(assets/images/linksbg.png);
	background-repeat:repeat-x;
	float:left
}
#rc2 {width:10px;height:50px;background-image:url(assets/images/rc2.png);background-repeat:no-repeat;float:left;font-size:1px}
.toplinks {width:130px;text-align:center;float:right;height:50px;line-height:50px;font-family:Arial;font-size:12px;text-transform:uppercase;font-weight:bold}
.toplinks a {
	color:#CCC;
	text-decoration:none
}
.toplinks a:visited {
	color:#CCC;
	text-decoration:none
}
.toplinks a:hover {
	color:#f9ac3f;
	text-decoration:underline
}
.toplinks a:active {
	color:#FFF;
	text-decoration:none
}
.sap {
	width:auto;
	float:right;
	height:50px;
	font-size:11px;
	line-height:50px;
	color:#f9ac3f
}
#outer2 {
	width:950px;
	text-align:left;
	background:#fff;
	border-top-width: 2px;
	border-right-width: 1px;
	border-left-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-left-style: solid;
	border-top-color: #900;
	border-right-color: #993300;
	border-left-color: #993300;
}
#left-nav {width:220px;float:left;}
 .leftlinks {
	width:200px;
	float:left
}
.leftlinks ul {list-style-type:square;text-align:left;width:100%;padding-top:2px}
.leftlinks ul li {padding-top:6px;padding-bottom:6px;border-bottom:1px solid #E8D9BD;margin:0}
.leftlinks ul li a {text-align:left;padding-left:5px;font-size:14px;letter-spacing:1px;text-decoration:none;color:#444}
.leftlinks ul li a:hover {color:#ff7700;padding-left:5px;text-decoration:underline;font-weight:bold}
#news-bg {width:180px;padding-top:10px;text-align:justify;border-bottom:1px solid #D2D2D2;margin:0 auto 5px 15px;float:left}
.gap {height:0;font-size:1px;clear:left}
.date {width:66px;height:18px;background:#f00;color:#fff;font-family:tahoma;font-size:11px;font-weight:bold;line-height:18px;padding-left:6px}
.news-txt {text-align:justify;color:#3B3B3B;font-family:tahoma;font-size:11px;padding-top:6px}
#content {
	width:710px;
	float:left;
	float:left;
	border-left-width: 2px;
	border-left-style: solid;
	border-left-color: #900;
}
.heading {
	font-size:18px;
	font-weight:bold;
	color:#ff7700;
	padding-left:15px;
	height:30px;
	line-height:40px;
	text-align: center;
}

.notes {
	font-size:24px;
	font-weight:bold;
	color:#f30;
	padding-left:15px;
	height:30px;
	line-height:40px;
	text-align: center;
}

.deliver {
	font-size:18px;
	font-weight:bold;
	color:#ff7700;
	padding-left:5px;
	height:20px;
	line-height:20px;
	text-align: center;
}
.paren {
	font-size:14px;
	font-weight:bold;
	color:#ff7700;
	height:20px;
	line-height:20px;
	text-align: center;

}.hours {
	font-size:14px;
	font-weight:bold;
	color:#ff7700;
	height:20px;
	line-height:20px;
	padding-left:5px;
	clear: left;
}

#main {
	text-align:left;
	padding:0px 0px 5px 8px;
	background:#fff;
	color:#3b3b3b;
	float: left;
	width: inherit;
}
#main img {
	border:2px solid #888;
	margin:10px;
	float:left;
	width:300px;
	height:200px
}
#bottom {
	width:952px;
	clear:left;
	height:70px;
	background:#d30602
}
#footer {margin:0 auto;color:#ccc;height:20px;padding:11px}
.footerlinks {width:130px;text-align:center;height:50px;line-height:50px;font-weight:bold;text-transform:uppercase;color:#fff;float:left;font-size:11px}
.footerlinks a {color:#fff;text-decoration:none}
.footerlinks a:hover {text-decoration:none;color:#f9ac3f}
a {color:#FF9900;text-decoration:underline}
a:hover {color:#222;text-decoration:none}
.sidebar_image {
	padding-left: 15px;
}
.notation {
	font-size: 12px;
	padding-left: 10px;
	font-style: italic;
}
.category {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
.notationBold {
	font-size: 14px;
	font-weight: bold;
}
.notationNormal {
	font-size: 12px;
	font-style: italic;
}
.printable {
	float: right;
	font-size: 12px;
	padding-right: 50px;
	font-style: italic;
}
.Building_Image {
	padding-left: 178px;
}

.copyright {
	padding: 10px;
	position: relative;/* this gives IE6 hasLayout to properly clear */
	clear: both; /* this clear property forces the .container to understand where the columns end and contain them */
	background-color: #780007;
	height: 20px;
	font-size: 12px;
}
/* ~~ Miscellaneous float/clear classes ~~ */
.fltrt {  /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
float: right;
margin-left: 8px;
}
.fltlft { /* this class can be used to float an element left in your page. The floated element must precede the element it should be next to on the page. */
float: left;
margin-right: 8px;
}
.Choices {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: bold;
}
.Note {
	font-size:24px;
	font-weight:bold;
	color:#f30;
	padding-left:15px;
	height:30px;
	line-height:40px;
	text-align: center;
}
.deliver {
	font-size:18px;
	font-weight:bold;
	color:#f30;
	padding-left:5px;
	height:20px;
	line-height:20px;
	text-align: center;
}
.outer #outer2 #content .notes {
	font-size:24px;
	font-weight:bold;
	color:#f30;
	padding-left:15px;
	height:30px;
	line-height:40px;
	text-align: center;
}
#Locations {
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}
.Locations {
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	color: #000;
}



/* WordPress integration and restrained responsive behavior. */

html {
    -webkit-text-size-adjust: 100%;
}

body {
    min-width: 0;
}

.outer {
    margin: 0 auto;
}

#header .name a {
    color: inherit;
    text-decoration: none;
}

#header .tag p {
    margin: 1em 0;
}

#content {
    min-height: 650px;
}

#main {
    box-sizing: border-box;
}

#main a {
    color: #ff9900;
    text-decoration: underline;
}

#main a:hover {
    color: #222;
    text-decoration: none;
}

.home-slideshow {
    position: relative;
    width: 300px;
    height: 200px;
    overflow: hidden;
    border: 2px solid #888;
    margin: 10px;
    float: left;
    background: #eee;
}

.home-slideshow img {
    position: absolute;
    inset: 0;
    width: 300px !important;
    height: 200px !important;
    margin: 0 !important;
    border: 0 !important;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1s ease;
}

.home-slideshow img.is-active {
    opacity: 1;
}

.order-image {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    float: none !important;
    border: 2px solid #888 !important;
}

.sidebar_image,
#news-bg img {
    max-width: 100%;
    height: auto;
}

.site-mobile-toggle {
    display: none;
}

/* Preserve the original 950px desktop presentation.
   Only adapt when the screen is narrower than the original design. */
@media (max-width: 980px) {
    body {
        margin: 0;
    }

    center {
        display: block;
    }

    .outer,
    #header,
    #bg,
    #outer2,
    #bottom {
        width: 100%;
        max-width: 952px;
    }

    #header {
        box-sizing: border-box;
        background-position: right top;
    }

    .toplinks {
        width: auto;
        padding: 0 9px;
    }
}

@media (max-width: 900px) {
    #bg {
        height: auto;
        overflow: hidden;
        background: #780007;
        padding: 7px 0;
    }

    .toplinks,
    .sap {
        float: none;
        display: inline;
        width: auto;
        height: auto;
        line-height: 1.8;
    }

    .toplinks {
        padding: 0 5px;
    }

    #header {
        height: auto;
        min-height: 240px;
        background-size: auto 240px;
    }

    .name,
    .tag {
        box-sizing: border-box;
        width: 62%;
    }

    .name {
        font-size: 28px;
    }

    #left-nav,
    #content {
        float: none;
        width: 100%;
        border-left: 0;
    }

    #left-nav {
        border-bottom: 2px solid #900;
    }

    .leftlinks,
    #news-bg {
        float: none;
        width: auto;
        margin-right: 15px;
    }

    #main {
        padding-right: 8px;
    }

    .home-slideshow {
        float: none;
        margin: 10px auto;
    }

    #bottom {
        height: auto;
        overflow: hidden;
        padding: 8px 0;
    }

    .footerlinks {
        float: none;
        display: inline;
        width: auto;
        height: auto;
        line-height: 2;
        padding: 0 6px;
    }
}


/* ==========================================================================
   Restoration refinements — v1.2
   ========================================================================== */

/* Keep all seven top links visible and evenly spaced. */
#bg {
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
}

#bg .toplinks {
    float: none;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    white-space: nowrap;
    font-size: 11px;
}

#bg .sap {
    float: none;
    flex: 0 0 auto;
    width: auto;
}

/* Match the original header while preventing the second address from wrapping. */
#header .name {
    line-height: 1.08;
}

#header .name .tag {
    display: inline;
    width: auto;
    padding: 0;
    line-height: 1.2;
}

#header > .tag {
    width: 540px;
    padding-left: 32px;
    font-size: 14px;
    line-height: 1.2;
}

#header > .tag p {
    margin: 13px 0 0;
}

/* Prevent long Quick Links labels from being clipped. */
.leftlinks {
    box-sizing: border-box;
    padding-right: 4px;
}

.leftlinks ul {
    box-sizing: border-box;
    margin-top: 0;
    padding-left: 32px;
    padding-right: 4px;
}

.leftlinks ul li a {
    display: block;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

/* Preserve the two-column shell when the browser is slightly under 950px. */
@media (min-width: 901px) and (max-width: 980px) {
    #left-nav {
        width: 220px;
    }

    #content {
        width: calc(100% - 222px);
    }
}

/* Slideshow caption appears on hover/focus, like the original description behavior. */
.home-slideshow::after {
    content: attr(data-caption);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    padding: 6px 8px;
    color: #fff;
    background: rgba(0, 0, 0, .72);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.25;
    text-align: center;
    opacity: 0;
    transition: opacity .2s ease;
    pointer-events: none;
}

.home-slideshow:hover::after,
.home-slideshow:focus-within::after {
    opacity: 1;
}

/* Keep the footer navigation inside its original 70px red bar. */
#bottom {
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
}

#bottom .footerlinks {
    float: none;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    height: 70px;
    padding: 16px 4px 0;
    box-sizing: border-box;
    line-height: 1.25;
    text-align: center;
}

#bottom .footerlinks a {
    display: block;
}

.copyright {
    box-sizing: border-box;
    min-height: 40px;
    height: auto;
}

/* Mobile rules override the desktop flex navigation cleanly. */
@media (max-width: 900px) {
    #bg,
    #bottom {
        display: block;
    }

    #bg .toplinks,
    #bg .sap,
    #bottom .footerlinks {
        display: inline;
        float: none;
        width: auto;
        height: auto;
        padding: 0 5px;
        line-height: 1.8;
        white-space: normal;
    }

    #header > .tag,
    #header .name {
        width: 62%;
    }

    #header > .tag {
        padding-left: 20px;
        font-size: 12px;
    }
}


/* ==========================================================================
   Build 003 — pixel-fit homepage refinements
   ========================================================================== */

/* Top navigation: preserve the original single-line appearance without collisions. */
#bg {
    display: grid;
    grid-template-columns:
        minmax(92px, 1fr) 1px
        minmax(105px, 1.1fr) 1px
        minmax(118px, 1.2fr) 1px
        minmax(118px, 1.2fr) 1px
        minmax(108px, 1.1fr) 1px
        minmax(92px, 1fr) 1px
        minmax(92px, 1fr);
    align-items: center;
    justify-content: stretch;
    padding: 0 8px;
    box-sizing: border-box;
}

#bg .toplinks {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 0 6px;
    box-sizing: border-box;
    line-height: 1.15;
}

#bg .toplinks a {
    display: block;
    max-width: 100%;
    white-space: normal;
    text-align: center;
}

#bg .sap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1px;
    overflow: visible;
}

/* Header: closer match to the original Dreamweaver positioning. */
#header {
    position: relative;
    overflow: hidden;
}

#header .name {
    width: 520px;
    padding-top: 24px;
    padding-left: 18px;
    font-size: 36px;
    line-height: 1.05;
}

#header .name .tag {
    display: inline-block;
    margin-top: 8px;
    font-size: 15px;
    letter-spacing: 0;
}

#header > .tag {
    width: 500px;
    padding-left: 38px;
    padding-top: 8px;
    font-size: 13px;
    line-height: 1.2;
}

#header > .tag p {
    margin: 11px 0 0;
}

/* Sidebar spacing and typography. */
.leftlinks .heading {
    display: block;
    height: auto;
    line-height: 1.25;
    padding: 8px 0 5px 15px;
    text-align: left;
}

.leftlinks ul {
    margin: 0;
    padding-top: 2px;
    padding-left: 38px;
}

.leftlinks ul li {
    padding-top: 7px;
    padding-bottom: 7px;
}

.leftlinks ul li a {
    font-size: 14px;
    letter-spacing: .5px;
}

#news-bg {
    padding-top: 7px;
}

/* Homepage content alignment. */
#content > .heading {
    display: block;
    height: auto;
    min-height: 30px;
    line-height: 1.3;
    padding: 12px 15px 6px;
}

#main {
    padding: 0 10px 8px 8px;
}

#main p {
    margin-top: 1em;
    margin-bottom: 1em;
}

.home-slideshow {
    margin: 10px 12px 10px 10px;
}

#Locations table td {
    padding-top: 4px;
    padding-bottom: 4px;
}

/* Footer: equal spacing, no wrapping outside the red bar. */
#bottom {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    align-items: stretch;
}

#bottom .footerlinks {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 70px;
    padding: 0 5px;
    box-sizing: border-box;
    line-height: 1.2;
}

#bottom .footerlinks a {
    white-space: normal;
    text-align: center;
}

.copyright {
    padding: 9px 10px;
}

/* Restore a cleaner desktop shell at the exact original width. */
@media (min-width: 981px) {
    .outer {
        width: 950px;
    }

    #header,
    #outer2 {
        width: 950px;
    }

    #bg,
    #bottom {
        width: 952px;
    }
}

/* Responsive fallback remains separate from desktop restoration. */
@media (max-width: 900px) {
    #bg,
    #bottom {
        display: block;
        padding: 8px 6px;
    }

    #bg .toplinks,
    #bg .sap,
    #bottom .footerlinks {
        display: inline;
        width: auto;
        height: auto;
        min-height: 0;
        padding: 0 4px;
        line-height: 1.8;
    }

    #header .name,
    #header > .tag {
        width: 62%;
    }

    #header .name {
        font-size: 28px;
    }
}


/* ==========================================================================
   Build 004 — address and order-link wrapping fixes
   ========================================================================== */

/* Standardized, single-line location details in the header. */
#header > .tag {
    width: 530px;
    padding-left: 24px;
    padding-top: 7px;
    font-size: 12px;
    line-height: 1.2;
    text-transform: none;
}

#header > .tag p {
    margin: 12px 0 0;
    white-space: nowrap;
}

/* Keep each sidebar order prompt on exactly two intentional lines. */
.leftlinks .online-order-link {
    padding-left: 0;
    font-size: 12px;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
}

.leftlinks .online-order-link span {
    display: block;
    white-space: nowrap;
}

/* Retain comfortable spacing around the two-line order links. */
.leftlinks li.online-order-item {
    padding-top: 7px;
    padding-bottom: 7px;
}

/* On narrow screens, allow the header addresses to wrap rather than overflow. */
@media (max-width: 900px) {
    #header > .tag {
        width: 62%;
        padding-left: 20px;
        font-size: 11px;
    }

    #header > .tag p {
        white-space: normal;
    }
}


/* ==========================================================================
   Build 005 — final homepage polish
   ========================================================================== */

/* Keep both standardized location lines fully inside the orange text area. */
#header > .tag {
    width: 515px;
    padding-left: 24px;
    padding-top: 7px;
    font-size: 11px;
    line-height: 1.15;
    letter-spacing: 0;
}

#header > .tag p {
    margin: 12px 0 0;
    white-space: nowrap;
}

/* Keep each online-order prompt centered and fully inside the sidebar. */
.leftlinks li.online-order-item {
    padding-left: 0;
    padding-right: 0;
}

.leftlinks .online-order-link {
    width: 100%;
    padding: 0;
    font-size: 11px;
    line-height: 1.25;
    letter-spacing: 0;
    text-align: center;
}

.leftlinks .online-order-link span {
    display: block;
    width: 100%;
    white-space: nowrap;
}

/* Slightly tighten the header text so the title and locations feel balanced. */
#header .name {
    padding-top: 25px;
}

#header .name .tag {
    margin-top: 7px;
}

/* Footer labels match the top navigation wording. */
#bottom .footerlinks {
    font-size: 11px;
}


/* ==========================================================================
   Build 006 — final homepage fixes
   ========================================================================== */

/*
 * Reserve the right side of the header for the sandwich image and keep both
 * address lines fully inside the left text column.
 */
#header .name,
#header > .tag {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
}

#header .name {
    width: 535px;
}

#header > .tag {
    width: 535px;
    padding-left: 24px;
    padding-right: 6px;
    font-size: 10.5px;
    line-height: 1.15;
}

#header > .tag p {
    margin: 12px 0 0;
    white-space: nowrap;
}

/* Keep the header artwork strictly behind the right-side image area. */
#header {
    background-position: right top;
}

/* Compact, centered sidebar ordering links using two chevrons per side. */
.leftlinks .online-order-link {
    font-size: 12px;
    line-height: 1.2;
}

.leftlinks .online-order-link span {
    white-space: nowrap;
}

/* Final footer text consistency. */
#bottom .footerlinks a {
    line-height: 1.15;
}

@media (max-width: 900px) {
    #header .name,
    #header > .tag {
        width: 62%;
    }

    #header > .tag {
        font-size: 11px;
        padding-right: 0;
    }

    #header > .tag p {
        white-space: normal;
    }
}


/* ==========================================================================
   Build 007 — Daily Specials public page
   ========================================================================== */

.md-specials-tabs {
    margin: 8px;
    color: #3b3b3b;
}

.md-specials-tab-list {
    display: flex;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
    border-bottom: 1px solid #999;
}

.md-specials-tab {
    flex: 1 1 0;
    padding: 10px 8px;
    border: 1px solid #999;
    border-bottom: 0;
    background: #eee;
    color: #444;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
}

.md-specials-tab[aria-selected="true"] {
    color: #fff;
    background: #d30602;
}

.md-specials-panel {
    padding: 14px 10px 24px;
    border: 1px solid #999;
    border-top: 0;
    background: #fff;
}

.md-specials-panel[hidden] {
    display: none;
}

.md-specials-date {
    margin: 0 0 16px;
    color: #ff7700;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.35;
    text-align: center;
}

.md-specials-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.md-specials-table th,
.md-specials-table td {
    padding: 5px 7px;
    vertical-align: top;
}

.md-specials-category th {
    padding-top: 14px;
    padding-bottom: 6px;
    color: #222;
    font-size: 18px;
    text-align: center;
}

.md-specials-category-note td {
    padding-top: 0;
    padding-bottom: 8px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
}

.md-special-name {
    width: auto;
    font-size: 14px;
}

.md-special-description {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    font-style: italic;
    line-height: 1.35;
}

.md-special-price {
    width: 84px;
    font-size: 14px;
    text-align: right;
    white-space: nowrap;
}

.md-specials-empty {
    color: #777;
    font-style: italic;
    text-align: center;
}

@media (max-width: 900px) {
    .md-specials-tab-list {
        display: block;
    }

    .md-specials-tab {
        width: 100%;
        border-bottom: 1px solid #999;
    }

    .md-specials-panel {
        border-top: 1px solid #999;
    }

    .md-specials-table,
    .md-specials-table tbody,
    .md-specials-table tr,
    .md-specials-table td,
    .md-specials-table th {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .md-special-price {
        padding-top: 0 !important;
        text-align: left;
    }
}


/* ==========================================================================
   Build 008 — Daily Specials readability
   ========================================================================== */

.md-special-description {
    margin-left: 1.4em;
    margin-top: 1px;
}

.md-specials-table tr + tr:not(.md-specials-category):not(.md-specials-category-note) td {
    padding-top: 7px;
}


/* ==========================================================================
   Build 009 — Daily Specials editor polish
   ========================================================================== */

/* Give descriptions more horizontal room by narrowing the price column. */
.md-special-price {
    width: 58px;
    padding-left: 4px !important;
}

.md-special-name {
    width: auto;
}

.md-special-description {
    margin-left: 1.4em;
    max-width: none;
}

/* Compact trash-can row control. */
.md-trash-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-top: 2px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #646970;
    cursor: pointer;
    border-radius: 3px;
}

.md-trash-button:hover,
.md-trash-button:focus {
    color: #b32d2e;
    background: #f6f7f7;
    outline: none;
}

.md-trash-button svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

/* Keep the public menu readable on narrow screens. */
@media (max-width: 900px) {
    .md-special-price {
        width: 100%;
    }
}


/* ==========================================================================
   Build 010 — copy controls, clearer trash icons, wider public descriptions
   ========================================================================== */

/* Let the description column consume all available space before wrapping. */
.md-specials-table {
    table-layout: auto;
}

.md-special-name {
    width: 100%;
}

.md-special-price {
    width: 1%;
    min-width: 58px;
    white-space: nowrap;
}

/* Make the trash icon easier to recognize without dominating the editor. */
.md-trash-button {
    width: 32px;
    height: 32px;
    border: 1px solid #c3c4c7;
    background: #fff;
    color: #646970;
}

.md-trash-button:hover,
.md-trash-button:focus {
    border-color: #b32d2e;
    color: #b32d2e;
    background: #fff5f5;
}

.md-trash-button svg {
    width: 20px;
    height: 20px;
}


/* Original Spry tab styles, adapted for the Midtown Menu. */
@charset "UTF-8";

/* SpryTabbedPanels.css - version 0.6 - Spry Pre-Release 1.6.1 */

/* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */

/* Horizontal Tabbed Panels
 *
 * The default style for a TabbedPanels widget places all tab buttons
 * (left aligned) above the content panel.
 */

/* This is the selector for the main TabbedPanels container. For our
 * default style, this container does not contribute anything visually,
 * but it is floated left to make sure that any floating or clearing done
 * with any of its child elements are contained completely within the
 * TabbedPanels container, to minimize any impact or undesireable
 * interaction with other floated elements on the page that may be used
 * for layout.
 *
 * If you want to constrain the width of the TabbedPanels widget, set a
 * width on the TabbedPanels container. By default, the TabbedPanels widget
 * expands horizontally to fill up available space.
 *
 * The name of the class ("TabbedPanels") used in this selector is not
 * necessary to make the widget function. You can use any class name you
 * want to style the TabbedPanels container.
 */
.TabbedPanels {
	overflow: hidden;
	margin: 0px;
	padding: 0px;
	clear: none;
	width: 100%; /* IE Hack to force proper layout when preceded by a paragraph. (hasLayout Bug)*/
}

/* This is the selector for the TabGroup. The TabGroup container houses
 * all of the tab buttons for each tabbed panel in the widget. This container
 * does not contribute anything visually to the look of the widget for our
 * default style.
 *
 * The name of the class ("TabbedPanelsTabGroup") used in this selector is not
 * necessary to make the widget function. You can use any class name you
 * want to style the TabGroup container.
 */
.TabbedPanelsTabGroup {
	margin: 0px;
	padding: 0px;
}

/* This is the selector for the TabbedPanelsTab. This container houses
 * the title for the panel. This is also the tab "button" that the user clicks
 * on to activate the corresponding content panel so that it appears on top
 * of the other tabbed panels contained in the widget.
 *
 * For our default style, each tab is positioned relatively 1 pixel down from
 * where it wold normally render. This allows each tab to overlap the content
 * panel that renders below it. Each tab is rendered with a 1 pixel bottom
 * border that has a color that matches the top border of the current content
 * panel. This gives the appearance that the tab is being drawn behind the
 * content panel.
 *
 * The name of the class ("TabbedPanelsTab") used in this selector is not
 * necessary to make the widget function. You can use any class name you want
 * to style this tab container.
 */
.TabbedPanelsTab {
	position: relative;
	top: 1px;
	float: left;
	padding: 4px 10px;
	margin: 0px 1px 0px 0px;
	font: bold 0.7em sans-serif;
	background-color: #DDD;
	list-style: none;
	border-left: solid 1px #CCC;
	border-bottom: solid 1px #999;
	border-top: solid 1px #999;
	border-right: solid 1px #999;
	-moz-user-select: none;
	-khtml-user-select: none;
	cursor: pointer;
}

/* This selector is an example of how to change the appearnce of a tab button
 * container as the mouse enters it. The class "TabbedPanelsTabHover" is
 * programatically added and removed from the tab element as the mouse enters
 * and exits the container.
 */
.TabbedPanelsTabHover {
	background-color: #CCC;
}

/* This selector is an example of how to change the appearance of a tab button
 * container after the user has clicked on it to activate a content panel.
 * The class "TabbedPanelsTabSelected" is programatically added and removed
 * from the tab element as the user clicks on the tab button containers in
 * the widget.
 *
 * As mentioned above, for our default style, tab buttons are positioned
 * 1 pixel down from where it would normally render. When the tab button is
 * selected, we change its bottom border to match the background color of the
 * content panel so that it looks like the tab is part of the content panel.
 */
.TabbedPanelsTabSelected {
	background-color: #EEE;
	border-bottom: 1px solid #EEE;
}

/* This selector is an example of how to make a link inside of a tab button
 * look like normal text. Users may want to use links inside of a tab button
 * so that when it gets focus, the text *inside* the tab button gets a focus
 * ring around it, instead of the focus ring around the entire tab.
 */
.TabbedPanelsTab a {
	color: black;
	text-decoration: none;
}

/* This is the selector for the ContentGroup. The ContentGroup container houses
 * all of the content panels for each tabbed panel in the widget. For our
 * default style, this container provides the background color and borders that
 * surround the content.
 *
 * The name of the class ("TabbedPanelsContentGroup") used in this selector is
 * not necessary to make the widget function. You can use any class name you
 * want to style the ContentGroup container.
 */
.TabbedPanelsContentGroup {
	clear: both;
	border-left: solid 1px #CCC;
	border-bottom: solid 1px #CCC;
	border-top: solid 1px #999;
	border-right: solid 1px #999;
	background-color: #EEE;
}

/* This is the selector for the Content panel. The Content panel holds the
 * content for a single tabbed panel. For our default style, this container
 * provides some padding, so that the content is not pushed up against the
 * widget borders.
 *
 * The name of the class ("TabbedPanelsContent") used in this selector is
 * not necessary to make the widget function. You can use any class name you
 * want to style the Content container.
 */
.TabbedPanelsContent {
	overflow: hidden;
	padding: 4px;
}

/* This selector is an example of how to change the appearnce of the currently
 * active container panel. The class "TabbedPanelsContentVisible" is
 * programatically added and removed from the content element as the panel
 * is activated/deactivated.
 */
.TabbedPanelsContentVisible {
}

/* Vertical Tabbed Panels
 *
 * The following rules override some of the default rules above so that the
 * TabbedPanels widget renders with its tab buttons along the left side of
 * the currently active content panel.
 *
 * With the rules defined below, the only change that will have to be made
 * to switch a horizontal tabbed panels widget to a vertical tabbed panels
 * widget, is to use the "VTabbedPanels" class on the top-level widget
 * container element, instead of "TabbedPanels".
 */

.VTabbedPanels {
	overflow: hidden;
	zoom: 1;
}

/* This selector floats the TabGroup so that the tab buttons it contains
 * render to the left of the active content panel. A border is drawn around
 * the group container to make it look like a list container.
 */
.VTabbedPanels .TabbedPanelsTabGroup {
	float: left;
	width: 10em;
	height: 20em;
	background-color: #EEE;
	position: relative;
	border-top: solid 1px #999;
	border-right: solid 1px #999;
	border-left: solid 1px #CCC;
	border-bottom: solid 1px #CCC;
}

/* This selector disables the float property that is placed on each tab button
 * by the default TabbedPanelsTab selector rule above. It also draws a bottom
 * border for the tab. The tab button will get its left and right border from
 * the TabGroup, and its top border from the TabGroup or tab button above it.
 */
.VTabbedPanels .TabbedPanelsTab {
	float: none;
	margin: 0px;
	border-top: none;
	border-left: none;
	border-right: none;
}

/* This selector disables the float property that is placed on each tab button
 * by the default TabbedPanelsTab selector rule above. It also draws a bottom
 * border for the tab. The tab button will get its left and right border from
 * the TabGroup, and its top border from the TabGroup or tab button above it.
 */
.VTabbedPanels .TabbedPanelsTabSelected {
	background-color: #EEE;
	border-bottom: solid 1px #999;
}

/* This selector floats the content panels for the widget so that they
 * render to the right of the tabbed buttons.
 */
.VTabbedPanels .TabbedPanelsContentGroup {
	clear: none;
	float: left;
	padding: 0px;
	width: 30em;
	height: 20em;
}

/* Styles for Printing */
@media print {
.TabbedPanels {
	overflow: visible !important;
}
.TabbedPanelsContentGroup {
	display: block !important;
	overflow: visible !important;
	height: auto !important;
}
.TabbedPanelsContent {
	overflow: visible !important;
	display: block !important;
	clear:both !important;
}
.TabbedPanelsTab {
	 overflow: visible !important;
	 display: block !important;
	 clear:both !important;
}
}

/* ==========================================================================
   Build 012 — Midtown Menu
   ========================================================================== */

.md-menu-page .printable {
    float: none;
    display: block;
    padding: 5px 0 0;
    text-align: center;
}

.md-menu-page .printable a {
    color: #ff9900;
    text-decoration: underline;
}

.md-menu-page .TabbedPanels {
    margin: 8px 0 16px;
}

.md-menu-page .TabbedPanelsTabGroup {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    margin: 0;
    padding: 0;
}

.md-menu-page .TabbedPanelsTab {
    float: none;
    flex: 1 1 105px;
    min-width: 92px;
    height: auto;
    padding: 8px 7px;
    border: 1px solid #999;
    background: #eee;
    color: #444;
    font: bold 12px/1.2 Arial, Helvetica, sans-serif;
    text-align: center;
    cursor: pointer;
    list-style: none;
}

.md-menu-page .TabbedPanelsTabHover {
    background: #ddd;
}

.md-menu-page .TabbedPanelsTabSelected {
    color: #fff;
    background: #d30602;
}

.md-menu-page .TabbedPanelsContentGroup {
    clear: both;
    border: 1px solid #999;
    background: #fff;
}

.md-menu-page .TabbedPanelsContent {
    padding: 12px 10px 20px;
}

.md-menu-page .TabbedPanelsContent[hidden] {
    display: none !important;
}

.md-menu-page table {
    max-width: 100%;
}

.md-menu-page td {
    vertical-align: top;
}

.md-menu-page .category {
    color: #222;
}

.md-menu-page a[href^="#"] {
    color: #ff9900;
}

@media (max-width: 900px) {
    .md-menu-page .TabbedPanelsTabGroup {
        display: block;
    }

    .md-menu-page .TabbedPanelsTab {
        width: 100%;
        box-sizing: border-box;
    }

    .md-menu-page table,
    .md-menu-page tbody,
    .md-menu-page tr,
    .md-menu-page td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }
}


/* ==========================================================================
   Build 013 — Midtown Menu item spacing
   ========================================================================== */

/*
 * The original "Original Sandwiches" tab already had comfortable visual
 * separation between items. Apply comparable spacing consistently across all
 * Midtown Menu categories without loosening the line-height inside an item.
 */
.md-menu-page .TabbedPanelsContent table tr.md-menu-item-row > td {
    padding-top: 5px;
    padding-bottom: 5px;
}

.md-menu-page .TabbedPanelsContent table tr.md-menu-item-row + tr.md-menu-item-row > td {
    padding-top: 9px;
}

/* Keep names, descriptions, and prices visually grouped. */
.md-menu-page .TabbedPanelsContent table tr.md-menu-item-row p,
.md-menu-page .TabbedPanelsContent table tr.md-menu-item-row div {
    margin-top: 0;
    margin-bottom: 0;
}

/* Preserve compact spacing for headings, notes, and divider rows. */
.md-menu-page .TabbedPanelsContent table tr.md-menu-heading-row > td,
.md-menu-page .TabbedPanelsContent table tr.md-menu-note-row > td,
.md-menu-page .TabbedPanelsContent table tr.md-menu-empty-row > td {
    padding-top: 2px;
    padding-bottom: 2px;
}

/* Slightly improve price alignment without changing the original menu style. */
.md-menu-page .TabbedPanelsContent table tr.md-menu-item-row > td:last-child {
    white-space: nowrap;
    vertical-align: top;
}


/* ==========================================================================
   Build 014 — normalized, data-driven Midtown Menu
   ========================================================================== */

.md-data-menu-page .md-menu-tab-list,
.md-data-menu-page .md-menu-subtab-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    margin: 8px 0 0;
    padding: 0;
}

.md-data-menu-page .md-menu-tab,
.md-data-menu-page .md-menu-subtab {
    flex: 1 1 100px;
    min-width: 92px;
    padding: 9px 7px;
    border: 1px solid #999;
    background: #eee;
    color: #444;
    font: bold 12px/1.2 Arial, Helvetica, sans-serif;
    text-align: center;
    cursor: pointer;
}

.md-data-menu-page [role="tab"][aria-selected="true"] {
    color: #fff;
    background: #d30602;
}

.md-data-menu-page .md-menu-panel,
.md-data-menu-page .md-menu-subpanel {
    padding: 14px 14px 24px;
    border: 1px solid #999;
    background: #fff;
}

.md-data-menu-page .md-menu-panel[hidden],
.md-data-menu-page .md-menu-subpanel[hidden] {
    display: none;
}

.md-data-menu-page .md-menu-intro {
    margin: 8px 0 16px;
    padding: 10px 12px;
    background: #f7f2e9;
    border: 1px solid #e3d4ba;
}

.md-data-menu-page .md-menu-intro p {
    margin: 5px 0;
}

.md-data-menu-page .md-menu-note {
    margin: 8px 0 14px;
    text-align: center;
    font-weight: bold;
}

.md-data-menu-list {
    margin-top: 8px;
}

.md-data-menu-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 16px;
    align-items: start;
    padding: 10px 4px;
    border-bottom: 1px solid #eee6d8;
}

.md-data-menu-item:last-child {
    border-bottom: 0;
}

.md-data-menu-copy h3 {
    margin: 0;
    color: #222;
    font-size: 14px;
    line-height: 1.3;
}

.md-data-menu-copy p {
    margin: 3px 0 0 1.35em;
    font-size: 12px;
    font-style: italic;
    line-height: 1.4;
}

.md-data-menu-price {
    min-width: 64px;
    color: #222;
    font-size: 14px;
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .md-data-menu-page .md-menu-tab-list,
    .md-data-menu-page .md-menu-subtab-list {
        display: block;
    }

    .md-data-menu-page .md-menu-tab,
    .md-data-menu-page .md-menu-subtab {
        width: 100%;
        box-sizing: border-box;
    }

    .md-data-menu-item {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .md-data-menu-price {
        text-align: left;
    }
}


/* ==========================================================================
   Build 015 — Midtown Menu typography refinements
   ========================================================================== */

/* Remove divider lines; use white space alone between menu items. */
.md-data-menu-item {
    padding: 10px 4px 12px;
    border-bottom: 0;
}

/* Keep each name and description tightly grouped. */
.md-data-menu-copy h3 {
    margin: 0;
    line-height: 1.25;
}

.md-data-menu-copy p {
    margin: 1px 0 0 1.35em;
    font-style: normal;
    line-height: 1.35;
}

/* Preserve clear separation between one complete item and the next. */
.md-data-menu-item + .md-data-menu-item {
    margin-top: 4px;
}

/* Intro box labels are bold, while the explanatory text remains normal. */
.md-menu-intro strong {
    font-weight: 700;
}


/* ==========================================================================
   Build 016 — Midtown Menu data corrections
   ========================================================================== */

.md-data-menu-copy p {
    margin-top: 0;
    line-height: 1.3;
}

.md-data-menu-price span {
    display: block;
}


.md-data-menu-name {
    margin: 0;
    color: #222;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.md-data-menu-description {
    margin: 0 0 0 1.35em;
    font-size: 12px;
    line-height: 1.3;
}


/* ==========================================================================
   Build 017 — Midtown Menu audit and cleanup
   ========================================================================== */

.md-data-menu-description {
    margin-top: 0;
    line-height: 1.28;
}

.md-menu-note.md-menu-note-after {
    margin-top: 18px;
    margin-bottom: 4px;
}


/* ==========================================================================
   Build 018 — Midtown Menu editor support
   ========================================================================== */

.md-data-menu-item.is-hidden {
    display: none;
}


/* ==========================================================================
   Build 026 — Specials Library
   ========================================================================== */

.md-library-button {
    margin-top: 4px;
    white-space: nowrap;
}

.md-specials-library-modal[hidden] {
    display: none;
}

.md-specials-library-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, .55);
}

.md-specials-library-dialog {
    width: min(920px, 96vw);
    max-height: 88vh;
    overflow: hidden;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

.md-specials-library-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid #dcdcde;
}

.md-specials-library-header h2 {
    margin: 0;
}

.md-specials-library-close {
    border: 0;
    background: transparent;
    font-size: 26px;
    cursor: pointer;
}

.md-specials-library-tools {
    display: grid;
    grid-template-columns: 1fr 190px;
    gap: 10px;
    padding: 14px 18px;
    border-bottom: 1px solid #dcdcde;
}

.md-specials-library-tools input,
.md-specials-library-tools select {
    width: 100%;
}

.md-specials-library-results {
    max-height: 58vh;
    overflow-y: auto;
    padding: 10px 18px 18px;
}

.md-specials-library-result {
    display: grid;
    grid-template-columns: minmax(0,1fr) 100px 90px;
    gap: 12px;
    align-items: start;
    padding: 10px 6px;
    border-bottom: 1px solid #eee;
}

.md-specials-library-result-name {
    font-weight: 700;
}

.md-specials-library-result-description {
    margin-top: 2px;
    color: #50575e;
    font-size: 12px;
}

.md-specials-library-result-price {
    text-align: right;
    white-space: nowrap;
}

.md-specials-library-empty {
    padding: 24px;
    color: #646970;
    text-align: center;
}

@media (max-width: 700px) {
    .md-specials-library-tools,
    .md-specials-library-result {
        grid-template-columns: 1fr;
    }

    .md-specials-library-result-price {
        text-align: left;
    }
}


/* ==========================================================================
   Build 029 — Compact Daily Specials Library buttons
   ========================================================================== */

.md-library-button {
    display: inline-block;
    width: auto;
    min-width: 0;
    padding: 4px 10px;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
}


/* ==========================================================================
   Build 030 — Shared-price library categories
   ========================================================================== */

.md-library-row.is-new-library-item {
    padding: 8px;
    border-left: 4px solid #dba617;
    background: #fff8d8;
}

.md-library-row.is-new-library-item::after {
    content: "New — move or sort before saving";
    grid-column: 2 / -1;
    color: #646970;
    font-size: 11px;
}


/* ==========================================================================
   Build 034 — Final Daily Specials editor polish
   ========================================================================== */

/* Keep the Price field and Library button the same width. */
.md-admin-row > div:has(.md-library-button) {
    width: 82px;
}

.md-admin-row > div:has(.md-library-button) > input[type="text"] {
    width: 82px;
    box-sizing: border-box;
}

/* Compact Library button with a clear visual gap below the Price field. */
.md-library-button {
    display: block;
    width: 82px;
    min-width: 82px;
    height: 26px;
    min-height: 26px;
    margin-top: 7px;
    padding: 2px 8px;
    box-sizing: border-box;
    border-radius: 4px;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
    white-space: nowrap;
}

/* Ensure consistent alignment in newly-added and existing rows. */
.md-admin-row {
    align-items: start;
}

@media (max-width: 900px) {
    .md-admin-row > div:has(.md-library-button),
    .md-admin-row > div:has(.md-library-button) > input[type="text"],
    .md-library-button {
        width: 100%;
        min-width: 0;
    }
}


/* ==========================================================================
   Build 035 — Library button sizing correction
   ========================================================================== */

.md-admin-row .md-library-button {
    display: block !important;
    width: 82px !important;
    min-width: 82px !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 6px 0 0 0 !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    font-size: 12px !important;
    line-height: 30px !important;
}


/* ==========================================================================
   Build 036 — Catering Menu
   ========================================================================== */

.md-catering-price-line {
    margin: 10px 0 16px;
    text-align: center;
    font-size: 14px;
}

.md-catering-page .md-data-menu-item {
    padding-top: 8px;
    padding-bottom: 8px;
}


/* ==========================================================================
   Build 037 — Catering pricing hierarchy polish
   ========================================================================== */

.md-catering-price-line {
    margin: 12px 0 14px;
    font-size: 15px;
    font-weight: 600;
}

.md-catering-price-line strong {
    font-weight: 700;
}

.md-catering-page .md-menu-note {
    font-size: 13px;
    color: #555;
}


/* ==========================================================================
   Build 038 — Split pricing fields for Other Platters
   ========================================================================== */

.md-catering-item-price-label,
.md-catering-item-price-value {
    display: block;
}

.md-catering-item-price-label {
    font-size: 12px;
    font-weight: 600;
}

.md-catering-item-price-value {
    font-weight: 700;
}


/* ==========================================================================
   Build 042 — Fax Order Forms page
   ========================================================================== */

.md-order-form-page #main {
    padding: 22px;
}

.md-order-form-intro {
    max-width: 760px;
    margin: 0 auto 24px;
    text-align: center;
    font-size: 15px;
    line-height: 1.6;
}

.md-order-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 20px;
}

.md-order-form-card {
    border: 1px solid #d3d3d3;
    background: #faf7f0;
    padding: 22px;
    text-align: center;
}

.md-order-form-card h2 {
    margin: 0 0 6px;
    color: #9d1f24;
    font-size: 23px;
}

.md-order-form-address {
    margin: 0 0 18px;
    font-weight: 600;
}

.md-order-form-button {
    display: inline-block;
    margin: 4px 0 18px;
    padding: 10px 18px;
    border: 1px solid #d70000;
    background: #e00000;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
    border-radius: 3px;
}

.md-order-form-button:hover,
.md-order-form-button:focus {
    background: #b90000;
    border-color: #a90000;
    color: #fff !important;
}

.md-order-form-fax-label {
    margin: 0;
    color: #555;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.md-order-form-fax {
    margin: 2px 0 0;
    font-size: 20px;
    font-weight: 700;
}

.md-order-form-note {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid #ddd;
    text-align: center;
    color: #555;
    font-size: 13px;
}

@media (max-width: 900px) {
    .md-order-form-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   Build 044 — mobile public-site refinement
   Desktop presentation remains unchanged.
   ========================================================================== */

.md-header-address,
.md-header-phone {
    display: inline;
}

.md-header-phone {
    white-space: nowrap;
}

@media (max-width: 900px) {
    #bg {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        padding: 8px 10px;
        background: #8b0008;
        box-sizing: border-box;
    }

    #bg .sap {
        display: none;
    }

    #bg .toplinks {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 42px;
        padding: 4px 6px;
        box-sizing: border-box;
        line-height: 1.2;
    }

    #bg .toplinks a {
        font-size: 13px;
        line-height: 1.25;
        text-align: center;
    }

    #bg .toplinks:last-child {
        grid-column: 1 / -1;
    }

    #header {
        position: relative;
        min-height: 205px;
        height: 205px;
        background-size: cover;
        background-position: center center;
        box-sizing: border-box;
    }

    #header::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
            90deg,
            rgba(74, 24, 0, 0.80) 0%,
            rgba(74, 24, 0, 0.62) 53%,
            rgba(74, 24, 0, 0.16) 100%
        );
        pointer-events: none;
    }

    #header .name,
    #header > .tag {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.75);
    }

    #header .name {
        padding: 18px 20px 0;
        font-size: 29px;
        line-height: 1.05;
    }

    #header .name .tag {
        display: block;
        width: auto;
        margin-top: 7px;
        padding: 0;
        font-size: 13px;
        line-height: 1.25;
    }

    #header > .tag {
        padding: 3px 20px 0;
        font-size: 12px;
        line-height: 1.25;
    }

    #header > .tag p {
        margin: 8px 0 0;
        white-space: normal;
    }

    .md-header-address,
    .md-header-phone {
        display: block;
    }

    .md-header-phone {
        margin-top: 1px;
    }

    #outer2 {
        display: flex;
        flex-direction: column;
    }

    #content {
        order: 1;
    }

    #left-nav {
        order: 2;
        border-top: 2px solid #900;
        border-bottom: 0;
    }

    #left-nav .leftlinks {
        display: none;
    }

    #news-bg {
        box-sizing: border-box;
        width: auto;
        margin: 0 18px 10px;
        padding-top: 10px;
    }

    #content > .heading {
        height: auto;
        min-height: 0;
        margin: 12px 10px 8px;
        padding: 0;
        line-height: 1.25;
    }

    #main {
        box-sizing: border-box;
        width: 100%;
        padding: 0 12px 12px;
    }

    .md-order-form-button {
        width: 100%;
        min-height: 48px;
        padding: 12px 14px;
        box-sizing: border-box;
    }
}

@media (max-width: 430px) {
    #header {
        min-height: 215px;
        height: 215px;
    }

    #header .name {
        font-size: 27px;
    }

    #header .name .tag {
        font-size: 12px;
    }

    #header > .tag {
        font-size: 11px;
    }
}


/* ==========================================================================
   Build 045 — intentional mobile navigation + Order Online access
   ========================================================================== */

.md-mobile-shell,
.md-mobile-order-bar {
    display: none;
}

.md-header-phone a {
    color: inherit;
    text-decoration: none;
}

@media (max-width: 900px) {
    /* Replace the desktop navigation only on narrow screens. */
    #bg {
        display: none;
    }

    .md-mobile-shell {
        display: block;
        position: relative;
        z-index: 50;
        background: #8b0008;
        color: #fff;
        font-family: Arial, sans-serif;
    }

    .md-mobile-bar {
        display: grid;
        grid-template-columns: 84px minmax(0, 1fr) 72px;
        align-items: center;
        min-height: 52px;
        border-bottom: 1px solid rgba(255,255,255,.22);
    }

    .md-mobile-menu {
        position: relative;
    }

    .md-mobile-menu > summary {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-height: 52px;
        padding: 0 8px;
        box-sizing: border-box;
        color: #fff;
        cursor: pointer;
        font-size: 13px;
        font-weight: 700;
        list-style: none;
        text-transform: uppercase;
    }

    .md-mobile-menu > summary::-webkit-details-marker {
        display: none;
    }

    .md-mobile-menu-icon {
        font-size: 22px;
        line-height: 1;
    }

    .md-mobile-brand {
        overflow: hidden;
        color: #fff !important;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 19px;
        font-weight: 700;
        text-align: center;
        text-decoration: none !important;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .md-mobile-call {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        margin-right: 8px;
        border: 1px solid rgba(255,255,255,.65);
        border-radius: 4px;
        color: #fff !important;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none !important;
        text-transform: uppercase;
    }

    .md-mobile-drawer {
        position: absolute;
        top: 52px;
        left: 0;
        width: min(330px, 88vw);
        padding: 8px 0 12px;
        border: 1px solid #6f0006;
        border-top: 0;
        background: #8b0008;
        box-shadow: 0 8px 20px rgba(0,0,0,.28);
        text-align: left;
    }

    .md-mobile-drawer > a {
        display: block;
        min-height: 44px;
        padding: 12px 18px;
        border-bottom: 1px solid rgba(255,255,255,.14);
        box-sizing: border-box;
        color: #fff !important;
        font-size: 14px;
        font-weight: 700;
        line-height: 20px;
        text-decoration: none !important;
        text-transform: uppercase;
    }

    .md-mobile-order-group {
        margin: 12px 14px 0;
        padding: 12px;
        border: 1px solid rgba(255,255,255,.32);
        border-radius: 4px;
        background: rgba(255,255,255,.08);
    }

    .md-mobile-order-heading {
        display: block;
        margin-bottom: 8px;
        color: #ffd6a0;
        font-size: 14px;
        font-weight: 800;
        letter-spacing: .03em;
        text-transform: uppercase;
    }

    .md-mobile-order-location {
        display: block;
        min-height: 42px;
        margin-top: 7px;
        padding: 10px 12px;
        border-radius: 3px;
        background: #fff;
        color: #8b0008 !important;
        box-sizing: border-box;
        font-size: 14px;
        font-weight: 800;
        line-height: 22px;
        text-align: center;
        text-decoration: none !important;
    }

    /*
     * Prominent ordering access below the hero on every page.
     * The location choices stay collapsed until requested.
     */
    .md-mobile-order-bar {
        display: block;
        padding: 10px 14px;
        background: #f2e8d6;
        border-bottom: 1px solid #d8c4a5;
    }

    .md-mobile-order-bar details {
        max-width: 460px;
        margin: 0 auto;
    }

    .md-mobile-order-bar summary {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 46px;
        padding: 10px 18px;
        border: 1px solid #ad0009;
        border-radius: 4px;
        background: #c9000d;
        box-sizing: border-box;
        color: #fff;
        cursor: pointer;
        font-family: Arial, sans-serif;
        font-size: 15px;
        font-weight: 800;
        list-style: none;
        text-transform: uppercase;
    }

    .md-mobile-order-bar summary::-webkit-details-marker {
        display: none;
    }

    .md-mobile-order-bar summary::before {
        content: "🛒";
        margin-right: 8px;
        font-size: 17px;
    }

    .md-mobile-order-choices {
        display: grid;
        gap: 8px;
        padding-top: 8px;
    }

    .md-mobile-order-choices a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 46px;
        padding: 10px 12px;
        border: 1px solid #b8a485;
        border-radius: 4px;
        background: #fff;
        box-sizing: border-box;
        color: #7d0007 !important;
        font-family: Arial, sans-serif;
        font-size: 14px;
        font-weight: 800;
        text-align: center;
        text-decoration: none !important;
    }

    .md-header-phone a {
        color: #fff !important;
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
    }
}


/* ==========================================================================
   Build 046 — reliable mobile calling
   ========================================================================== */

@media (max-width: 900px) {
    /*
     * The Call control now mirrors the Order Online chooser and offers both
     * locations. It is positioned relative to the mobile bar so its choices
     * open directly beneath the right-hand button.
     */
    .md-mobile-call-menu {
        position: relative;
        margin-right: 8px;
    }

    .md-mobile-call-menu > summary {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        padding: 0 10px;
        border: 1px solid rgba(255,255,255,.65);
        border-radius: 4px;
        box-sizing: border-box;
        color: #fff;
        cursor: pointer;
        font-family: Arial, sans-serif;
        font-size: 13px;
        font-weight: 700;
        list-style: none;
        text-transform: uppercase;
    }

    .md-mobile-call-menu > summary::-webkit-details-marker {
        display: none;
    }

    .md-mobile-call-choices {
        position: absolute;
        top: 44px;
        right: 0;
        z-index: 80;
        width: min(280px, 82vw);
        padding: 8px;
        border: 1px solid #6f0006;
        border-radius: 4px;
        background: #8b0008;
        box-shadow: 0 8px 20px rgba(0,0,0,.28);
    }

    .md-mobile-call-choices a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 54px;
        margin: 6px 0;
        padding: 8px 12px;
        border-radius: 3px;
        background: #fff;
        box-sizing: border-box;
        color: #8b0008 !important;
        font-family: Arial, sans-serif;
        font-size: 15px;
        font-weight: 800;
        line-height: 1.2;
        text-align: center;
        text-decoration: none !important;
    }

    .md-mobile-call-choices small {
        display: block;
        margin-top: 3px;
        color: #333;
        font-size: 13px;
        font-weight: 700;
    }

    /*
     * Ensure the two telephone links in the brown header sit above every
     * decorative layer and remain genuine tap targets in Mobile Safari.
     */
    #header .md-header-phone {
        position: relative;
        z-index: 5;
        pointer-events: auto;
    }

    #header .md-header-phone a {
        position: relative;
        z-index: 6;
        display: inline-block;
        padding: 2px 0;
        color: #fff !important;
        pointer-events: auto;
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(255,255,255,.22);
        text-decoration: underline !important;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
    }
}


/* ==========================================================================
   Build 048 — workflow polish
   ========================================================================== */

/* Give every Library search result a clearer visual ending after Use Item. */
.md-specials-library-result {
    margin-bottom: 12px;
    padding-bottom: 16px;
}
.md-specials-library-result:last-child {
    margin-bottom: 0;
}

/* Desktop sidebar: make ordering an action, not another text link. */
.leftlinks li.online-order-item {
    padding: 8px 6px;
}
.leftlinks .online-order-link {
    display: block;
    width: auto;
    margin: 0 3px;
    padding: 8px 5px;
    border: 1px solid #650006;
    border-radius: 4px;
    background: #8b0008;
    box-sizing: border-box;
    color: #fff !important;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
}
.leftlinks .online-order-link:hover,
.leftlinks .online-order-link:focus {
    background: #a9000b;
    color: #fff !important;
}
.leftlinks .online-order-link span {
    display: block;
    width: auto;
    white-space: nowrap;
}
.leftlinks .online-order-link span + span {
    margin-top: 2px;
    font-size: 10px;
    font-weight: 600;
    text-transform: none;
}


/* ==========================================================================
   Build 048a — Library result clarity
   ========================================================================== */

.md-specials-library-result {
    margin: 0 0 14px;
    padding: 14px 12px;
    border: 1px solid #dcdcde;
    border-radius: 5px;
    background: #fff;
}

.md-specials-library-result:last-child {
    margin-bottom: 0;
}

.md-specials-library-result .button {
    align-self: center;
}


/* ==========================================================================
   Build 048b — clearer Library search results
   ========================================================================== */

.md-specials-library-result {
    margin: 0 0 16px !important;
    padding: 14px 14px 18px !important;
    border: 2px solid #dcdcde !important;
    border-radius: 6px !important;
    background: #f6f7f7 !important;
    box-shadow: 0 1px 0 rgba(0,0,0,.03);
}

.md-specials-library-result:last-child {
    margin-bottom: 0 !important;
}

.md-specials-library-result .button {
    margin-top: 2px !important;
}


/* ==========================================================================
   Build 049 — pre-launch desktop review refinements
   ========================================================================== */

/* Home: center the sandwich artwork vertically in the brown header frame. */
@media (min-width: 901px) {
    #header {
        background-position: right center;
    }
}

/* Home: keep the slideshow instruction attached to the slideshow and tighten
   the transition into the ordering area. */
.home-slideshow-notation {
    clear: left;
    margin: 2px 0 8px 10px !important;
    padding-left: 0;
}
.home-order-divider {
    margin-top: 10px;
}

/* Breakfast Bowl upgrades remain separate database records, but display as
   subordinate choices belonging to the Breakfast Bowl. */
.md-data-menu-item.md-breakfast-bowl-addon {
    margin-top: -7px;
    padding-top: 1px;
    padding-bottom: 2px;
}
.md-data-menu-item.md-breakfast-bowl-addon + .md-data-menu-item.md-breakfast-bowl-addon {
    margin-top: 0;
}
.md-breakfast-bowl-addon .md-data-menu-copy {
    padding-left: 18px;
}
.md-breakfast-bowl-addon .md-data-menu-name {
    font-size: 13px;
}
.md-breakfast-bowl-addon .md-data-menu-description {
    font-size: 11px;
}
.md-breakfast-bowl-addon .md-data-menu-price {
    font-size: 13px;
}

/* Gourmet Salads: return Home Made Dressings to a quieter, original-style
   supporting note rather than a dominant section heading. */
.md-data-menu-page .md-menu-note.md-dressings-note {
    max-width: 94%;
    margin: 5px auto 10px;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.35;
    text-align: center;
}
.md-data-menu-page .md-menu-note.md-dressings-note::first-line {
    font-weight: 700;
}


/* ==========================================================================
   Build 049b — final mobile review refinements
   ========================================================================== */

.md-home-nav-mobile {
    display: none;
}

@media (max-width: 900px) {
    .md-home-nav-desktop {
        display: none;
    }

    .md-home-nav-mobile {
        display: inline;
    }

    .md-data-menu-item.md-breakfast-bowl-addon {
        margin-top: -3px !important;
        padding-top: 0 !important;
        padding-bottom: 1px !important;
        grid-template-columns: 1fr auto !important;
        gap: 6px !important;
    }

    .md-data-menu-item.md-breakfast-bowl-addon + .md-data-menu-item.md-breakfast-bowl-addon {
        margin-top: -1px !important;
    }

    .md-breakfast-bowl-addon .md-data-menu-copy {
        padding-left: 26px !important;
    }

    .md-breakfast-bowl-addon .md-data-menu-name {
        font-size: 12px !important;
        line-height: 1.15 !important;
    }

    .md-breakfast-bowl-addon .md-data-menu-description {
        margin-left: 10px !important;
        font-size: 10.5px !important;
        line-height: 1.18 !important;
    }

    .md-breakfast-bowl-addon .md-data-menu-price {
        align-self: end;
        padding-bottom: 1px;
        font-size: 12px !important;
        line-height: 1.1 !important;
        text-align: right !important;
        white-space: nowrap;
    }
}

/* ========================================================================== 
   Build 050e — desktop header balance
   ========================================================================== */
@media (min-width: 901px) {
    /* Center the left-hand identity block more naturally against the photo. */
    #header .name {
        padding-top: 34px;
    }

    #header > .tag {
        padding-top: 17px;
        font-size: 12px;
        line-height: 1.18;
    }

    #header > .tag p {
        margin-top: 12px;
    }
}




/* ==========================================================================
   Build 050g — corrected desktop header horizontal balance
   ========================================================================== */
@media (min-width: 901px) {
    #header .name,
    #header > .tag {
        transform: translateX(30px);
    }
}


/* ==========================================================================
   Build 050i — corrected desktop sandwich-image position
   ========================================================================== */
@media (min-width: 901px) {
    #header {
        background-position: calc(100% - 25px) center;
    }
}


/* ==========================================================================
   Build 050j — desktop sandwich-image horizontal balance
   ========================================================================== */
@media (min-width: 901px) {
    #header {
        background-position: calc(100% - 50px) center;
    }
}

/* Build 050q: suppress legacy upper Panini promo copy on South Meadows public menu */
body.page-template-page-south-meadows-menu .md-menu-panel[data-category="panini"] .md-menu-note-before:first-of-type { display:none; }


/* ==========================================================================
   Build 050t — Daily Specials Today / Tomorrow controls
   ========================================================================== */
.md-specials-date-controls {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
}

.md-specials-date-controls .md-specials-date-input {
	flex: 1 1 220px;
	min-width: 0;
}

.md-specials-date-buttons {
	display: inline-flex;
	gap: 6px;
	flex: 0 0 auto;
}

.md-specials-date-buttons .button {
	min-height: 36px;
}

@media (max-width: 782px) {
	.md-specials-date-controls {
		align-items: stretch;
		flex-direction: column;
	}

	.md-specials-date-buttons {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.md-specials-date-buttons .button {
		min-height: 44px;
		width: 100%;
	}
}


/* ==========================================================================
   Build 050u — Mailchimp Daily Specials generator
   ========================================================================== */
.md-mailchimp-modal[hidden] { display: none !important; }

.md-mailchimp-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	overflow: auto;
	padding: 40px 20px;
	background: rgba(0,0,0,.55);
}

.md-mailchimp-dialog {
	width: min(760px, 100%);
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 14px 45px rgba(0,0,0,.3);
	padding: 22px;
}

.md-mailchimp-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 8px;
}

.md-mailchimp-header h2 { margin: 0; }

.md-mailchimp-close {
	border: 0;
	background: transparent;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	padding: 0 4px;
}

.md-mailchimp-help { margin: 0 0 16px; }

.md-mailchimp-preview {
	border: 1px solid #c3c4c7;
	background: #fff;
	padding: 12px;
	max-height: 55vh;
	overflow: auto;
}

.md-mailchimp-html {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.md-mailchimp-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 16px;
}

.md-mailchimp-copy-status {
	font-weight: 600;
	color: #2271b1;
}

@media (max-width: 782px) {
	.md-mailchimp-modal { padding: 16px 8px; }
	.md-mailchimp-dialog { padding: 16px; }
	.md-mailchimp-preview { max-height: 58vh; }
	.md-mailchimp-actions .button { min-height: 44px; }
}


/* ==========================================================================
   Build 050v — Facebook Daily Specials image generator
   ========================================================================== */
.md-facebook-modal[hidden] { display: none !important; }

.md-facebook-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	overflow: auto;
	padding: 30px 18px;
	background: rgba(0,0,0,.58);
}

.md-facebook-dialog {
	width: min(1180px, 100%);
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 14px 45px rgba(0,0,0,.3);
	padding: 22px;
}

.md-facebook-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 8px;
}

.md-facebook-header h2 { margin: 0; }

.md-facebook-close {
	border: 0;
	background: transparent;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	padding: 0 4px;
}

.md-facebook-help { margin: 0 0 18px; }

.md-facebook-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.md-facebook-card {
	min-width: 0;
}

.md-facebook-card h3 {
	margin: 0 0 10px;
	text-align: center;
}

.md-facebook-card canvas {
	display: block;
	width: 100%;
	height: auto;
	background: #f6f0df;
	border: 1px solid #c3c4c7;
	box-shadow: 0 1px 4px rgba(0,0,0,.12);
}

.md-facebook-download {
	display: block !important;
	margin: 12px auto 0 !important;
}

@media (max-width: 782px) {
	.md-facebook-modal { padding: 12px 6px; }
	.md-facebook-dialog { padding: 14px; }
	.md-facebook-grid { grid-template-columns: 1fr; }
	.md-facebook-download { min-height: 44px; width: 100%; }
}
