.menu-package-list { color:#183d40; text-align:left; }
.menu-package-intro { margin:0 0 28px; text-align:center; }
.menu-package-intro h3 { margin:0 0 10px; color:#183d40; font-size:1.7rem; font-weight:700; }
.menu-package-intro p { margin:0; color:#63777a; font-size:.9rem; line-height:1.7; }
.menu-package-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:24px; }
.menu-package-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #b7d1cf; border-radius:14px; background:#fffdf8; box-shadow:0 8px 24px #143d4a12; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.menu-package-card:hover, .menu-package-card:focus-within { border-color:#5daeb1; transform:translateY(-5px); box-shadow:0 14px 28px #143d4a21; }
.menu-package-photos { flex-shrink:0; }
.menu-package-image { display:block; width:100%; height:200px; object-fit:cover; transition:transform .5s ease; }
.menu-package-content { flex:1; padding:20px; }
.menu-package-header { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:12px; }
.menu-package-header h4 { min-width:0; margin:0; color:#143d4a; font-family:var(--font-serif,'Playfair Display',Georgia,serif); font-size:1.25rem; font-weight:400; line-height:1.35; overflow-wrap:anywhere; }
.menu-package-price { flex-shrink:0; padding-top:2px; color:#e56b4f; font-size:1.1rem; font-weight:600; line-height:1.35; white-space:nowrap; }
.menu-package-description { margin:0; min-height:2.8em; color:#63777a; font-size:.9rem; line-height:1.6; overflow-wrap:anywhere; }
.menu-package-empty { padding:28px 16px; color:#526869; text-align:center; }
#homepage-packages[hidden], #dynamicMenuContainer[hidden], .search-container[hidden] { display:none !important; }
@media (max-width:1000px) { .menu-package-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .menu-package-grid { grid-template-columns:minmax(0,1fr); gap:16px; } .menu-package-header { flex-wrap:wrap; gap:6px 14px; } }
