/* Push #20.5.13.5 — full-width homepage layout recovery + Merch category snap.
   Scope: layout/presentation only. No payment/calendar/booking/music logic changes. */

/* Make the homepage read as one full-width experience from the hero to booking.
   Design Mode can still override these defaults later because these are normal CSS rules,
   not hard locks. */
body.home-art-active main > section:not(.home-art-hero) > .wrap{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  padding-left:clamp(22px,3.2vw,64px);
  padding-right:clamp(22px,3.2vw,64px);
}

/* ABOUT / CEO — full portrait and balanced two-column block. */
body.home-art-active #about .about{
  width:100%;
  max-width:none;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(26px,4vw,72px);
  align-items:center;
}
body.home-art-active #about .about-media,
body.home-art-active #about .portrait-figure{
  width:100%;
  max-width:none;
  overflow:visible;
}
body.home-art-active #aboutPhoto{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}
body.home-art-active #about .about-text{
  width:100%;
  max-width:none;
}

/* DJ SERVICES — stable two-column pricing rows and full-width media/footnote. */
body.home-art-active #services .services-stack,
body.home-art-active #services #packagesTable,
body.home-art-active #services .services-media-stack,
body.home-art-active #services .pricing-footnote{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
body.home-art-active #services .pricing-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
  gap:clamp(18px,3vw,48px);
  width:100%;
  box-sizing:border-box;
}
body.home-art-active #services .pricing-row > *{min-width:0}
body.home-art-active #services .pricing-event{
  white-space:normal;
  overflow-wrap:anywhere;
}
body.home-art-active #services .pricing-price{
  justify-self:end;
  text-align:right;
  white-space:nowrap;
}
body.home-art-active #services .services-media-stack img{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
}

/* WEDDINGS — image, package grid, notes and cards span the available page width. */
body.home-art-active #weddings .wrap,
body.home-art-active #weddingsFeaturedImageWrap,
body.home-art-active #weddingsFeaturedImage,
body.home-art-active #tierGrid,
body.home-art-active #weddings .addon-note{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
body.home-art-active #weddingsFeaturedImageWrap{margin-left:0;margin-right:0}
body.home-art-active #weddingsFeaturedImage{
  display:block;
  height:auto;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
}
body.home-art-active #weddings .tier-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
}

/* BOOKING + CONTACT — use the full page width but preserve the two useful columns. */
body.home-art-active #booking .booking{
  width:100%;
  max-width:none;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(28px,4vw,72px);
  align-items:start;
}
body.home-art-active #booking .booking-info,
body.home-art-active #booking .form-card{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}

/* Correct the inconsistent lettering embedded in the approved artwork without
   repainting or replacing the hero. This is a live editable text layer. */
body.home-art-active .home-art-canvas{position:relative}
body.home-art-active .p205135-hero-category-line{
  position:absolute;
  z-index:6;
  left:7.2%;
  top:46.7%;
  width:34.5%;
  min-height:5.7%;
  display:flex;
  align-items:center;
  padding:0 .55%;
  box-sizing:border-box;
  background:linear-gradient(90deg,rgba(4,4,4,.985) 0%,rgba(4,4,4,.97) 88%,rgba(4,4,4,0) 100%);
  color:#e4b650;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(11px,1.55vw,26px);
  font-weight:500;
  letter-spacing:.075em;
  line-height:1;
  white-space:nowrap;
  pointer-events:none;
  text-shadow:0 0 1px rgba(228,182,80,.25);
}
body.p203-design-on .p205135-hero-category-line{pointer-events:auto}

/* Merch category buttons now behave like category destinations. */
body.merch-page #merchGrid{scroll-margin-top:110px}
body.merch-page .merch-cat{scroll-margin-top:110px}

/* Keep the LoveLeeRose partner artwork fully visible. */
body.merch-page .p205133-partner-card[data-partner="loveleerose"] .p205133-partner-logo{
  object-fit:contain;
  object-position:center;
}

/* The Dju2smooth merch identity card is informational by default, not a redundant
   link back to the same page/site. */
body.merch-page .p205133-partner-card.is-static{
  cursor:default;
}
body.merch-page .p205133-partner-card.is-static:hover{
  transform:none;
}

@media(max-width:900px){
  body.home-art-active #about .about,
  body.home-art-active #booking .booking{
    grid-template-columns:1fr;
  }
  body.home-art-active #weddings .tier-grid{
    grid-template-columns:1fr;
  }
  body.home-art-active .p205135-hero-category-line{
    font-size:clamp(8px,1.6vw,14px);
  }
}
