/* Birthday party page: reuse the studio palette, typography, and components. */
.party-welcome .page-head__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.party-welcome__photo img, .party-card > img, .party-mural img, .party-addon img { display: block; width: 100%; height: auto; border-radius: var(--r-lg); }
.party-welcome__photo img { box-shadow: var(--sh-md); }
.party-welcome .party-starting { color: var(--primary-dk); font-size: var(--fs-lg); font-weight: 700; }
.party-actions { display: flex; flex-wrap: wrap; gap: var(--sp-4); margin-top: var(--sp-6); }
.party-section-head { max-width: 720px; margin-bottom: var(--sp-7); }
.party-section-head > p:last-child { color: var(--ink-md); margin-top: var(--sp-4); line-height: 1.75; }
.party-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-7); align-items: start; }
.party-card { border: 1px solid #EADFD7; border-radius: var(--r-xl); overflow: hidden; background: var(--white); }
.party-card > img { border-radius: 0; }
.party-card__body { padding: clamp(22px, 3vw, 36px); }
.party-card h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.25; margin: var(--sp-2) 0 var(--sp-4); }
.party-card p, .party-addon p { line-height: 1.75; color: var(--ink-md); }
.party-card .party-price, .party-addon .party-price { color: var(--primary-dk); font-weight: 700; }
.party-card h4 { font: 700 1rem var(--font-body); margin-top: var(--sp-5); }
.party-list { list-style: disc; padding-left: 1.25rem; margin-block: var(--sp-4) var(--sp-5); color: var(--ink-md); line-height: 1.75; }
.party-list li + li { margin-top: var(--sp-2); }
.party-card .btn { margin-top: var(--sp-4); }
.party-card--sparkle { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; background: #FFF9F5; }
.party-collections { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-5); margin-top: var(--sp-4); }
.party-collections h5 { font: 700 1rem var(--font-body); }
.party-card .party-review-note { display: inline-block; background: #FFF1CC; color: #654511; border-radius: var(--r-sm); padding: var(--sp-2) var(--sp-3); margin-bottom: var(--sp-4); font-size: var(--fs-sm); }
.party-included { background: #EDF8F7; }
.party-caption { color: var(--primary-dk); font-size: var(--fs-sm); margin-top: var(--sp-3); }
.party-keepsake { padding: var(--sp-5); background: var(--white); border-left: 4px solid var(--primary); border-radius: var(--r-sm); }
.party-keepsake h3 { margin-bottom: var(--sp-3); font-size: var(--fs-h3); }
.party-addon-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5); }
.party-addon { border: 1px solid #EADFD7; border-radius: var(--r-lg); padding: var(--sp-6); }
.party-addon h3 { font-size: var(--fs-h3); margin-bottom: var(--sp-3); }
.party-addon img { max-width: 300px; margin-bottom: var(--sp-5); }
.party-details { background: var(--paper); }
.party-faq { max-width: 900px; }
.party-policy-link { margin-top: var(--sp-5); color: var(--ink-md); }
.party-policy-link a { color: var(--primary-dk); text-decoration: underline; }
@media (max-width: 860px) {
  .party-welcome .page-head__inner, .party-card--sparkle { grid-template-columns: 1fr; }
  .party-welcome__photo { width: min(100%, 600px); justify-self: center; }
}
@media (max-width: 700px) {
  .party-grid, .party-addon-grid, .party-collections { grid-template-columns: 1fr; }
  .party-card--sparkle { grid-column: auto; }
  .party-card .btn { white-space: normal; text-align: center; max-width: 100%; }
}

.party-welcome .section-tag { font-size: var(--fs-xs); color: var(--primary-dk); line-height: 1.6; }

/* Transparent examples beside their add-on descriptions. */
.party-addon--aprons, .party-addon--slime { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, 0.8fr); gap: var(--sp-4); align-items: center; }
.party-addon--aprons img, .party-addon--slime img { width: 100%; max-width: 220px; margin: 0; justify-self: center; border-radius: 0; }
@media (max-width: 400px) {
  .party-addon--aprons, .party-addon--slime { grid-template-columns: 1fr; }
  .party-addon--aprons img, .party-addon--slime img { max-width: 180px; }
}
