/* Discovery catalog; existing product cards and prices retain their layout. */
.catalog-jump{position:sticky;top:58px;z-index:29;display:flex;align-items:center;gap:12px;padding:9px 16px;background:#15120ff5;border-bottom:1px solid #594126;backdrop-filter:blur(12px)}
.catalog-jump label{flex:none;color:#dfc18a;font-size:.875rem}
.catalog-jump select{min-width:0;flex:1;min-height:44px;padding:9px 30px 9px 12px;border:1px solid #705a3a;border-radius:6px;background:#211d18;color:#f6ead5;font:inherit;font-size:1rem}
.catalog-page{padding:7px 16px 25px}
.catalog-section{padding:17px 0 19px;border-bottom:1px solid #594126;scroll-margin-top:150px}
.catalog-section:last-child{border-bottom:0}
.catalog-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:15px}
.catalog-heading h2{min-width:0;margin:0;color:#f4dfae;font:700 23px/1.2 Georgia,serif;overflow-wrap:anywhere}
.catalog-all{flex:none;display:inline-flex;align-items:center;min-height:44px;color:#e2b968;font-size:.875rem;text-decoration:none;white-space:nowrap}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
.catalog-item{min-width:0;display:flex;flex-direction:column;gap:9px;padding:0;border:0;background:none;text-align:left;color:#f6ead5;font:700 17px/1.3 Georgia,serif;cursor:pointer}
.catalog-image{display:block;width:100%;aspect-ratio:1;overflow:hidden;background:#1b1713;border:1px solid #806236;border-radius:10px}
.catalog-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.catalog-name{display:block;overflow-wrap:anywhere}
.catalog-text-only{padding:7px 0}.catalog-text-only .catalog-heading{margin:0}
#photo-dish-details{padding-top:16px}#photo-dish-details .price{font-size:1.125rem;color:#ffd26b;text-align:right;margin:0 0 10px}
#photo-dish-details .guac-sizes{margin-top:0}#photo-dish-details .desc{margin-top:8px}
#photo-dish-details .detail-options{display:grid;gap:12px;margin:14px 0}
#photo-dish-details .detail-option{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:12px;padding-top:10px;border-top:1px solid #594126;min-width:0}
#photo-dish-details .detail-option-name{min-width:0;overflow-wrap:anywhere;font-weight:700;line-height:1.5}
#photo-dish-details .detail-option-price{color:#ffd26b;white-space:nowrap;text-align:right;line-height:1.5}
#photo-dish-details .guac-sizes{grid-template-columns:minmax(0,1fr)}
#photo-dish-details .guac-sizes div{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:12px}
#photo-dish-details .guac-sizes span{overflow-wrap:anywhere}
#photo-dish-details .guac-sizes strong{white-space:nowrap;text-align:right}
.photo-detail-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:#f2c46c;font-size:1rem}
.photo-dialog:has(#photo-dish-details:not([hidden])) .photo-dialog-image{max-height:48dvh}
@media(max-width:360px){.catalog-heading h2{font-size:21px}.catalog-name{font-size:16px}.catalog-grid{gap:18px 12px}.catalog-all{font-size:.8125rem}}

/* Shared photo dialog refinements; native modal stays above bottom navigation. */
.photo-dialog{max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:24px 20px calc(28px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:24px}
.photo-dialog-header{align-items:flex-start;gap:12px;margin-bottom:16px}
.photo-dialog h2{min-width:0;padding-top:8px;line-height:1.3}
.photo-dialog .photo-close{width:44px;height:44px;min-width:44px;min-height:44px;border:0;border-radius:50%;background:transparent;box-shadow:none;color:#f6ead5}
.photo-dialog .photo-close:focus-visible{outline:2px solid #f6ead599;outline-offset:-6px}
.photo-detail-link{max-width:100%;white-space:normal;overflow-wrap:anywhere;margin-bottom:4px}

/* Horizontal catalogue: shared presentation for every row with approved photos. */
.catalog-carousel{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:0;padding:2px 0 8px;scrollbar-width:thin;scrollbar-color:#806236 transparent;touch-action:pan-x pan-y pinch-zoom}
.catalog-carousel .catalog-item{flex:0 0 calc((100% - 40px)/2);display:block;position:relative;scroll-snap-align:start;align-self:flex-start}
/* Keep the square frames unchanged; allow full labels to wrap instead of truncating. */
.catalog-carousel .catalog-name{position:absolute;inset:auto 1px 1px;padding:18px 8px 8px;border-radius:0 0 9px 9px;background:linear-gradient(to bottom,rgba(17,14,10,0),rgba(17,14,10,.76) 18px,rgba(17,14,10,.9));color:#f6ead5;font-size:clamp(.9375rem,4.1vw,1.0625rem);line-height:1.2;text-shadow:0 1px 3px #000b;white-space:normal;overflow-wrap:anywhere;text-wrap:balance;pointer-events:none}
.catalog-carousel:focus-visible{outline:2px solid #e2b968;outline-offset:3px;border-radius:10px}
.catalog-carousel .catalog-item:focus-visible{outline:2px solid #f6ead5;outline-offset:-3px;border-radius:10px}
@media(max-width:360px){.catalog-carousel .catalog-name{padding-inline:4px}}

/* One shared carousel, with explicit links to both original full-menu sections. */
.catalog-heading-combined{flex-wrap:wrap;column-gap:16px;row-gap:0}
.catalog-heading-combined h2{flex-basis:100%}
#discover-crazy-rice{scroll-margin-top:150px}
