/* Reset list styling that Divi/themes inject */
#pls-form-wrap.pls-form-wrap ul,
#pls-form-wrap.pls-form-wrap ul li {
  list-style: none !important;
  background: transparent !important;
  padding-left: 0;
}
#pls-form-wrap.pls-form-wrap ul li::before {
  display: none;
}
#pls-form-wrap.pls-form-wrap .pls-plan-card__features li::before {
  display: inline !important;
}
#pls-form-wrap.pls-form-wrap label.pls-plan-card {
  margin: 0;
  display: block;
}

/* ════════════════════════════════════════════════════════════════════════════
   Purple Lips - Shareable Delights Subscription Form
   Designed to match the Shareable Delights landing page aesthetic
   ════════════════════════════════════════════════════════════════════════════ */

:root {
  --pls-cream:        #fdf3e1;
  --pls-cream-light:  #fdf8ec;
  --pls-purple:       #7a1c4b;
  --pls-purple-dark:  #5b1438;
  --pls-purple-light: #f5e8ef;
  --pls-gold:         #c89b4a;
  --pls-text:         #2d1f1f;
  --pls-text-muted:   #6b5b5b;
  --pls-border:       #e0d0d0;
  --pls-border-light: #f0e0e8;
  --pls-radius:       12px;
  --pls-radius-sm:    8px;
  --pls-font-serif:   'Georgia', 'Times New Roman', serif;
  --pls-font-sans:    -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ── Outer wrapper ───────────────────────────────────────────────────────── */
.pls-form-wrap {
  max-width: 980px;
  margin: 0 auto 60px;
  padding: 0 20px;
  font-family: var(--pls-font-sans);
  color: var(--pls-text);
}

/* ── Section dividers (like "— HOW IT WORKS —" on landing page) ─────────── */
.pls-section-divider {
  text-align: center;
  margin: 40px 0 28px;
}
.pls-section-divider__icon {
  display: inline-block;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--pls-purple);
  color: #fff;
  font-size: 22px;
  line-height: 44px;
  text-align: center;
  margin-bottom: 12px;
}
.pls-section-divider__label {
  font-family: var(--pls-font-serif);
  font-size: 1.1rem;
  letter-spacing: 0.25em;
  color: var(--pls-purple);
  font-weight: 600;
  text-transform: uppercase;
}
.pls-section-divider__label::before,
.pls-section-divider__label::after { content: ' — '; opacity: 0.6; }

/* ── Step indicator ─────────────────────────────────────────────────────── */
.pls-steps {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin: 0 auto 32px;
  max-width: 720px;
  background: var(--pls-cream-light);
  border-radius: 50px;
  padding: 6px;
  border: 1px solid var(--pls-border);
}
.pls-step {
  flex: 1;
  text-align: center;
  padding: 12px 14px;
  font-family: var(--pls-font-serif);
  font-size: 0.92rem;
  color: var(--pls-text-muted);
  border-radius: 50px;
  transition: all 0.3s ease;
  cursor: default;
  white-space: nowrap;
}
.pls-step--active {
  background: var(--pls-purple);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 3px 12px rgba(122, 28, 75, 0.25);
}
.pls-step--done {
  color: var(--pls-purple);
  font-weight: 500;
}

/* ── Step panels ────────────────────────────────────────────────────────── */
.pls-step-panel {
  display: none;
  background: #fff;
  border: 1px solid var(--pls-border);
  border-radius: var(--pls-radius);
  padding: 36px 40px;
  box-shadow: 0 4px 24px rgba(122, 28, 75, 0.06);
}
.pls-step-panel--active { display: block; animation: pls-fade-in 0.4s ease; }
@keyframes pls-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Step legend / heading ──────────────────────────────────────────────── */
.pls-step-panel .pls-legend {
  font-family: var(--pls-font-serif);
  font-size: 1.6rem;
  color: var(--pls-purple);
  font-weight: 700;
  margin-bottom: 24px;
  padding: 0;
  text-align: center;
  width: 100%;
}

/* ── Plan cards (Step 1) ────────────────────────────────────────────────── */
.pls-plan-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-bottom: 24px;
}
.pls-plan-card {
  background: var(--pls-cream-light);
  border: 2px solid var(--pls-border);
  border-radius: var(--pls-radius);
  padding: 24px;
  cursor: pointer;
  transition: all 0.25s ease;
  position: relative;
  text-align: center;
}
.pls-plan-card:hover {
  border-color: var(--pls-purple);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(122, 28, 75, 0.1);
}
.pls-plan-card input[type=radio] { display: none; }
.pls-plan-card input[type=radio]:checked + .pls-plan__inner,
.pls-plan.pls-plan--selected {
  border-color: var(--pls-purple);
  background: #fff;
  box-shadow: 0 6px 18px rgba(122, 28, 75, 0.15);
}
/* Old badge def removed - new one below */
.pls-plan-card__title {
  font-family: var(--pls-font-serif);
  font-size: 1.35rem;
  color: var(--pls-purple);
  margin: 8px 0 4px;
  font-weight: 700;
}
.pls-plan-card__price {
  font-family: var(--pls-font-serif);
  font-size: 1.6rem;
  color: var(--pls-text);
  font-weight: 700;
  margin-bottom: 4px;
}
.pls-plan-card__price-sub {
  font-size: 0.85rem;
  color: var(--pls-text-muted);
  margin-bottom: 14px;
}
.pls-plan-card__features {
  text-align: left;
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
}
.pls-plan-card__features li {
  padding: 5px 0 5px 22px;
  position: relative;
  font-size: 0.88rem;
  color: var(--pls-text);
}
.pls-plan-card__features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--pls-purple);
  font-weight: bold;
}

/* ── Extra boxes selector ───────────────────────────────────────────────── */
.pls-extra-boxes {
  background: var(--pls-cream-light);
  border: 1px solid var(--pls-border);
  border-radius: var(--pls-radius-sm);
  padding: 18px 20px;
  margin: 20px 0;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.pls-extra-boxes__label {
  font-weight: 600;
  color: var(--pls-purple);
  font-family: var(--pls-font-serif);
}
.pls-extra-boxes select {
  border: 1px solid var(--pls-border);
  border-radius: 6px;
  padding: 8px 12px;
  font-family: inherit;
  font-size: 0.95rem;
  background: #fff;
  cursor: pointer;
}
.pls-extra-boxes__note {
  font-size: 0.82rem;
  color: var(--pls-text-muted);
  flex: 1;
  min-width: 200px;
}

/* ── Summary box ────────────────────────────────────────────────────────── */
.pls-summary {
  background: var(--pls-purple-light);
  border-left: 4px solid var(--pls-gold);
  border-radius: var(--pls-radius-sm);
  padding: 18px 22px;
  margin: 18px 0;
  text-align: center;
  font-size: 1rem;
  color: var(--pls-purple-dark);
}
.pls-summary strong { color: var(--pls-purple); }
.pls-summary em { font-style: normal; color: var(--pls-text-muted); font-size: 0.88rem; }

.pls-summary--final {
  background: #fff;
  border: 2px solid var(--pls-purple);
  border-left: 6px solid var(--pls-gold);
  font-size: 1.05rem;
  padding: 22px 28px;
}

/* ── Postal eligibility note ────────────────────────────────────────────── */
.pls-delivery-area {
  background: var(--pls-cream-light);
  border: 1px dashed var(--pls-purple);
  border-radius: var(--pls-radius-sm);
  padding: 14px 18px;
  margin: 18px 0;
  font-size: 0.88rem;
  color: var(--pls-purple-dark);
  text-align: center;
}
.pls-delivery-area strong { color: var(--pls-purple); }

/* ── Form fields ────────────────────────────────────────────────────────── */
.pls-field {
  margin-bottom: 18px;
}
.pls-field--row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
@media (max-width: 600px) {
  .pls-field--row { grid-template-columns: 1fr; }
}
.pls-label {
  display: block;
  font-family: var(--pls-font-serif);
  font-size: 0.9rem;
  color: var(--pls-purple);
  font-weight: 600;
  margin-bottom: 6px;
}
.pls-req { color: #c0392b; }
.pls-input,
.pls-select,
.pls-textarea {
  width: 100%;
  padding: 11px 14px;
  font-family: inherit;
  font-size: 0.95rem;
  border: 1px solid var(--pls-border);
  border-radius: 6px;
  background: #fff;
  color: var(--pls-text);
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}
.pls-input:focus,
.pls-select:focus,
.pls-textarea:focus {
  outline: none;
  border-color: var(--pls-purple);
  box-shadow: 0 0 0 3px rgba(122, 28, 75, 0.1);
}
.pls-textarea { min-height: 80px; resize: vertical; }
.pls-help {
  font-size: 0.78rem;
  color: var(--pls-text-muted);
  margin-top: 5px;
}
.pls-has-error {
  border-color: #dc2626 !important;
  background: #fef2f2;
}

/* ── Checkbox & radio fields ────────────────────────────────────────────── */
.pls-field--checkbox {
  background: var(--pls-cream-light);
  border-radius: 8px;
  padding: 14px 16px;
  border: 1px solid var(--pls-border);
}
.pls-field--checkbox label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.9rem;
  color: var(--pls-text);
  cursor: pointer;
  line-height: 1.5;
}
.pls-field--checkbox input[type=checkbox] {
  margin-top: 3px;
  width: 16px;
  height: 16px;
  accent-color: var(--pls-purple);
  cursor: pointer;
}
.pls-field--checkbox a {
  color: var(--pls-purple);
  font-weight: 600;
  text-decoration: underline;
}

/* ── Gift radio options ─────────────────────────────────────────────────── */
.pls-gift-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 18px;
}
@media (max-width: 500px) { .pls-gift-options { grid-template-columns: 1fr; } }
.pls-gift-option {
  position: relative;
  padding: 16px 18px;
  background: var(--pls-cream-light);
  border: 2px solid var(--pls-border);
  border-radius: var(--pls-radius-sm);
  cursor: pointer;
  text-align: center;
  transition: all 0.2s;
}
.pls-gift-option:has(input:checked) {
  background: #fff;
  border-color: var(--pls-purple);
  box-shadow: 0 4px 12px rgba(122, 28, 75, 0.1);
}
.pls-gift-option input[type=radio] { position: absolute; opacity: 0; }
.pls-gift-option__title {
  font-family: var(--pls-font-serif);
  font-size: 1rem;
  color: var(--pls-purple);
  font-weight: 600;
  margin-bottom: 2px;
}
.pls-gift-option__desc {
  font-size: 0.82rem;
  color: var(--pls-text-muted);
}

#pls-gift-fields {
  background: var(--pls-purple-light);
  border-radius: var(--pls-radius-sm);
  padding: 20px;
  margin-top: 10px;
  border: 1px solid var(--pls-border);
}

/* ── Step nav buttons ───────────────────────────────────────────────────── */
.pls-step-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
  flex-wrap: wrap;
}
.pls-btn {
  padding: 13px 28px;
  font-family: var(--pls-font-serif);
  font-size: 1rem;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
}
.pls-btn--back {
  background: transparent;
  color: var(--pls-purple);
  border: 1px solid var(--pls-border);
}
.pls-btn--back:hover { background: var(--pls-cream-light); border-color: var(--pls-purple); }
.pls-btn--next,
.pls-btn--submit {
  background: var(--pls-purple);
  color: #fff;
  box-shadow: 0 4px 14px rgba(122, 28, 75, 0.25);
  padding: 14px 36px;
}
.pls-btn--next:hover,
.pls-btn--submit:hover {
  background: var(--pls-purple-dark);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(122, 28, 75, 0.35);
}
.pls-btn--submit { margin-left: auto; }
.pls-btn__sub {
  font-size: 0.72rem;
  font-style: italic;
  opacity: 0.85;
  font-weight: 400;
  margin-top: 3px;
}
.pls-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
}

/* ── Error message ──────────────────────────────────────────────────────── */
.pls-error {
  background: #fef2f2;
  border: 1px solid #fca5a5;
  color: #991b1b;
  padding: 12px 16px;
  border-radius: 8px;
  margin-top: 16px;
  font-size: 0.9rem;
  display: none;
  text-align: center;
}

/* ── Confirmation ───────────────────────────────────────────────────────── */
.pls-confirmation {
  text-align: center;
  padding: 50px 30px;
  background: #fff;
  border-radius: var(--pls-radius);
  border: 1px solid var(--pls-border);
}
.pls-confirmation__icon { font-size: 4rem; margin-bottom: 16px; }
.pls-confirmation h2 {
  font-family: var(--pls-font-serif);
  color: var(--pls-purple);
  font-size: 2.2rem;
  margin: 0 0 16px;
}
.pls-confirmation p { font-size: 1rem; color: var(--pls-text); line-height: 1.7; margin: 10px 0; }
.pls-confirmation__closing { font-size: 1.05rem; margin-top: 22px; }
.pls-hidden { display: none; }

/* ── Page header (custom title above the form) ─────────────────────────── */
.pls-page-hero {
  text-align: center;
  padding: 50px 20px 30px;
  background: var(--pls-cream);
}
.pls-page-hero__eyebrow {
  font-family: var(--pls-font-serif);
  color: var(--pls-purple);
  letter-spacing: 0.3em;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.pls-page-hero h1 {
  font-family: var(--pls-font-serif);
  color: var(--pls-purple);
  font-size: 2.6rem;
  font-weight: 700;
  margin: 0 0 12px;
  line-height: 1.1;
}
.pls-page-hero p {
  font-size: 1.05rem;
  color: var(--pls-text);
  max-width: 600px;
  margin: 0 auto;
}

/* ── Mobile tweaks ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .pls-step-panel { padding: 24px 20px; }
  .pls-step-panel .pls-legend { font-size: 1.3rem; }
  .pls-steps { flex-direction: row; flex-wrap: wrap; }
  .pls-step { font-size: 0.8rem; padding: 8px 10px; }
  .pls-page-hero h1 { font-size: 1.9rem; }
}


/* ── Delivery area extras ───────────────────────────────────────────────── */
.pls-delivery-area__label { font-weight: 600; color: var(--pls-purple); margin: 0 0 6px; }
.pls-delivery-area__codes { font-family: monospace; font-size: 0.78rem; color: var(--pls-text-muted); margin: 0; word-break: break-word; }
.pls-optional { font-size: 0.75rem; font-weight: 400; color: var(--pls-text-muted); margin-left: 6px; }
.pls-note { font-size: 0.78rem; color: var(--pls-text-muted); margin: 6px 0 0; }

/* ── Landing-page style plan cards (override defaults) ──────────────────── */
.pls-plan-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-bottom: 28px;
  background: #e8d8e8;
  padding: 30px 22px;
  border-radius: 14px;
}
@media (max-width: 640px) {
  .pls-plan-cards { grid-template-columns: 1fr; padding: 22px 16px; }
}
.pls-plan-card {
  background: #ead6e8;
  border: 1.5px solid #b896b6;
  border-radius: 8px;
  padding: 32px 22px 26px;
  cursor: pointer;
  position: relative;
  text-align: center;
  transition: all 0.25s ease;
  margin: 0;
}
.pls-plan-card:hover {
  background: #f0deef;
  border-color: #7a1c4b;
  transform: none;
  box-shadow: 0 4px 14px rgba(122, 28, 75, 0.12);
}
.pls-plan-card input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
.pls-plan-card:has(input:checked) {
  background: #fff;
  border-color: #7a1c4b;
  box-shadow: 0 6px 20px rgba(122, 28, 75, 0.2);
}

/* Plan card badge (the "Great to Try!" scallop style) */
.pls-plan-card__badge {
  position: absolute;
  top: -12px;
  left: -12px;
  width: 86px;
  height: 86px;
  color: #fff;
  font-family: var(--pls-font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.15;
  z-index: 2;
  text-transform: uppercase;
  background: transparent;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M50 2 L57 8 L66 4 L70 12 L80 11 L81 20 L90 22 L88 31 L96 36 L92 44 L98 51 L92 58 L96 66 L88 71 L90 80 L81 82 L80 91 L70 90 L66 98 L57 94 L50 100 L43 94 L34 98 L30 90 L20 91 L19 82 L10 80 L12 71 L4 66 L8 58 L2 51 L8 44 L4 36 L12 31 L10 22 L19 20 L20 11 L30 12 L34 4 L43 8 Z' fill='%237a1c4b'/></svg>");
  background-size: contain;
  background-repeat: no-repeat;
  filter: drop-shadow(0 3px 6px rgba(122, 28, 75, 0.35));
  padding: 14px;
  box-sizing: border-box;
}
.pls-plan-card__badge span { display: block; }
.pls-plan-card__badge--gold {
  background: transparent;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M50 2 L57 8 L66 4 L70 12 L80 11 L81 20 L90 22 L88 31 L96 36 L92 44 L98 51 L92 58 L96 66 L88 71 L90 80 L81 82 L80 91 L70 90 L66 98 L57 94 L50 100 L43 94 L34 98 L30 90 L20 91 L19 82 L10 80 L12 71 L4 66 L8 58 L2 51 L8 44 L4 36 L12 31 L10 22 L19 20 L20 11 L30 12 L34 4 L43 8 Z' fill='%23c89b4a'/></svg>");
  filter: drop-shadow(0 3px 6px rgba(200,155,74,0.4));
}

/* Icon area at top of card */
.pls-plan-card__icon {
  width: 90px;
  height: 90px;
  margin: 6px auto 18px;
  display: block;
  color: #7a1c4b;
}
.pls-plan-card__icon svg { width: 100%; height: 100%; }

/* Title — italic serif like landing page */
.pls-plan-card__title {
  font-family: var(--pls-font-serif);
  font-size: 1.6rem;
  color: #7a1c4b;
  font-weight: 400;
  font-style: italic;
  margin: 0 0 14px;
}

/* Description / price */
.pls-plan-card__price {
  font-family: var(--pls-font-sans);
  font-size: 0.95rem;
  color: #2d1f1f;
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 16px;
}
.pls-plan-card__price span {
  display: block;
  font-weight: 400;
  font-size: 0.82rem;
  color: #6b5b5b;
  margin-top: 4px;
}

/* Decorative lips/dot divider */
.pls-plan-card__divider {
  margin: 14px auto 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.pls-plan-card__divider span {
  height: 1px;
  width: 36px;
  background: #7a1c4b;
}
.pls-plan-card__divider span:nth-child(2) {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #7a1c4b;
}

/* Feature list (hidden by default to match landing page minimalism, but kept for accessibility) */
.pls-plan-card__features {
  display: none;
}

/* Show features list as part of the card (small, subtle) */
.pls-plan-card__features {
  display: block;
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  text-align: left;
  border-top: 1px solid rgba(122,28,75,0.15);
  padding-top: 14px;
}
.pls-plan-card__features li {
  font-size: 0.82rem;
  color: #2d1f1f;
  padding: 4px 0 4px 20px;
  position: relative;
  font-family: var(--pls-font-sans);
  font-weight: 400;
  line-height: 1.5;
}
.pls-plan-card__features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #7a1c4b;
  font-weight: 700;
}

/* Whole card is clickable */
.pls-plan-card { display: block; }

/* Selected state indicator (since no SELECT button) */
.pls-plan-card:has(input:checked)::after {
  content: '✓ Selected';
  position: absolute;
  bottom: 14px;
  right: 14px;
  background: #7a1c4b;
  color: #fff;
  font-family: var(--pls-font-sans);
  font-size: 0.7rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 12px;
  letter-spacing: 0.05em;
}


/* ── Plan cards — match landing page exactly ────────────────────────────── */
#pls-form-wrap .pls-plan-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-bottom: 28px;
  padding: 36px 28px;
  border-radius: 6px;
  background: #e8d8e8; /* default — overridden by inline style from admin */
}
@media (max-width: 640px) {
  #pls-form-wrap .pls-plan-cards { grid-template-columns: 1fr; padding: 24px 16px; }
}
#pls-form-wrap .pls-plan-card {
  background: transparent;
  border: 1.5px solid #b896b6;
  border-radius: 4px;
  padding: 36px 24px 28px;
  cursor: pointer;
  position: relative;
  text-align: center;
  transition: all 0.25s ease;
  margin: 0;
  display: block;
}
#pls-form-wrap .pls-plan-card:hover {
  background: rgba(255,255,255,0.35);
  border-color: #7a1c4b;
}
#pls-form-wrap .pls-plan-card input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
#pls-form-wrap .pls-plan-card:has(input:checked) {
  background: rgba(255,255,255,0.55);
  border-color: #7a1c4b;
  border-width: 2px;
  box-shadow: 0 4px 16px rgba(122,28,75,0.15);
}

/* Badge — scalloped, top-left */
#pls-form-wrap .pls-plan-card__badge {
  position: absolute;
  top: -16px;
  left: -16px;
  width: 84px;
  height: 84px;
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
  z-index: 2;
  text-transform: uppercase;
  background: transparent;
  background-size: contain;
  background-repeat: no-repeat;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,0.18));
  padding: 16px;
  box-sizing: border-box;
}
#pls-form-wrap .pls-plan-card__badge span { display: block; }

/* Icon area */
#pls-form-wrap .pls-plan-card__icon {
  width: 130px;
  height: 130px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#pls-form-wrap .pls-plan-card__icon img,
#pls-form-wrap .pls-plan-card__icon svg {
  max-width: 100%;
  max-height: 100%;
  display: block;
  color: #7a1c4b;
}

/* Title — italic serif, muted purple */
#pls-form-wrap .pls-plan-card__title {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 1.85rem;
  color: #9d6b95;
  font-weight: 400;
  font-style: italic;
  margin: 0 0 18px;
  line-height: 1.1;
}

/* Description — bold dark text */
#pls-form-wrap .pls-plan-card__price {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 1.05rem;
  color: #2d1f1f;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 22px;
}
#pls-form-wrap .pls-plan-card__price span {
  display: block;
  font-weight: 500;
  font-size: 0.82rem;
  color: #6b5b5b;
  margin-top: 6px;
}

/* Decorative lips/dot divider */
#pls-form-wrap .pls-plan-card__divider {
  margin: 14px auto 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
#pls-form-wrap .pls-plan-card__divider span {
  height: 1px;
  width: 40px;
  background: #7a1c4b;
  border-radius: 0;
}
#pls-form-wrap .pls-plan-card__divider span:nth-child(2) {
  width: 12px;
  height: 6px;
  border-radius: 50%;
  background: #7a1c4b;
}

/* SELECT PLAN button (default state) */
#pls-form-wrap .pls-plan-card::after {
  content: 'SELECT PLAN';
  display: inline-block;
  margin: 18px auto 0;
  background: transparent;
  color: #7a1c4b;
  border: 1.5px solid #7a1c4b;
  padding: 12px 38px;
  border-radius: 2px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  transition: all 0.2s ease;
  position: static;
  transform: none;
  left: auto;
  bottom: auto;
  white-space: nowrap;
}
/* Hover — fills purple */
#pls-form-wrap .pls-plan-card:hover::after {
  background: #7a1c4b;
  color: #fff;
}
/* Selected — solid purple with checkmark */
#pls-form-wrap .pls-plan-card:has(input:checked)::after {
  content: '✓ SELECTED';
  background: #7a1c4b;
  color: #fff;
  border-color: #7a1c4b;
}

/* Hero band */
#pls-form-wrap + .pls-page-hero,
.pls-page-hero {
  text-align: center;
  padding: 60px 24px 40px;
  background: #fdf3e1;
}
.pls-page-hero__eyebrow {
  font-family: Georgia, serif;
  color: #7a1c4b;
  letter-spacing: 0.3em;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.pls-page-hero h1 {
  font-family: Georgia, serif !important;
  color: #7a1c4b !important;
  font-size: 3rem !important;
  font-weight: 400 !important;
  font-style: italic;
  margin: 0 0 14px !important;
  line-height: 1.1;
}
.pls-page-hero p {
  font-size: 1.05rem;
  color: #2d1f1f;
  max-width: 620px;
  margin: 0 auto;
  font-family: -apple-system, sans-serif;
}
@media (max-width: 600px) {
  .pls-page-hero h1 { font-size: 2rem !important; }
}

/* Lips divider image (uploaded version) */
#pls-form-wrap .pls-plan-card__divider--image {
  margin: 14px auto 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#pls-form-wrap .pls-plan-card__divider--image img {
  max-width: 110px;
  max-height: 28px;
  width: auto;
  height: auto;
  display: block;
}
