/* ESJ public layout: shared fixed header, fluid content and separate cart actions. */
body.esj-production-layout{padding-top:var(--esj-chrome-height,84px);padding-bottom:0}
body.esj-production-layout .esj-site-chrome{position:fixed;inset:0 0 auto;z-index:60;display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(230px,1fr);align-items:center;gap:18px;width:100%;max-width:none;min-height:80px;margin:0;padding:calc(12px + env(safe-area-inset-top,0px)) 24px 12px;background:#1c1c1cf7;border-bottom:1px solid #ffffff18;color:#fff;backdrop-filter:blur(20px)}
body.esj-production-layout .esj-header-brand{display:flex;gap:10px;align-items:center;min-width:0;text-decoration:none;color:#fff;font:750 14px/1.3 system-ui;letter-spacing:0}
body.esj-production-layout .esj-header-brand img{width:38px;height:48px;object-fit:contain;flex:none}
body.esj-production-layout .esj-header-brand small{font:650 8px/1.5 system-ui;letter-spacing:1.2px;color:#e6bc90;display:block;margin-top:4px}
body.esj-production-layout .esj-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}
.esj-legacy-header-link{display:none!important}
body.esj-production-layout .esj-header-actions :is(.phone,[id=notificationBell],.esj-alert-link){display:flex;position:relative;inset:auto;transform:none;align-items:center;justify-content:center;gap:8px;width:44px;height:44px;min-height:44px;margin:0;padding:10px;border:1px solid #ffffff20;border-radius:14px;background:#ffffff07;color:#f1d092;box-shadow:none;text-decoration:none}
body.esj-production-layout .esj-header-actions .phone{width:auto;white-space:nowrap;color:#fff}
body.esj-production-layout .esj-header-actions .phone span{position:static;width:auto;height:auto;clip-path:none;font:650 12px system-ui}
body.esj-production-layout .esj-header-actions .phone small{display:none}
body.esj-production-layout .esj-header-actions :is(svg,.bell-icon){width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
body.esj-production-layout .esj-header-gift{font-size:11px;padding:10px 12px;white-space:nowrap}
body.esj-production-layout .esj-site-chrome>.main-nav{position:static;display:flex;justify-content:center;align-items:center;gap:3px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;min-width:0}
body.esj-production-layout .main-nav :is(a,button){position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 12px;border:0;border-radius:12px;color:#dfdcd6;background:transparent;font:650 12px/1.4 system-ui;white-space:nowrap;max-width:none;flex:0 0 auto;text-decoration:none}
body.esj-production-layout .main-nav .is-active{background:#ffffff15;color:#fff;box-shadow:inset 0 -2px #ed742f}
body.esj-production-layout .main-nav :is(.nav-icon,.cart-symbol){width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
body.esj-production-layout .main-nav .esj-nav-points{border-color:#202020;right:0;top:-5px;background:#f6ce5b;color:#211b11}
body.esj-production-layout .esj-bottom-dock{display:contents}
body.esj-production-layout main{width:100%;max-width:none;margin-inline:auto;padding-inline:clamp(16px,2.4vw,46px)}
body.esj-production-layout #menu{width:100%;padding-top:26px}
body.esj-production-layout #menu .menu-tools{top:calc(var(--esj-chrome-height) + 12px)!important}
body.esj-production-layout #menu .categories{max-height:calc(100dvh - var(--esj-chrome-height) - 120px)}
body.esj-production-layout .hero{padding:36px 0 40px;gap:40px}
body.esj-production-layout .hero .lead{max-width:680px}
body.esj-production-layout .loyalty{padding-top:26px}
body.esj-production-layout .loyalty-heading{margin-bottom:20px}
body.esj-production-layout .loyalty-member{grid-template-columns:minmax(0,1fr) 280px}
body.esj-production-layout .member-details{padding:24px 28px}
body.esj-production-layout .loyalty-stats{margin:14px 0 22px}
body.esj-production-layout .loyalty-stats>div{padding:15px 20px}
body.esj-production-layout .member-gifts{padding-top:20px;margin-top:20px}
body.esj-production-layout .loyalty-help{margin-block:20px}
body.esj-production-layout[data-customer-state=guest] .loyalty-member{grid-template-columns:minmax(0,1fr) 250px}
body.esj-production-layout[data-customer-state=guest] :is(.member-gauge,.member-progress-heading,#memberGoalNote,#memberMilestones,.loyalty-stats,.loyalty-tabs,#rewardsOffersPanel,#rewardsActivityPanel){display:none!important}
body.esj-production-layout[data-customer-state=guest] .member-details{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:28px}
body.esj-production-layout[data-customer-state=guest] :is(.member-greeting,.member-actions,#memberBalanceNote){margin:0}
body.esj-production-layout[data-customer-state=guest] .member-art{min-height:220px;max-height:250px}
body.esj-production-layout[data-customer-state=guest] :is(#memberGiftCards,.gift-preview-note){display:none}
body.esj-production-layout[data-customer-state=guest] #memberGiftSection .loyalty-panel-heading{margin:0;align-items:center}
body.esj-production-layout[data-customer-state=guest] .member-gifts{padding:22px;border:1px solid #e4d6c5;border-radius:20px;background:#fffaf3}
body.esj-production-layout #hours{border:1px solid #e5d5be;border-radius:24px;overflow:hidden;gap:0;margin:26px 0;padding:0;grid-template-columns:minmax(270px,.65fr) minmax(0,1.6fr)}
body.esj-production-layout #hours :is(.contact-card,.hours-card){border:0;border-radius:0;box-shadow:none;padding:26px}
body.esj-production-layout #hours .contact-location{display:none}
body.esj-production-layout #hours .contact-card h2{font-size:28px}
body.esj-production-layout .gift-page{padding-top:28px}
body.esj-production-layout .gift-page-title{margin-bottom:24px}
body.esj-production-layout .gift-page-title h1{font-size:clamp(34px,3.5vw,54px)}
body.esj-production-layout .gift-page-layout{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:32px}
body.esj-production-layout .gift-preview{top:calc(var(--esj-chrome-height) + 20px)}
body.esj-production-layout .account-landing{max-width:none}
body.esj-production-layout #floatingAccount,body.esj-production-layout .esj-rewards-launcher{position:fixed;inset:auto auto max(18px,env(safe-area-inset-bottom)) 20px;z-index:45;display:flex!important;align-items:center;justify-content:center;gap:10px;min-height:54px;max-width:calc(50% - 28px);margin:0;padding:10px 17px;border:1px solid #f2c64b80;border-radius:18px;background:#211d16;color:#fff5dc;box-shadow:0 8px 26px #39250d26;text-decoration:none;font:700 12px/1.4 system-ui}
body.esj-production-layout .esj-rewards-launcher .nav-icon{width:22px;height:22px;fill:none;stroke:#f2cb53;stroke-width:1.8;flex:none}
body.esj-production-layout .esj-rewards-launcher .float-star{width:30px;height:30px;font-size:22px;margin:0;background:#eac702}
body.esj-production-layout .esj-rewards-launcher strong{font-size:12px}body.esj-production-layout .esj-rewards-launcher small{font-size:10px}
body.esj-production-layout .esj-quick-checkout{position:fixed;inset:auto 20px max(18px,env(safe-area-inset-bottom)) auto;z-index:45;display:flex;align-items:center;justify-content:center;gap:10px;width:auto;min-width:180px;max-width:calc(50% - 28px);min-height:54px;padding:12px 20px;margin:0;border-radius:18px;background:#ed742f;color:#24170c;pointer-events:auto}
body.esj-production-layout.modal-open :is(.esj-rewards-launcher,.esj-quick-checkout){display:none!important}
body.esj-production-layout>footer{padding:24px clamp(16px,2.4vw,46px) 100px}
body.esj-production-layout #productDialog{height:fit-content;min-height:0;max-height:calc(100dvh - 36px)}
body.esj-production-layout #productDialog[open]>form#productForm{flex:0 1 auto;min-height:0;max-height:calc(100dvh - 38px)}
body.esj-production-layout #productOptions{flex:0 1 auto;min-height:0}
body.esj-production-layout #preferencesDialog{height:auto;max-height:calc(100dvh - 36px)}
body.esj-production-layout #preferencesForm{display:grid;gap:14px}
body.esj-production-layout #preferencesForm>.notice{margin:0;background:#f8f5ee;border-color:#e8dfd0}
body.esj-production-layout #preferencesForm>.choice{margin:0}
body.esj-production-layout #preferencesForm>p.small{display:none}
body.esj-production-layout[data-public-route=checkout] .page-heading{max-width:none;padding:22px 0 18px}
body.esj-production-layout[data-public-route=checkout] .page-heading h1{max-width:none;font-size:32px}
body.esj-production-layout[data-public-route=checkout] #checkoutFlow{max-width:none;width:100%}
body.esj-production-layout[data-public-route=checkout] #cartDialog{width:100%;max-width:none}
.esj-checkout-summary{min-width:0}
@media(min-width:1120px){
 body.esj-production-layout .member-details{display:grid;grid-template-columns:240px minmax(0,1fr);gap:12px 28px}
 body.esj-production-layout .member-greeting{grid-column:1/-1;margin:0}
 body.esj-production-layout .member-gauge{grid-column:1;grid-row:2/span 3;width:240px;margin:0;justify-self:center}
 body.esj-production-layout #memberBalanceNote{grid-column:1;grid-row:5;margin:0}
 body.esj-production-layout .member-progress-heading{grid-column:2;grid-row:2;margin:10px 0 0}
 body.esj-production-layout #memberGoalNote{grid-column:2;grid-row:3;margin:0}
 body.esj-production-layout #memberMilestones{grid-column:2;grid-row:4;margin:0}
 body.esj-production-layout .member-actions{grid-column:2;grid-row:5;margin:0}
 body.esj-production-layout #hours .hours-card header{padding-bottom:14px;margin-bottom:16px}
 body.esj-production-layout #businessHours{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
 body.esj-production-layout #hours #businessHours li{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 5px;min-height:90px;border:1px solid #eee0cd}
 body.esj-production-layout #businessHours li>span{justify-content:center}
 body.esj-production-layout #businessHours strong{font-size:11px}
 body.esj-production-layout #orderStep:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:20px 32px;align-items:start}
 body.esj-production-layout #orderStep>:is(#reservedNotice,#knownPickupSummary){grid-column:1/-1}
 body.esj-production-layout .esj-checkout-summary{padding:22px;border:1px solid #eee1d0;border-radius:20px;background:#fffcf6}
 body.esj-production-layout .esj-checkout-summary #tipSection{padding-top:0}
 body.esj-production-layout #detailsStep #checkoutContact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 body.esj-production-layout #detailsStep .pickup-note{max-width:600px}
 body.esj-production-layout #reviewButton{width:auto;min-width:260px}
}
@media(max-width:1119px){
 body.esj-production-layout .esj-site-chrome{grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 8px}
 body.esj-production-layout .esj-site-chrome>.main-nav{grid-column:1/-1;grid-row:2;width:100%;justify-content:center;gap:4px}
 body.esj-production-layout .main-nav :is(a,button){flex:1 1 0;padding:9px 7px;min-width:0;max-width:150px}
 body.esj-production-layout .esj-header-brand img{width:32px;height:38px}
 body.esj-production-layout .esj-header-brand{font-size:12px}
 body.esj-production-layout .esj-header-brand small{font-size:6px;letter-spacing:.7px}
 body.esj-production-layout .esj-header-actions .phone{width:40px;height:40px;padding:9px}
 body.esj-production-layout .esj-header-actions .phone>span{display:none}
 body.esj-production-layout .esj-header-gift{display:none}
 body.esj-production-layout .esj-header-actions :is([id=notificationBell],.esj-alert-link){width:40px;height:40px;min-height:40px}
 body.esj-production-layout #menu .menu-tools{top:var(--esj-chrome-height)!important}
 body.esj-production-layout #menu .categories{max-height:none}
 body.esj-production-layout .gift-page-layout{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:24px}
}
@media(max-width:650px){
 body.esj-production-layout .esj-site-chrome{gap:8px;padding-inline:12px}
 body.esj-production-layout .main-nav :is(a,button){flex-direction:column;gap:4px;min-height:50px;padding:7px 1px;font-size:10px}
 body.esj-production-layout .main-nav span{font-size:10px}
 body.esj-production-layout .main-nav .esj-nav-points{top:-3px;right:calc(50% - 24px)}
 body.esj-production-layout .hero{padding-block:26px;gap:24px}
 body.esj-production-layout .loyalty-heading h1{font-size:32px}
 body.esj-production-layout .loyalty-member,body.esj-production-layout[data-customer-state=guest] .loyalty-member{grid-template-columns:1fr}
 body.esj-production-layout[data-customer-state=guest] .member-art{display:none}
 body.esj-production-layout[data-customer-state=guest] .member-details{padding:22px}
 body.esj-production-layout #hours{grid-template-columns:1fr}
 body.esj-production-layout #hours :is(.contact-card,.hours-card){padding:22px}
 body.esj-production-layout #businessHours{display:grid;grid-template-columns:1fr 1fr;gap:6px}
 body.esj-production-layout #hours #businessHours li{font-size:11px;flex-wrap:wrap;gap:5px;padding:10px 6px}
 body.esj-production-layout #hours #businessHours strong{font-size:11px}
 body.esj-production-layout .gift-page-layout{grid-template-columns:1fr;gap:20px}
 body.esj-production-layout .gift-preview{max-width:450px;justify-self:center;width:100%}
 body.esj-production-layout :is(#floatingAccount,.esj-rewards-launcher,.esj-quick-checkout){min-width:0;width:calc((100% - 44px)/2);max-width:none;min-height:52px;padding:10px 12px;font-size:12px;bottom:max(12px,env(safe-area-inset-bottom))}
 body.esj-production-layout :is(#floatingAccount,.esj-rewards-launcher){left:14px;right:auto;gap:7px}
 body.esj-production-layout .esj-quick-checkout{right:14px;left:auto}
 body.esj-production-layout .esj-rewards-launcher small{display:none}
 body.esj-production-layout .esj-rewards-launcher strong{font-size:10px}
 body.esj-production-layout .esj-rewards-launcher .float-star{width:25px;height:25px;font-size:18px;flex:none}
 body.esj-production-layout .loyalty-panel-heading h2{font-size:25px}
 body.esj-production-layout[data-customer-state=guest] #memberGiftSection .loyalty-panel-heading{flex-wrap:wrap;gap:12px}
 body.esj-production-layout[data-public-route=checkout] .page-heading h1{font-size:27px}
}

@media(min-width:651px) and (max-width:1119px){
 body.esj-production-layout .loyalty-member{grid-template-columns:1fr}
 body.esj-production-layout .member-art{display:none}
 body.esj-production-layout .member-details{display:grid;grid-template-columns:200px minmax(0,1fr);gap:12px 20px;padding:22px}
 body.esj-production-layout .member-greeting{grid-column:1/-1;margin:0}
 body.esj-production-layout .member-gauge{grid-column:1;grid-row:2/span 3;width:200px;margin:0}
 body.esj-production-layout #memberBalanceNote{grid-column:1;grid-row:5;margin:0}
 body.esj-production-layout .member-progress-heading{grid-column:2;grid-row:2;margin:0}
 body.esj-production-layout #memberGoalNote{grid-column:2;grid-row:3;margin:0}
 body.esj-production-layout #memberMilestones{grid-column:2;grid-row:4;margin:0}
 body.esj-production-layout .member-actions{grid-column:2;grid-row:5;margin:0}
}

/* Optional bottom navigation; the contact header remains fixed at the top. */
body.esj-production-layout[data-navigation-position=bottom]{padding-bottom:calc(var(--esj-dock-height,76px) + 12px)}
body.esj-production-layout[data-navigation-position=bottom] .esj-site-chrome{grid-template-columns:minmax(0,1fr) auto}
body.esj-production-layout[data-navigation-position=bottom]>.main-nav{position:fixed;inset:auto 0 0;grid-column:auto;grid-row:auto;z-index:60;display:flex;justify-content:center;align-items:center;margin:0;border-radius:0;transform:none;max-width:none;width:100%;padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));border-top:1px solid #ffffff20;background:#1c1c1cf7;backdrop-filter:blur(20px);gap:5px;box-shadow:0 -6px 22px #21170b12}
body.esj-production-layout[data-navigation-position=bottom] .main-nav :is(a,button){flex:1 1 0;min-width:0;max-width:150px}
body.esj-production-layout[data-navigation-position=bottom] :is(#floatingAccount,.esj-rewards-launcher,.esj-quick-checkout){bottom:calc(var(--esj-dock-height,76px) + 12px)}
@media(max-width:650px){body.esj-production-layout[data-navigation-position=bottom]>.main-nav{gap:3px;padding-top:7px;padding-bottom:calc(7px + env(safe-area-inset-bottom,0px))}}

/* Home starts at the fixed header and fills the available viewport width. */
body.esj-production-layout[data-public-route=home] main{--esj-content-gutter:clamp(16px,2.4vw,46px);padding-inline:var(--esj-content-gutter)}
body.esj-production-layout[data-public-route=home] .esj-site-chrome{background:#1c1c1c;border-bottom-color:transparent}
body.esj-production-layout[data-public-route=home] .hero{width:calc(100% + 2 * var(--esj-content-gutter));max-width:none;margin:0 calc(-1 * var(--esj-content-gutter)) 28px;padding:clamp(36px,4.5vw,80px) var(--esj-content-gutter);border:0;border-radius:0;box-shadow:none;min-height:clamp(460px,38vw,600px);gap:clamp(24px,4vw,64px);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:#1c1c1c}
body.esj-production-layout[data-public-route=home] .hero::before{background:linear-gradient(180deg,#1c1c1c 0%,#1c1c1c00 15%),linear-gradient(90deg,#151311b8 0%,#15131170 43%,#15131118 100%),url('https://elsazonjarocho.com/wp-content/uploads/2026/01/fondo.jpeg') center/cover no-repeat}
body.esj-production-layout[data-public-route=home] .hero>div,body.esj-production-layout[data-public-route=home] .food-story{min-width:0}
body.esj-production-layout[data-public-route=home] .hero>div:first-child :is(h1,p,.hero-eyebrow){text-shadow:0 2px 12px #0008}
body.esj-production-layout .hero .open-badge.closed{background:#672c24aa;color:#ffd4ca;border-color:#e88b7866}

/* Current Chicago week; only today's tile represents the live open/closed state. */
body.esj-production-layout #hours .hours-card>header{align-items:center;margin-bottom:18px;padding-bottom:18px}
body.esj-production-layout #hours .hours-week-label{margin:8px 0 0;font:650 12px/1.5 system-ui;color:#806c58}
body.esj-production-layout #hours #businessHours{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
body.esj-production-layout #hours #businessHours li.hours-day{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;min-width:0;min-height:160px;margin:0;padding:14px 10px;border:1px solid #ebdecd;border-radius:16px;background:#fffcf7;color:#4a392b;text-align:left}
body.esj-production-layout #hours #businessHours .hours-day-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;min-height:23px}
body.esj-production-layout #hours #businessHours .hours-day-name{font:650 11px/1.4 system-ui}
body.esj-production-layout #hours #businessHours .hours-today{font:750 8px/1.5 system-ui;color:inherit;background:#ffffffb3;border:1px solid currentColor;border-radius:5px;padding:1px 4px}
body.esj-production-layout #hours #businessHours .hours-date{font:750 clamp(30px,2.5vw,42px)/1.1 system-ui;letter-spacing:-1.5px;margin:12px 0 14px}
body.esj-production-layout #hours #businessHours .hours-range{font:650 10px/1.6 system-ui;white-space:normal;color:inherit;margin-top:auto}
body.esj-production-layout #hours #businessHours .hours-day-state{display:block;min-height:16px;font:700 9px/1.6 system-ui;margin-top:4px;color:inherit}
body.esj-production-layout #hours #businessHours li.is-closed{background:#fbf2ef;border-color:#ecd3ce;color:#a14537}
body.esj-production-layout #hours #businessHours li.is-today.is-open-now{background:#e1f2e7;border:1px solid #7dbd93;box-shadow:inset 0 3px #277744;color:#155a33}
body.esj-production-layout #hours #businessHours li.is-today.is-closed-now{background:#fbe7e3;border:1px solid #dc9a8e;box-shadow:inset 0 3px #b84632;color:#982f22}
body.esj-production-layout #hours #hoursOpenStatus{font:750 11px/1.5 system-ui;padding:8px 12px;background:#e1f2e7;color:#155a33}
body.esj-production-layout #hours #hoursOpenStatus.is-closed{background:#fbe7e3;color:#982f22}
body.esj-production-layout #hours #hoursOpenStatus.is-unknown{background:#eee6db;color:#655340}
@media(max-width:1199px){
 body.esj-production-layout #hours{grid-template-columns:1fr}
 body.esj-production-layout #hours .contact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 24px}
 body.esj-production-layout #hours .contact-card>:not(.contact-actions){grid-column:1;margin-bottom:5px}
 body.esj-production-layout #hours .contact-actions{grid-column:2;grid-row:1/span 3;align-self:center;margin:0}
}
@media(max-width:650px){
 body.esj-production-layout[data-public-route=home] .hero{display:grid;grid-template-columns:1fr;padding-block:32px;min-height:0;gap:26px}
 body.esj-production-layout #hours #businessHours{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
 body.esj-production-layout #hours #businessHours li.hours-day{padding:12px 8px;min-height:151px}
 body.esj-production-layout #hours #businessHours .hours-day-heading{min-height:36px;align-content:start}
 body.esj-production-layout #hours #businessHours .hours-date{font-size:34px;margin-block:8px 12px}
 body.esj-production-layout #hours #businessHours .hours-range{font-size:9px}
 body.esj-production-layout #hours .hours-card>header{align-items:flex-start;gap:12px}
 body.esj-production-layout #hours .contact-card{display:flex;flex-direction:column;gap:6px}
 body.esj-production-layout #hours .contact-actions{align-self:flex-start;margin-top:10px}
}
@media(max-width:359px){body.esj-production-layout #hours #businessHours{grid-template-columns:repeat(3,minmax(0,1fr))}}
