/* Keep the complete original food photograph visible at every breakpoint. */
.dish-photo,
.home-catalog .dish-photo{height:auto;aspect-ratio:4/3;background:#dce6dc}
.dish-photo>img,
.home-catalog .dish-photo>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:none}
.dish-card:hover .dish-photo>img,
.feature-card:hover .dish-photo>img{transform:none}
.dish-photo .photo-pending{min-height:0;height:100%}

.home-hero-dish{grid-template-rows:auto auto;width:min(100%,460px);justify-self:center}
.home-hero-dish>a{display:block;width:100%;height:auto;aspect-ratio:4/3;background:#dce6dc}
.home-hero-dish img{width:100%;height:100%;object-fit:contain;object-position:center;transition:none}
.home-hero-dish:hover img{transform:none}

.detail-photo{height:auto;aspect-ratio:4/3;background:#dce6dc}
.detail-photo>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.detail-photo .photo-pending{min-height:0;height:100%}
.cart-row-photo{height:auto;aspect-ratio:4/3;background:#dce6dc}
.cart-row-photo>img{width:100%;height:100%;object-fit:contain;object-position:center}
.cart-row-photo .photo-pending{min-height:0;height:100%}

.contact-layout img,
.gallery img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.gallery{align-items:start}

html[data-theme="dark"] .dish-photo,
html[data-theme="dark"] .home-catalog .dish-photo,
html[data-theme="dark"] .detail-photo,
html[data-theme="dark"] .cart-row-photo{background:#174737}
html[data-theme="dark"] .home-hero-dish>a{background:#e8dfcd}

@media(max-width:700px){
  .home-hero-dish{grid-template-rows:auto auto;width:100%}
  .home-hero-dish>a{height:auto;aspect-ratio:4/3}
  .home-catalog .dish-photo,
  .menu-page .dish-photo{height:auto;aspect-ratio:4/3}
  .detail-photo{height:auto;aspect-ratio:4/3}
  .contact-layout img,
  .gallery img,
  .gallery img:first-child{height:auto}
}
.category-option img{width:22px;height:22px;object-fit:cover;border-radius:50%;vertical-align:middle;margin-right:6px}

/* Menu descriptions and approximate food composition. */
.dish-body{display:flex;flex-direction:column;min-height:168px!important}
.dish-body h3{margin-bottom:6px}
.dish-short{color:var(--text-secondary);font-size:12px;line-height:1.4;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dish-meta{font-size:10px;letter-spacing:.02em;color:#607d68;margin-top:auto;margin-bottom:9px}
.dish-card-bottom{margin-top:0}
.detail-description{color:var(--text-secondary);font-size:16px;line-height:1.6;max-width:55ch;margin:10px 0 18px}
.nutrition-panel{margin:20px 0 24px;padding:20px;background:#e4eadf;border:1px solid #cbd7ca}
.nutrition-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:17px}
.nutrition-heading span{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.nutrition-heading small{font-size:11px;color:#65766b}
.nutrition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nutrition-grid div{display:flex;flex-direction:column;gap:3px;border-top:1px solid #a9b9aa;padding-top:9px}
.nutrition-grid strong{font-family:Oswald,Arial,sans-serif;font-size:27px;font-weight:500;line-height:1}
.nutrition-grid span{font-size:11px;color:#536b59}
.nutrition-note{font-size:11px;line-height:1.45;color:#5c705f;margin:18px 0 0}
.nutrition-note a{text-decoration:underline;text-underline-offset:2px}
html[data-theme="dark"] .dish-meta{color:#b8cbbb}
html[data-theme="dark"] .nutrition-panel{background:#194737;border-color:#5f8068;color:#f1e9d8}
html[data-theme="dark"] .nutrition-heading small,html[data-theme="dark"] .nutrition-grid span,html[data-theme="dark"] .nutrition-note{color:#c7d5c3}
html[data-theme="dark"] .nutrition-grid div{border-color:#769780}
@media(max-width:700px){
  .dish-body{min-height:173px!important}
  .dish-short{font-size:11px;line-height:1.35}
  .dish-meta{font-size:9px}
  .detail-description{font-size:14px}
  .nutrition-panel{padding:16px}
  .nutrition-heading{display:block}
  .nutrition-heading small{display:block;margin-top:4px}
  .nutrition-grid{gap:9px}
  .nutrition-grid strong{font-size:22px}
  .nutrition-grid span{font-size:9px}
}

/* Favorite action uses the same quiet green and cream system as the menu. */
.favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;margin-top:12px;padding:0 17px;background:transparent;color:#0a3d2e;border:1px solid #789889;border-radius:2px;font:700 12px 'Golos Text',Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.favorite-button:hover{background:#e3ebe1;border-color:#0a3d2e}
.favorite-heart{font:25px/1 Arial,sans-serif;position:relative;top:-1px}
.favorite-button.is-favorite{background:#e0e9dc;border-color:#0a3d2e}
.favorite-button.is-favorite .favorite-heart{color:#a87742}
html[data-theme="dark"] .favorite-button{color:#efe6d1;border-color:#a9bda8}
html[data-theme="dark"] .favorite-button:hover,html[data-theme="dark"] .favorite-button.is-favorite{background:#245a45;border-color:#d4c8a4}
html[data-theme="dark"] .favorite-button.is-favorite .favorite-heart{color:#ddbf86}
@media(max-width:700px){.favorite-button{width:100%;min-height:46px}}
