:root {
  --brand-pink:#e2406e;     /* primary pink */
  --brand-pink-2:#eb008b;   /* secondary pink */
  --brand-brown:#241917;    /* deep brown */
  --brand-ice:#f1f1f1;      /* off-white */
  --brand-blue:#224c88;
}

/* --- Brand Helpers --- */
.text-brand { color: var(--brand-pink); }
.text-ink   { color: var(--brand-brown); }
.text-ice   { color: var(--brand-ice); }
.bg-brand   { background: var(--brand-pink); }
.bg-ink     { background: var(--brand-brown); }
.ring-brand { --tw-ring-color: var(--brand-pink); }

.btn-brand {
  display: inline-block;
  border-radius: 0.375rem;          /* rounded-xl */
  padding: 0.75rem 1.5rem;         /* px-6 py-3 */
  font-size: 1rem;             /* text-lg */
  font-weight: 600;                /* font-semibold */
  color: #fff;                     /* text-white */
  background: var(--brand-pink);   /* brand pink */
  box-shadow: 0 1px 2px rgba(0,0,0,0.1); /* shadow-md */
  transition: background 0.2s ease, opacity 0.2s ease;
}

.btn-brand:hover {
  background: var(--brand-pink-2); /* hover color */
}
.btn-brand:focus-visible {
  outline: 2px solid var(--brand-pink);
  outline-offset: 2px;
}

/* --- Icon Chips --- */
.icon-chip {
  background: var(--brand-pink);
  color: #fff;
  border-radius: 0.5rem; /* matches rounded-lg */
  display: flex;
  align-items: center;
  justify-content: center;
}

.link-brand { color: var(--brand-pink); }
.link-brand:hover { color: var(--brand-pink-2); }

/* Logo spin animation */
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.spin-once { animation: spin 0.7s ease-in-out; }

/* --- Gallery Overrides --- */
.swiper-button-prev,
.swiper-button-next {
  width: 46px;
  height: 46px;
  border-radius: 9999px;
  background: rgba(255,255,255,0.95);
  color: var(--brand-pink);
  box-shadow: 0 6px 16px rgba(0,0,0,.22);
  border: 1px solid rgba(0,0,0,.06);
  backdrop-filter: saturate(120%) blur(2px);
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
  background: var(--brand-pink);
  color: #fff;
  transform: translateY(-1px) scale(1.04);
  box-shadow: 0 10px 24px rgba(226,64,110,.28);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 16px;
  font-weight: 800;
}

/* Pagination dots */
.swiper-pagination { position: relative !important; margin-top: 2rem; text-align: center; }
.swiper-pagination-bullet { background: rgba(255,255,255,.6); opacity: 1; }
.swiper-pagination-bullet-active { background: #ffffff; }

/* Consistent slide width */
#gallery .swiper-slide { width: clamp(200px, 24vw, 320px); }

/* Feature fade effect */
.feature-step.active { opacity: 1; transform: none; }
.feature-card { opacity: 0; }
.feature-card.active { opacity: 1; }

html { scroll-behavior: smooth; }

/* FAQ accordion polish */
details.faq {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: .75rem;
  background: #fff;
  transition: box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
details.faq[open] {
  background: var(--brand-ice);
  border-color: var(--brand-pink);
  box-shadow: 0 10px 24px rgba(226,64,110,.12);
}
summary.faq-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  cursor: pointer;
  list-style: none;
}
summary.faq-summary::-webkit-details-marker {
  display: none;
}
.faq-chevron {
  color: var(--brand-pink);
  transition: transform .2s ease;
}
details.faq[open] .faq-chevron {
  transform: rotate(180deg);
}

/* ===== Shared chips / pills / counters ===== */

/* Pills (chips) — used for Group Type, Interests, Services */
.chip{
  display:inline-flex; align-items:center; gap:.5rem;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  padding:.42rem .75rem;
  border-radius:9999px;       /* fully rounded */
  font-size:.875rem;          /* text-sm */
  cursor:pointer;
  transition:.15s ease;
}
.chip[data-selected="true"]{
  background:#fff0f4;
  border-color:#f4b5c7;
  color:#111827;
}
.chip:focus-visible{
  outline:2px solid var(--brand-pink);
  outline-offset:2px;
}

/* Counters */
.counter{ display:inline-flex; align-items:center; border:1px solid rgba(0,0,0,.12); border-radius:.75rem; overflow:hidden; }
.counter button{ width:36px; height:36px; display:grid; place-items:center; }
.counter input{ width:56px; text-align:center; padding:.25rem .5rem; border-left:1px solid rgba(0,0,0,.06); border-right:1px solid rgba(0,0,0,.06); }

/* Plan cards */
.plan-card{ border:1px solid rgba(0,0,0,.08); background:#fff; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.plan-card:hover{ transform:translateY(-3px); box-shadow:0 10px 22px rgba(0,0,0,.08); }
.plan-card[data-selected="true"]{ border-color:var(--brand-pink); box-shadow:0 10px 26px rgba(226,64,110,.18); }

