/* Homepage presentation; shared catalogue and checkout styles stay independent. */
.renewed-home { background: #fffcf7; }
.renewed-home::after { display: none; }
.renewed-home .container { max-width: 1240px; }
.renewed-home .nav { background: #fffcf7f2; border-bottom: 1px solid #eee7df; }
.celebration-hero { padding-top: calc(var(--nav-height) + 58px); background: #fbf5ed; overflow: hidden; }
.celebration-hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; padding-bottom: 60px; }
.celebration-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .17em; color: #a6473f; }
.celebration-eyebrow > span { margin-right: 9px; font-size: 18px; }
.celebration-hero h1 { margin: 20px 0 22px; font-size: clamp(44px,4.5vw,65px); line-height: 1.08; letter-spacing: -.045em; font-weight: 600; }
.celebration-hero h1 em { color: #c6554c; font-weight: 400; }
.celebration-hero__intro { max-width: 420px; color: #646575; font-size: 16px; line-height: 1.8; }
.celebration-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 28px; }
.celebration-actions .btn { font-size: 14px; padding: 16px 24px; border-radius: 10px; background: #c6554c; box-shadow: 0 7px 15px #b44b4420; gap: 20px; }
.celebration-actions .btn:hover { background: #a84039; }
.celebration-text-link { font-size: 13px; font-weight: 600; padding: 10px 0; border-bottom: 1px solid #bcb4ad; }
.celebration-text-link span { padding-left: 8px; }
.celebration-proof { display: flex; align-items: center; gap: 15px; margin-top: 30px; font-size: 11px; color: #676776; }
.celebration-proof strong { color: #26314a; font-size: 12px; }
.celebration-proof__stars { color: #997017; letter-spacing: 2px; font-size: 15px; }
.celebration-showcase { position: relative; min-width: 0; padding: 0 0 44px 22px; }
.celebration-photo { display: block; overflow: hidden; position: relative; }
.celebration-photo--main { height: 500px; border-radius: 180px 180px 18px 18px; margin-left: 48px; }
.celebration-photo--main img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; transition: transform .4s ease; }
.celebration-photo:hover img { transform: scale(1.025); }
.celebration-photo__caption { position: absolute; inset: auto 0 0; padding: 55px 22px 26px 130px; color: white; background: linear-gradient(transparent,#241b11e8); text-align: right; }
.celebration-photo__caption > span { display: block; font-size: 8px; letter-spacing: .14em; margin-bottom: 7px; }
.celebration-photo__caption strong { font-size: 15px; font-weight: 500; }
.celebration-photo--small { position: absolute; left: -20px; bottom: 5px; width: 205px; border: 7px solid white; border-radius: 12px; background: white; transform: rotate(-7deg); box-shadow: 0 10px 30px #44311e24; }
.celebration-photo--small img { width: 100%; height: 130px; object-fit: cover; border-radius: 6px; }
.celebration-photo--small > span { display: flex; justify-content: space-between; font-size: 10px; padding: 10px 3px 4px; font-weight: 600; }
.celebration-showcase__spark { position: absolute; right: -16px; top: 0; color: #c6554c; font-size: 72px; z-index: 1; line-height: 1; }
.celebration-showcase__note { position: absolute; top: 47px; left: 0; display: flex; align-items: center; gap: 10px; background: #fffdf8; border: 1px solid #ede2d7; padding: 13px 18px; border-radius: 12px; transform: rotate(-5deg); font-size: 12px; box-shadow: 0 8px 24px #44311e0f; }
.celebration-showcase__note > span { color: #c6554c; font-size: 30px; }
.celebration-showcase__disclaimer { position: absolute; bottom: 17px; right: 0; font-size: 9px; color: #74706c; }
.celebration-details { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid #e6ddd3; padding-top: 19px; padding-bottom: 19px; font-size: 11px; color: #676575; }
.celebration-details span { color: #b45349; margin-right: 9px; }
.celebration-details p:last-child span { margin: 0 14px; font-size: 9px; }
.celebration-occasions { padding-top: 45px; padding-bottom: 18px; }
.celebration-occasions h2 { font-size: 28px; letter-spacing: -.025em; margin-top: 6px; }
.celebration-occasions .occasion-entry { gap: 14px; padding-top: 22px; padding-bottom: 0; }
.celebration-occasions .occasion-entry a { display: flex; align-items: center; gap: 12px; border: 1px solid #e8dfd7; border-radius: 12px; padding: 20px 14px; box-shadow: none; background: #faf2e8; font-size: 13px; transition: transform .2s,border-color .2s; }
.celebration-occasions .occasion-entry a:nth-child(2) { background: #f0edf6; }
.celebration-occasions .occasion-entry a:nth-child(3) { background: #fbeded; }
.celebration-occasions .occasion-entry a:nth-child(4) { background: #edf2e8; }
.celebration-occasions .occasion-entry a:hover { transform: translateY(-3px); border-color: #bd7468; }
.celebration-occasions .occasion-entry a > span:nth-child(2) { flex: 1; color: #26314a; }
.celebration-occasions small { display: block; font-size: 9px; font-weight: 400; color: #666473; margin-top: 4px; }
.celebration-occasions .occasion-icon { font-size: 29px; font-weight: 400; }
.renewed-home #themes { padding-top: 40px; background: none; }
.renewed-home #themes .section-label { color: #a6473f; }
@media (max-width: 1100px) {
  .celebration-hero__grid { gap: 35px; }
  .celebration-photo--main { height: 470px; margin-left: 20px; }
  .celebration-photo--small { width: 180px; left: 0; }
  .celebration-occasions .occasion-entry { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
  .celebration-hero { padding-top: calc(var(--nav-height) + 32px); }
  .celebration-hero__grid { grid-template-columns: 1fr; gap: 38px; padding-bottom: 25px; }
  .celebration-hero h1 { font-size: clamp(43px,8.5vw,60px); }
  .celebration-hero h1 br:nth-of-type(1), .celebration-hero h1 br:nth-of-type(3) { display: none; }
  .celebration-hero__intro { font-size: 15px; }
  .celebration-actions { gap: 18px; margin-top: 22px; }
  .celebration-proof { margin-top: 22px; }
  .celebration-showcase { max-width: 480px; width: 100%; margin: 0 auto; padding: 0 12px 38px; }
  .celebration-photo--main { height: 390px; margin-left: 30px; }
  .celebration-showcase__spark { right: 0; font-size: 55px; }
  .celebration-photo--small { width: 160px; bottom: 4px; left: 5px; }
  .celebration-photo--small img { height: 102px; }
  .celebration-photo__caption { padding: 50px 15px 20px 120px; }
  .celebration-photo__caption strong { font-size: 12px; }
  .celebration-showcase__note { top: 22px; font-size: 11px; padding: 9px 13px; }
  .celebration-showcase__disclaimer { font-size: 8px; right: 12px; bottom: 13px; }
  .celebration-details { flex-direction: column; align-items: flex-start; gap: 5px; font-size: 10px; padding-top: 16px; padding-bottom: 16px; }
  .celebration-details p:last-child span { margin: 0 6px; }
  .celebration-occasions { padding-top: 30px; }
  .celebration-occasions h2 { font-size: 25px; }
  .celebration-occasions .occasion-entry { gap: 10px; }
  .celebration-occasions .occasion-entry a { padding: 16px 11px; gap: 8px; font-size: 12px; }
  .celebration-occasions .occasion-icon { font-size: 22px; }
  .celebration-occasions small { line-height: 1.5; }
}
@media (max-width: 370px) {
  .celebration-occasions .occasion-entry { grid-template-columns: 1fr; }
  .celebration-showcase__disclaimer { width: 120px; text-align: right; }
}
@media (prefers-reduced-motion: reduce) {
  .celebration-photo img, .celebration-occasions .occasion-entry a { transition: none; }
}
