:root {
  --planit-wine: #8b2452;
  --planit-wine-soft: #b84d78;
  --planit-plum: #5d2744;
  --planit-gold: #d8a842;
  --planit-soft-gold: #f4dc99;
  --planit-cream: #fffaf2;
  --planit-light: #ffffff;
  --planit-blush: #fff1ea;
  --planit-charcoal: #2b2427;
  --planit-muted: #766a70;
  --planit-card: #ffffff;
  --planit-shadow: 0 12px 28px rgba(139, 36, 82, 0.10);
  --planit-radius: 22px;
}

/* Softer general page background */
body {
  background:
    radial-gradient(circle at top left, rgba(244, 220, 153, 0.35), transparent 30%),
    linear-gradient(180deg, #fffaf2 0%, #ffffff 45%, #fff7ed 100%) !important;
  color: var(--planit-charcoal) !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Lighter premium hero */
.hero {
  background:
    linear-gradient(135deg, #fff3dd 0%, #f7d891 38%, #c65c84 100%) !important;
  color: #321225 !important;
  padding: 86px 22px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(139, 36, 82, 0.12) !important;
}

.hero::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: rgba(255,255,255,0.35);
  right: -150px;
  top: -150px;
}

.hero h1 {
  font-size: clamp(34px, 6vw, 62px) !important;
  line-height: 1.05 !important;
  margin-bottom: 16px !important;
  letter-spacing: -1.3px !important;
  color: #321225 !important;
}

.hero p {
  max-width: 850px !important;
  margin: 0 auto !important;
  font-size: clamp(16px, 2vw, 21px) !important;
  line-height: 1.7 !important;
  color: #4a2639 !important;
}

/* Wrappers */
.wrap,
.footer-inner {
  max-width: 1180px !important;
}

/* Cards */
.card,
.form-box,
.vendor-card,
.box {
  border-radius: var(--planit-radius) !important;
  box-shadow: var(--planit-shadow) !important;
  border: 1px solid rgba(139, 36, 82, 0.08) !important;
  background: rgba(255,255,255,0.98) !important;
}

.card {
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(139, 36, 82, 0.16) !important;
}

.card h3,
.form-box h2,
.form-box h3,
.vendor-card h2,
.vendor-card h3 {
  color: var(--planit-wine) !important;
}

/* Lighter buttons */
.btn,
button,
input[type="submit"] {
  background: linear-gradient(135deg, var(--planit-wine), var(--planit-wine-soft)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 13px 22px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px !important;
  box-shadow: 0 9px 18px rgba(139, 36, 82, 0.18) !important;
  text-decoration: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease !important;
}

.btn:hover,
button:hover,
input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 26px rgba(139, 36, 82, 0.24) !important;
}

.btn.secondary {
  background: #ffffff !important;
  color: var(--planit-wine) !important;
  border: 1px solid rgba(139, 36, 82, 0.22) !important;
}

/* Category-specific buttons, softened */
.btn.funeral {
  background: linear-gradient(135deg, #6b5b38, #b79245) !important;
}

.btn.corporate {
  background: linear-gradient(135deg, #315ea8, #5b8ee6) !important;
}

.btn.celebration {
  background: linear-gradient(135deg, #c76a20, #efa542) !important;
}

.btn.wedding {
  background: linear-gradient(135deg, #b84d78, #d8a842) !important;
}

/* Forms */
label {
  color: var(--planit-charcoal) !important;
}

input,
select,
textarea {
  border-radius: 14px !important;
  border: 1px solid rgba(139, 36, 82, 0.16) !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: var(--planit-gold) !important;
  box-shadow: 0 0 0 4px rgba(216, 168, 66, 0.18) !important;
}

/* Multi checkbox dropdown */
.multi-select {
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(139, 36, 82, 0.15) !important;
  background: #ffffff !important;
}

.multi-select summary {
  background: #fff4df !important;
  color: var(--planit-wine) !important;
}

.check-grid label {
  border: 1px solid rgba(139, 36, 82, 0.08) !important;
  background: #fffaf2 !important;
}

/* Footer is still rich, but less dark */
.planit-contact-footer {
  background:
    linear-gradient(135deg, #5d2744, #8b2452 55%, #c56a88) !important;
  color: #fffaf2 !important;
  border-top: 4px solid var(--planit-gold) !important;
}

.planit-contact-footer h2,
.planit-contact-footer h3 {
  color: #ffe6a7 !important;
}

.planit-contact-footer a {
  color: #ffe6a7 !important;
}

/* Mobile */
@media (max-width: 700px) {
  .hero {
    padding: 62px 18px !important;
  }

  .wrap {
    padding: 32px 16px !important;
  }

  .grid {
    grid-template-columns: 1fr !important;
  }

  .btn,
  button {
    width: 100% !important;
    text-align: center !important;
    margin: 10px 0 !important;
  }

  .check-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Package page spacing fix */
.card {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.card h3 {
  margin-bottom: 8px !important;
  line-height: 1.25 !important;
}

.card p {
  margin: 6px 0 10px !important;
}

.card ul {
  margin-top: 8px !important;
  margin-bottom: 18px !important;
  padding-left: 22px !important;
}

.card li {
  line-height: 1.55 !important;
  margin-bottom: 8px !important;
}

.card .select-package {
  margin-top: auto !important;
  align-self: flex-start !important;
  display: inline-block !important;
  clear: both !important;
}

/* Improve package grids */
main.wrap .grid {
  align-items: stretch !important;
}

main.wrap .grid .card {
  min-height: 100% !important;
}

/* Mobile package button fix */
@media (max-width: 700px) {
  .card .select-package {
    width: 100% !important;
    text-align: center !important;
    align-self: stretch !important;
  }
}
