
/* Damal v2.37 — homepage rhythm, empty-space removal and compact footer */

/* Eliminate accidental empty vertical blocks from inherited rules. */
body[class*="density-"] main,
body[class*="density-"] section,
body[class*="density-"] .story,
body[class*="density-"] .signatures,
body[class*="density-"] .locations,
body[class*="density-"] .feature-panels,
body[class*="density-"] .cta{
  margin-top:0!important;
  margin-bottom:0!important;
}
.story>div,.section-head,.dish-grid,.location-grid{margin-bottom:0!important}
.story p,.locations p,.feature-panels p{margin-bottom:0}

/* STANDARD — the recommended Damal layout. */
body.density-standard .hero{
  height:clamp(500px,60vh,610px)!important;
  min-height:500px!important;
  max-height:610px!important;
}
body.density-standard .experience-strip{min-height:62px!important}
body.density-standard .experience-strip>div{min-height:62px!important;padding-top:10px!important;padding-bottom:10px!important}
body.density-standard .story,
body.density-standard .signatures,
body.density-standard .locations{padding-top:54px!important;padding-bottom:54px!important}
body.density-standard .story>div{margin-top:12px!important;gap:42px!important}
body.density-standard .story-image{height:300px!important}
body.density-standard .section-head{margin-bottom:24px!important}
body.density-standard .dish-grid{gap:14px!important}
body.density-standard .dish-card>img,
body.density-standard .dish-fallback{height:185px!important}
body.density-standard .dish-card>div:last-child{padding:14px!important}
body.density-standard .feature-panels article{min-height:320px!important;padding-top:46px!important;padding-bottom:46px!important}
body.density-standard .location-grid article{min-height:235px!important}
body.density-standard .location-grid article.with-location-photo>img{height:145px!important}
body.density-standard .location-grid article:not(.with-location-photo){padding-top:22px!important;padding-bottom:22px!important}
body.density-standard .cta{padding-top:62px!important;padding-bottom:62px!important}
body.density-standard .cta h2{margin-top:10px!important;margin-bottom:10px!important}
body.density-standard .cta p{margin-bottom:18px!important}
body.density-standard footer{padding-top:22px!important;padding-bottom:22px!important;min-height:78px!important}

/* COMPACT — dense presentation for long homepages. */
body.density-compact .hero{
  height:clamp(460px,55vh,560px)!important;
  min-height:460px!important;
  max-height:560px!important;
}
body.density-compact .experience-strip{min-height:54px!important}
body.density-compact .experience-strip>div{min-height:54px!important;padding:8px!important}
body.density-compact .story,
body.density-compact .signatures,
body.density-compact .locations{padding-top:38px!important;padding-bottom:38px!important}
body.density-compact .story>div{margin-top:9px!important;gap:30px!important}
body.density-compact .story-image{height:250px!important}
body.density-compact .section-head{margin-bottom:18px!important}
body.density-compact .dish-grid{gap:11px!important}
body.density-compact .dish-card>img,
body.density-compact .dish-fallback{height:160px!important}
body.density-compact .dish-card>div:last-child{padding:12px!important}
body.density-compact .feature-panels article{min-height:275px!important;padding-top:38px!important;padding-bottom:38px!important}
body.density-compact .location-grid article{min-height:205px!important}
body.density-compact .location-grid article.with-location-photo>img{height:125px!important}
body.density-compact .cta{padding-top:48px!important;padding-bottom:48px!important}
body.density-compact .cta h2{margin:8px auto!important}
body.density-compact .cta p{margin-bottom:15px!important}
body.density-compact footer{padding-top:16px!important;padding-bottom:16px!important;min-height:68px!important}

/* SPACIOUS — still controlled; never returns to the excessive old gaps. */
body.density-spacious .hero{
  height:clamp(540px,64vh,650px)!important;
  min-height:540px!important;
  max-height:650px!important;
}
body.density-spacious .experience-strip{min-height:72px!important}
body.density-spacious .story,
body.density-spacious .signatures,
body.density-spacious .locations{padding-top:72px!important;padding-bottom:72px!important}
body.density-spacious .story>div{margin-top:16px!important;gap:55px!important}
body.density-spacious .story-image{height:350px!important}
body.density-spacious .section-head{margin-bottom:30px!important}
body.density-spacious .dish-card>img,
body.density-spacious .dish-fallback{height:215px!important}
body.density-spacious .feature-panels article{min-height:360px!important;padding-top:58px!important;padding-bottom:58px!important}
body.density-spacious .location-grid article{min-height:265px!important}
body.density-spacious .location-grid article.with-location-photo>img{height:165px!important}
body.density-spacious .cta{padding-top:78px!important;padding-bottom:78px!important}
body.density-spacious footer{padding-top:28px!important;padding-bottom:28px!important;min-height:90px!important}

/* Footer: intentionally small, aligned and not visually dominant. */
footer{
  min-height:0!important;
  gap:18px!important;
}
.footer-brand img{max-height:42px!important}
.footer-brand b{font-size:20px!important}
.footer-nav{gap:16px!important}
footer>p{line-height:1.35!important}

/* Avoid blank-looking cards when an image has not been uploaded. */
.dish-fallback{
  background:
    radial-gradient(circle at 50% 38%,rgba(202,160,82,.12),transparent 38%),
    linear-gradient(135deg,#f1eadc,#e4d9c6)!important;
}
.dish-card:has(.dish-fallback) .dish-fallback:after{
  content:"DAMAL";
  display:grid;
  place-items:center;
  height:100%;
  color:#8a7652;
  font:600 18px Georgia,serif;
  letter-spacing:.16em;
}

/* Make content naturally determine height instead of inherited fixed spaces. */
.story,.signatures,.locations,.feature-panels,.cta{min-height:0!important}
.location-grid,.dish-grid{align-items:stretch}
.location-grid article>div:last-child{margin-top:auto}

/* Desktop: prevent giant white voids if only a few signature dishes exist. */
@media(min-width:901px){
  .dish-grid{grid-auto-rows:auto!important}
  .dish-card{min-height:0!important}
}

/* Mobile rhythm. */
@media(max-width:700px){
  body.density-standard .hero{height:520px!important;min-height:520px!important;max-height:520px!important}
  body.density-compact .hero{height:485px!important;min-height:485px!important;max-height:485px!important}
  body.density-spacious .hero{height:555px!important;min-height:555px!important;max-height:555px!important}

  body.density-standard .story,
  body.density-standard .signatures,
  body.density-standard .locations{padding-top:40px!important;padding-bottom:40px!important}
  body.density-compact .story,
  body.density-compact .signatures,
  body.density-compact .locations{padding-top:30px!important;padding-bottom:30px!important}
  body.density-spacious .story,
  body.density-spacious .signatures,
  body.density-spacious .locations{padding-top:50px!important;padding-bottom:50px!important}

  .feature-panels article{min-height:0!important}
  body.density-standard .feature-panels article{padding:38px 22px!important}
  body.density-compact .feature-panels article{padding:30px 22px!important}
  body.density-spacious .feature-panels article{padding:46px 22px!important}

  body.density-standard .cta{padding:48px 22px!important}
  body.density-compact .cta{padding:38px 22px!important}
  body.density-spacious .cta{padding:56px 22px!important}

  footer{grid-template-columns:1fr!important;text-align:center!important;padding-left:22px!important;padding-right:22px!important}
  .footer-brand{align-items:center!important}
  .footer-nav{justify-content:center!important;flex-wrap:wrap!important}
  footer>p{justify-self:center!important}
}
