/* Contact — live structure (hero, booking, centres + map) with quick-contact cards added in the hero. */

.co-hero { padding: 70px 30px 60px; background: radial-gradient(110% 120% at 85% 0%, #fae8ff 0%, rgba(250, 232, 255, 0) 55%), linear-gradient(160deg, #f6f3ff 0%, #fbf8ff 100%); }
.co-hero-in { max-width: 1100px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 36px; }
.co-head { max-width: 800px; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.co-pill { margin: 0; padding: 6px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--sv-line); font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sv-purple); }
.co-h1 { margin: 0; font-family: 'K2D', sans-serif; font-size: 54px; font-weight: 700; line-height: 1.08; color: #1d1530; }
.co-intro { margin: 0; font-family: 'Archivo', sans-serif; font-size: 17px; line-height: 1.7; color: var(--sv-slate); }
.co-cards { list-style: none; margin: 0; padding: 0; width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.co-card { height: 100%; display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: 22px; background: #fff; border: 1px solid #ece6fb; text-decoration: none; transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s; }
.co-card:hover { transform: translateY(-5px); border-color: #d9c8ee; box-shadow: 0 26px 44px -30px rgba(86, 48, 132, 0.6); }
.co-ico { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 6px; border-radius: 14px; background: var(--sv-grad); color: #fff; box-shadow: 0 10px 22px -12px rgba(139, 43, 137, 0.9); }
.co-ico svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.co-t { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.co-card small { font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 600; color: #8a849c; }
.co-card strong { font-family: 'K2D', sans-serif; font-size: 18px; line-height: 1.3; color: #1d1530; overflow-wrap: anywhere; }
.co-hours { margin: -12px 0 0; font-family: 'Archivo', sans-serif; font-size: 14px; color: #6b6680; text-align: center; }

.co-book { padding: 56px 10px 40px; background: var(--sv-ghost); display: flex; flex-direction: column; align-items: center; gap: 24px; }
.co-h2 { margin: 0; font-family: 'K2D', sans-serif; font-size: 40px; font-weight: 700; color: #1d1530; text-align: center; }
.co-book-w { width: 100%; max-width: 1225px; }
.co-note { max-width: 700px; margin: 0; font-family: 'Archivo', sans-serif; font-size: 13.5px; line-height: 1.6; color: #6b6680; text-align: center; }

/* Centres + map block (same as the homepage, home.css) */
.ct { min-height: 53vh; display: flex; align-items: center; background: var(--sv-ghost); border: 1px solid var(--sv-purple); padding: 10px 0; }
.ct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: center; padding: 0 10px; }
.ct-l { padding: 10px; }

@media (max-width: 1024px) {
  .co-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ct-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .co-hero { padding: 40px 16px 36px; }
  .co-h1 { font-size: 36px; }
  .co-intro { font-size: 15.5px; }
  .co-cards { grid-template-columns: 1fr; gap: 12px; }
  .co-card { flex-direction: row; align-items: center; gap: 14px; padding: 16px; }
  .co-ico { flex: none; margin: 0; }
  .co-card strong { font-size: 16px; }
  .co-h2 { font-size: 28px; }
}
