/* ==========================================================================
   Parties & Groups — page styles (loads AFTER site.css; extends tokens only)
   ========================================================================== */

/* --- Package cards ------------------------------------------------------ */

.pkg-card {
  display: flex;
  flex-direction: column;
}
.pkg-card .btn { margin-top: auto; align-self: flex-start; }

.pkg-card__price {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  margin: var(--space-2) 0 var(--space-2);
}
.pkg-card__price .price-lg { font-size: 2.75rem; }

.pkg-list {
  list-style: none;
  margin: var(--space-3) 0 var(--space-6);
  padding: 0;
}
.pkg-list li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: 9px 0;
  border-bottom: 1px dashed rgba(51,38,28,.25);
}
.pkg-list li:last-child { border-bottom: 0; }
.pkg-list svg { flex-shrink: 0; margin-top: 4px; color: var(--felt); }
.pkg-list .pkg-list__carry {
  font-weight: 600;
  color: var(--felt);
}

/* "Most popular" treatment: felt keyline + flag chip, gentle lift */
.pkg-card--popular {
  border-color: var(--felt);
  box-shadow: var(--shadow-lift);
}
.pkg-card--popular .card__tab { background: var(--felt); }
.pkg-flag {
  position: absolute;
  top: -14px;
  right: var(--space-5);
  background: var(--amber);
  color: var(--ink);
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: var(--radius-chip);
  transform: rotate(2deg);
}

@media (min-width: 901px) {
  .pkg-card--popular { transform: translateY(-8px); }
}

/* Footnote badge under the package grid */
.pkg-footnote { margin-top: var(--space-6); margin-inline: auto; }

/* --- Add-ons ------------------------------------------------------------ */

.addon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: var(--space-4);
  list-style: none;
  margin: 0;
  padding: 0;
}
.addon {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  background: var(--cream);
  border: 2px solid var(--ink);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--space-4) var(--space-5);
  font-weight: 600;
}

/* --- How it works steps -------------------------------------------------- */

.step { position: relative; }
.step__num {
  display: block;
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: 2rem;
  line-height: 1;
  color: var(--neon-red);
  margin-bottom: var(--space-3);
}
.step h3 { margin-bottom: 0.35em; }
.step p { margin-bottom: 0; }

/* Tori planner banner card */
.planner-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  margin-top: var(--space-7);
}

/* --- Corkboard signoff ----------------------------------------------------- */

.party-signoff { margin-top: var(--space-7); margin-inline: auto; }

/* --- Inquiry form split --------------------------------------------------- */

.inquiry-aside .fact-row dd { text-align: right; }
.inquiry-form-card .form-actions { margin-top: var(--space-5); margin-bottom: 0; }
.inquiry-form-card { padding: var(--space-6); }
@media (max-width: 480px) {
  .inquiry-form-card { padding: var(--space-5); }
}
