/* Elegant Invites 2026 — page styles layered on top of /bulma/css/bulma.css.
   Brand: primary #880e4f, headings Bree Serif, body Montserrat. */

.ei-card { border-radius: 14px; box-shadow: 0 10px 24px rgba(0,0,0,.06); background: #fff; }

.ei-hero { padding: 4rem 1.5rem 3rem; }
.ei-hero .title { line-height: 1.15; }
/* Let long hero CTA labels (e.g. "Book a Free Westchester Consultation") wrap on
   small phones instead of forcing the page wider than the viewport. */
@media screen and (max-width: 480px) {
  .ei-hero .button { white-space: normal; height: auto; }
}

.ei-eyebrow {
  color: #880e4f;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: .8rem;
  margin-bottom: .75rem;
}

.ei-stars { color: #e6a817; letter-spacing: 2px; }

.ei-section { padding: 3rem 1.5rem; }
.ei-section-alt { background: rgba(255,255,255,.55); }

.ei-step-number {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.4rem; height: 2.4rem; border-radius: 50%;
  background: #880e4f; color: #fff;
  font-family: "Bree Serif", serif; font-size: 1.2rem;
  margin-bottom: .6rem;
}

/* Process steps: a clean scannable list, light separators (not heavy cards) */
.ei-step { padding-bottom: 1.25rem; border-bottom: 1px solid rgba(136, 14, 79, .1); }
.ei-step:last-of-type { border-bottom: none; }
.ei-step .title { line-height: 1.2; }

.ei-review { position: relative; padding: 2.6rem 1.5rem 1.5rem; height: 100%; }
.ei-review::before {
  content: "\201C";                 /* soft maroon opening quote mark */
  position: absolute; top: .45rem; left: 1.35rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 3.4rem; line-height: 1;
  color: rgba(136, 14, 79, .18);
}
.ei-review .ei-stars { margin-bottom: .35rem; }
.ei-review .ei-review-quote { font-style: italic; color: #455a64; }
.ei-review .ei-review-author { font-weight: 600; color: #880e4f; margin-top: .85rem; }

.ei-town-list { columns: 2; column-gap: 2rem; margin: 0; padding: 0; list-style: none; }
.ei-town-list li { padding: .25rem 0; break-inside: avoid; }
.ei-town-list li::before { content: "\2713\00a0\00a0"; color: #880e4f; }
@media screen and (min-width: 769px) { .ei-town-list { columns: 3; } }

.ei-faq-item { margin-bottom: 1.5rem; }
.ei-faq-item h3 { font-family: "Bree Serif", serif; color: #263238; font-size: 1.15rem; margin-bottom: .4rem; }
.ei-faq-item p { color: #455a64; }

/* Two-column FAQ layout used on the county landing pages */
.ei-faq-grid { display: grid; gap: 1.25rem; margin-bottom: 1.5rem; }
.ei-faq-grid .ei-faq-item { margin-bottom: 0; }
@media screen and (min-width: 769px) {
  .ei-faq-grid { grid-template-columns: 1fr 1fr; }
}

.ei-portfolio img { border-radius: 10px; filter: drop-shadow(0 8px 10px rgba(0,0,0,.15)); }

/* Product tiles on the day-of / add-ons page.
   drop-shadow (not box-shadow) so the shadow hugs the PNG transparency,
   not the rectangular bounding box. */
.ei-product { margin-top: auto; }
.ei-product img { border-radius: 10px; filter: drop-shadow(0 8px 10px rgba(0,0,0,.18)); }
.ei-product .ei-product-label { font-weight: 600; color: #263238; margin-top: .6rem; }
.ei-product .tag { vertical-align: middle; margin-left: .35rem; }

.ei-cta-band { background: #880e4f; border-radius: 14px; padding: 2.5rem 2rem; }
.ei-cta-band .title, .ei-cta-band p { color: #fff; }
.ei-cta-band .button.is-white { color: #880e4f; font-weight: 600; }

.ei-nap { color: #455a64; }
.ei-nap strong { color: #263238; }

.required::after { content: " *"; color: #e76f51; }
.honeypot { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
@media screen and (min-width: 1024px) {
  .sticky-col { position: sticky; top: 8rem; }
}

.ei-breadcrumb { padding: 1rem 1.5rem 0; }

.ei-offer-box {
  background: #fbe9f1;
  border-left: 4px solid #880e4f;
  border-radius: 6px;
  padding: 1rem 1.25rem;
  color: #263238;
}
