/* Approved CafeJoy mockup: existing Montserrat/Playfair faces, square food photographs,
   warm light cards and burgundy controls. Changes are limited to dish previews. */
.cj-showcase, .cj-dish, .cj-dish-grid { --cj-accent:#853b3b; --cj-paper:#f8f6f2; --cj-ink:#191919; --cj-muted:#666; box-sizing:border-box; }
.cj-showcase { max-width:1170px; margin:0 auto; padding:42px 0 56px; color:var(--cj-ink); }
/* The existing home-page row already supplies the site's 150px/160px section spacing. */
#cmsmasters_row_v4l0h6wwc .cj-showcase { padding-top:0; padding-bottom:0; }
.cj-showcase__heading { text-align:center; margin-bottom:30px; }
.cj-showcase .cj-showcase__eyebrow { color:var(--cj-accent); font:500 12px/1.5 Montserrat,sans-serif; text-transform:uppercase; letter-spacing:2px; margin:0 0 8px; padding:0; }
.cj-showcase .cj-showcase__heading h2 { font:700 42px/1.25 'Playfair Display',Georgia,serif; color:var(--cj-ink); margin:0; padding:0; }
.cj-showcase__tabs { display:flex; justify-content:center; gap:0; border-bottom:1px solid #dedbd5; margin:0 0 30px; }
.cj-showcase__tabs button { appearance:none; background:none; border:0; border-bottom:2px solid transparent; border-radius:0; box-shadow:none; color:var(--cj-muted); cursor:pointer; font:600 13px/1.4 Montserrat,sans-serif; text-transform:uppercase; min-height:48px; padding:15px 24px; margin:0 0 -1px; transition:color 180ms ease-out,border-color 180ms ease-out; }
.cj-showcase__tabs button[aria-selected="true"] { color:var(--cj-accent); border-bottom-color:var(--cj-accent); }
.cj-showcase__tabs button:hover { color:var(--cj-accent); background:#f8f6f2; }
.cj-showcase [hidden], .cj-dish-grid > [hidden] { display:none!important; }
.cj-dish-grid, ul.products.cj-products-grid { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:0; padding:0; width:100%; }
.cj-dish-grid > li, ul.products.cj-products-grid > li.product { list-style:none; padding:0; margin:0; width:auto; float:none; min-width:0; display:flex; }
ul.products.cj-products-grid > li.product.cj-product-item { width:100%!important; max-width:none!important; min-width:0; }
.cj-dish-grid > li::before, ul.products.cj-products-grid::before, ul.products.cj-products-grid::after { display:none; }
.cj-dish, article.cmsmasters_product.cj-dish { display:flex; flex-direction:column; width:100%; height:100%; padding:0; margin:0; overflow:hidden; border:0; border-radius:0; box-shadow:none; background:var(--cj-paper); text-align:left; color:var(--cj-ink); }
.cj-dish a { color:inherit; text-decoration:none; }
.cj-dish .cj-dish__image { display:block; position:relative; width:100%; height:0; padding-bottom:100%; overflow:hidden; background:#efede8; border:0; border-radius:0; }
.cj-dish .cj-dish__image img { position:absolute; inset:0; width:100%; height:100%; max-width:none; margin:0; object-fit:cover; transform:scale(1); transition:transform 420ms cubic-bezier(.16,1,.3,1); }
.cj-dish:hover .cj-dish__image img, .cj-dish:focus-within .cj-dish__image img { transform:scale(1.2); }
.cj-dish__body { display:flex; flex-direction:column; flex:1; padding:22px 22px 20px; min-width:0; }
.cj-dish .cj-dish__category { font:500 11px/1.65 Montserrat,sans-serif; letter-spacing:1px; text-transform:uppercase; color:var(--cj-accent); margin:0 0 8px; padding:0; }
.cj-dish .cj-dish__title { font:700 21px/1.35 'Playfair Display',Georgia,serif; color:var(--cj-ink); margin:0 0 10px; padding:0; overflow-wrap:break-word; }
.cj-dish .cj-dish__title a, .cj-dish .cj-dish__category a { font:inherit; letter-spacing:inherit; text-transform:inherit; }
.cj-dish .cj-dish__title > a { font-family:'Playfair Display',Georgia,serif!important; font-weight:700!important; }
.cj-dish .cj-dish__price .title-price { display:none; }
.cj-dish .woocommerce-Price-currencySymbol { margin-left:.2em; }
.cj-showcase .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.cj-dish .cj-dish__composition { font:400 13px/1.65 Montserrat,sans-serif; color:#525252; padding:0; margin:0 0 16px; overflow-wrap:break-word; }
.cj-dish__footer { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:auto; padding-top:8px; }
.cj-dish__measure { font:400 13px/1.5 Montserrat,sans-serif; color:var(--cj-muted); }
.cj-dish .cj-dish__price { margin-left:auto; color:var(--cj-accent); font:700 17px/1.4 Montserrat,sans-serif; }
.cj-dish .cj-dish__price > span, .cj-dish .cj-dish__price ins { color:inherit; background:transparent; font:inherit; text-decoration:none; }
.cj-dish .cj-dish__price del { color:var(--cj-muted); font-size:12px; padding-right:5px; }
.cj-showcase__more { text-align:center; margin-top:30px; }
.cj-showcase__more a { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 24px; border:1px solid var(--cj-accent); color:var(--cj-accent); background:transparent; font:600 12px/1.5 Montserrat,sans-serif; text-transform:uppercase; text-decoration:none; transition:background 180ms ease-out,color 180ms ease-out; }
.cj-showcase__more a:hover { color:#fff; background:var(--cj-accent); }
.cj-showcase__empty { text-align:center; padding:28px 0; }
.cj-showcase button:focus-visible, .cj-showcase a:focus-visible, .cj-showcase__panel:focus-visible, .cj-dish a:focus-visible { outline:2px solid var(--cj-accent); outline-offset:3px; }
.cj-showcase ::selection, .cj-dish ::selection { background:#853b3b; color:#fff; }
ul.product_list_widget li.cj-widget-item { padding:0; margin:0 0 18px; }
ul.product_list_widget li.cj-widget-item .cj-dish { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:start; }
ul.product_list_widget li.cj-widget-item .cj-dish__image { width:88px; padding-bottom:100%; }
ul.product_list_widget li.cj-widget-item .cj-dish__image img { float:none; width:100%; height:100%; margin:0; }
ul.product_list_widget li.cj-widget-item .cj-dish__body { padding:12px; }
ul.product_list_widget li.cj-widget-item .cj-dish__title { font-size:16px; margin-bottom:8px; }
ul.product_list_widget li.cj-widget-item .cj-dish__category { font-size:10px; letter-spacing:.5px; }
ul.product_list_widget li.cj-widget-item .cj-dish__composition { font-size:12px; margin-bottom:10px; }
ul.product_list_widget li.cj-widget-item .cj-dish__price { font-size:14px; }
ul.product_list_widget li.cj-widget-item .cj-dish__measure { font-size:12px; }
@media (max-width:900px) {
    .cj-dish-grid, ul.products.cj-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
    .cj-showcase { padding-top:32px; padding-bottom:40px; }
    .cj-dish__body { padding:18px; }
}
@media (max-width:600px) {
    .cj-dish-grid, ul.products.cj-products-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
    .cj-showcase .cj-showcase__heading h2 { font-size:32px; }
    .cj-showcase__heading { margin-bottom:22px; }
    .cj-showcase__tabs { margin-bottom:24px; }
    .cj-showcase__tabs button { flex:1; padding:14px 8px; font-size:11px; }
    .cj-dish .cj-dish__title { font-size:21px; }
    .cj-showcase__more a { width:100%; box-sizing:border-box; }
}
@media (prefers-reduced-motion:reduce) {
    .cj-dish .cj-dish__image img, .cj-showcase__tabs button, .cj-showcase__more a { transition:none; }
}
