/* AuraLink site theme (Oct 21, 2026). One shared look for every page, matching the Birth Chart and
   Compatibility pages: soft pink-to-lavender light, deep plum text, rose-to-violet gradient buttons,
   rounded cards. Only colors, spacing and shapes change here; nothing about how pages work.
   Remove the one <link> line in the two master layouts to switch it off. */

:root {
  --al-ink: #2e1a47;
  --al-plum: #5b2a86;
  --al-violet: #7c3aed;
  --al-rose: #c2185b;
  --al-soft: #6a5a7a;
  --al-line: rgba(156, 39, 176, .18);
  --al-lav: #f6effc;
  --al-grad: linear-gradient(135deg, #c2185b, #7c3aed);
  --al-hero: radial-gradient(1200px 400px at 20% -10%, #fbe3f0 0, transparent 60%), radial-gradient(900px 380px at 100% 0, #e6dcfb 0, transparent 55%), linear-gradient(180deg, #fff7fb, #fff);
  --al-shadow: 0 12px 30px rgba(91, 42, 134, .08);
}

html:root body { color: #3b2f4a; -webkit-font-smoothing: antialiased; }

/* ---------- Top banner ---------- */
html:root body .header { position: sticky; top: 0; z-index: 1030; background: rgba(255, 255, 255, .92); backdrop-filter: saturate(150%) blur(12px); -webkit-backdrop-filter: saturate(150%) blur(12px); box-shadow: 0 1px 0 var(--al-line), 0 8px 24px rgba(91, 42, 134, .06); }
html:root body .header .top-navbar { background: transparent !important; padding: 10px 0 !important; border: 0 !important; }
html:root body .header .top-navbar img.img-fluid { border-radius: 14px; }
html:root body .header .astroway-logo-text { font-weight: 800 !important; font-size: 24px !important; letter-spacing: -.3px; background: var(--al-grad); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
html:root body .header .astroway-logo-subtext { color: var(--al-soft) !important; font-size: 12px !important; letter-spacing: .3px; }
html:root body .header .btn-groups { gap: 10px; }
html:root body .header .btn-chat-astro { border-radius: 999px !important; padding: 9px 20px !important; font-weight: 700 !important; font-size: 14.5px !important; border: 1.5px solid rgba(124, 58, 237, .35) !important; background: #fff !important; color: var(--al-plum) !important; box-shadow: 0 4px 14px rgba(91, 42, 134, .08) !important; transition: transform .15s, box-shadow .15s; }
html:root body .header .btn-chat-astro:first-child { background: var(--al-grad) !important; color: #fff !important; border-color: transparent !important; box-shadow: 0 8px 20px rgba(124, 58, 237, .28) !important; }
html:root body .header .btn-chat-astro:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(124, 58, 237, .25) !important; }
html:root body .header .btn-chat-astro img { width: 16px; height: 16px; margin-right: 4px; vertical-align: -2px; }
html:root body .header .btn-chat-astro:first-child img { filter: brightness(0) invert(1); }
html:root body .header .loginSignUp { font-weight: 700; color: var(--al-plum); border: 1px solid var(--al-line); border-radius: 999px; padding: 7px 16px; margin-left: 4px; background: #fff; }
html:root body .header .loginSignUp:hover { background: var(--al-lav); }

/* second row: page links */
html:root body .header nav.navbar:not(.top-navbar) { padding: 0 0 8px !important; background: transparent !important; box-shadow: none !important; border: 0 !important; }
html:root body .header nav.navbar:not(.top-navbar) > .container, html:root body .header nav.navbar:not(.top-navbar) > .container > .container { max-width: 1320px; }
html:root body .header nav.navbar, html:root body .header .top-navbar { box-shadow: none !important; border: 0 !important; }
html:root body .header nav.navbar:not(.top-navbar) .navbar-nav { gap: 4px; flex-wrap: wrap; justify-content: center; }
html:root body .header .navbar-nav .nav-link.nav-link-mobile { flex-direction: row !important; gap: 6px; padding: 6px 11px !important; margin: 0 !important; border-radius: 999px; color: var(--al-ink) !important; font-size: 14px !important; font-weight: 600 !important; white-space: nowrap; transition: background .15s, color .15s; }
html:root body .header .navbar-nav .nav-link.nav-link-mobile img { width: 18px !important; height: 18px !important; margin: 0 !important; }
html:root body .header .navbar-nav .nav-link.nav-link-mobile:hover, .header .navbar-nav .show > .nav-link.nav-link-mobile { background: var(--al-lav); color: var(--al-rose) !important; }
html:root body .header .navbar-nav .nav-link.dropdown-toggle::after { margin-left: 2px; vertical-align: 2px; }
html:root body .header .dropdown-menu { border: 1px solid var(--al-line); border-radius: 14px; box-shadow: var(--al-shadow); padding: 6px; }
html:root body .header .dropdown-item { border-radius: 10px; padding: 8px 14px; color: var(--al-ink); font-weight: 600; }
html:root body .header .dropdown-item:hover { background: var(--al-lav); color: var(--al-rose); }
@media (max-width: 991px) {
  .header .navbar-collapse { background: #fff; border-radius: 16px; box-shadow: var(--al-shadow); margin: 6px 8px 10px; padding: 8px; }
  .header .navbar-nav .nav-link.nav-link-mobile { justify-content: flex-start; }
}

/* ---------- Breadcrumb and page title bars ---------- */
html:root body .astroway-breadcrumb, html:root body .astroway-breadcrumb.bg-red { background: #faf6fe !important; border-bottom: 1px solid var(--al-line); padding: 7px 0 !important; }
html:root body .astroway-breadcrumb .breadcrumbs, html:root body .astroway-breadcrumb .breadcrumbs a, html:root body .astroway-breadcrumb .breadcrumbtext, html:root body .astroway-breadcrumb .text-white { color: var(--al-soft) !important; font-size: 13px; font-weight: 600; }
html:root body .astroway-breadcrumb .breadcrumbs a:hover { color: var(--al-rose) !important; }
html:root body .astroway-breadcrumb i, html:root body .astroway-breadcrumb .fa { color: var(--al-soft) !important; }
html:root body .astroway-breadcrumb .fa-chevron-right { font-size: 10px; margin: 0 6px; opacity: .7; }

html:root body .astroway-menu { background: var(--al-hero) !important; border-bottom: 0 !important; padding: 30px 0 22px !important; }
html:root body .astroway-menu h1, html:root body .astroway-menu .cat-heading { color: var(--al-ink) !important; font-weight: 800 !important; font-size: 32px !important; letter-spacing: -.4px; margin: 0; }
html:root body .astroway-menu .compatibility svg { width: 56px; height: 56px; opacity: .85; }
html:root body .astroway-menu .compatibility svg path[fill], html:root body .astroway-menu .compatibility svg [fill="#ee4e5e"] { fill: var(--al-violet) !important; }
@media (max-width: 767px) { html:root body .astroway-menu h1, html:root body .astroway-menu .cat-heading { font-size: 26px !important; } }

/* ---------- Headings ---------- */
html:root body h2.heading, html:root body .heading.text-center, html:root body h2.font-28 { color: var(--al-ink) !important; font-weight: 800 !important; letter-spacing: -.3px; }
html:root body .heading::after { background: var(--al-grad) !important; height: 3px !important; border-radius: 3px; border: 0 !important; }
html:root body .cat-heading .color-red, html:root body .heading .color-red { color: var(--al-rose) !important; }

/* ---------- Buttons ---------- */
html:root body .btn-chat, html:root body a.btn-chat, html:root body button.btn-chat { background: var(--al-grad) !important; border: 0 !important; color: #fff !important; border-radius: 999px !important; font-weight: 700 !important; box-shadow: 0 8px 20px rgba(124, 58, 237, .25); }
html:root body .btn-chat:hover { filter: brightness(1.07); color: #fff !important; }
html:root body .btn-call, html:root body .btn-video-call { border-radius: 999px !important; }

/* ---------- Cards ---------- */
html:root body .psychic-card, html:root body .expertOnline { border-radius: 20px !important; border: 1px solid var(--al-line) !important; box-shadow: var(--al-shadow) !important; transition: transform .15s, box-shadow .15s; }
html:root body .psychic-card:hover, html:root body .expertOnline:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(91, 42, 134, .14) !important; }
html:root body .psychic-card img.img-fluid, html:root body .expertOnline .astro-profile img { border-radius: 50%; }
html:root body .shadow-pink, html:root body .show-shadow-rounded, html:root body .shadow-pink-light { border-radius: 18px !important; box-shadow: var(--al-shadow) !important; }
html:root body .bg-astrologer-pink-light { background: var(--al-hero) !important; }

/* ---------- Forms ---------- */
html:root body .form-control:not(.border-0) { border-radius: 12px; border-color: #e3d6ee; }
html:root body .form-control:focus { border-color: #9c27b0 !important; box-shadow: 0 0 0 3px rgba(156, 39, 176, .12) !important; }

/* ---------- Cosmic Timing hero: same light look as the rest of the site ---------- */
html:root body .ct-hero { background: var(--al-hero) !important; color: var(--al-ink) !important; }
html:root body .ct-hero::before { opacity: 0 !important; }
html:root body .ct-hero .ct-kicker { color: var(--al-rose) !important; }
html:root body .ct-hero .ct-date { color: var(--al-ink) !important; }
html:root body .ct-hero .ct-sub { color: var(--al-soft) !important; }
html:root body .ct-hero .ct-pill { color: var(--al-plum) !important; border-color: var(--al-line) !important; background: #fff; }
html:root body .ct-hero .ct-pill.on, html:root body .ct-hero .ct-pill:hover { background: var(--al-grad) !important; color: #fff !important; border-color: transparent !important; }
html:root body .ct-wrap { background: #fbf8fe !important; }

/* ---------- Footer ---------- */
html:root body #footer { background: linear-gradient(160deg, #2e1a47 0%, #3d1f5e 60%, #5b2a86 100%) !important; }
html:root body #footer .footer-link, html:root body #footer a { color: #e9e0f5 !important; }
html:root body #footer a:hover { color: #fff !important; }
html:root body #footer h5 { color: #fff !important; letter-spacing: 1px; border-color: rgba(255, 255, 255, .18) !important; }
html:root body #footer + .text-center, html:root body #footer .text-center.py-3 { background: #241336 !important; }
html:root body .astroway-footer, html:root body footer.footer { background: linear-gradient(160deg, #2e1a47 0%, #3d1f5e 60%, #5b2a86 100%) !important; color: #e9e0f5 !important; }
html:root body .astroway-footer a, html:root body footer.footer a { color: #e9e0f5 !important; }
html:root body .astroway-footer a:hover, html:root body footer.footer a:hover { color: #fff !important; }
html:root body .astroway-footer h3, html:root body .astroway-footer h4, html:root body .astroway-footer h5, html:root body .astroway-footer .footer-heading { color: #fff !important; }

/* ---------- Advisor list search bar (Talk / Chat with Advisor) ---------- */
html:root body .expert-search-section { background: var(--al-hero) !important; border: 0 !important; padding: 26px 0 18px !important; }
html:root body .expert-search-section h1 { color: var(--al-ink) !important; font-weight: 800 !important; font-size: 30px !important; letter-spacing: -.4px; }
html:root body .expert-search-section .bg-white { background: transparent !important; }
html:root body .expert-search-section input, html:root body .expert-search-section select, html:root body .expert-search-section .form-control { border-radius: 999px !important; border: 1px solid #e3d6ee !important; background: #fff !important; padding-left: 16px; }
html:root body .expert-search-section .btn { border-radius: 999px !important; }

/* ---------- Phones ---------- */
@media (max-width: 575px) {
  html:root body .header .astroway-logo-subtext { display: none !important; }
  html:root body .header .astroway-logo-text { font-size: 21px !important; }
  html:root body .header .top-navbar .container { flex-wrap: nowrap !important; }
  html:root body .header .top-navbar img.img-fluid { width: 38px; height: 38px; }
  html:root body .header .loginSignUp { padding: 6px 12px; font-size: 14px; }
  html:root body .header .top-navbar .btn.p-0 > svg { display: none; }
}
@media (max-width: 991px) { html:root body .header nav.navbar:not(.top-navbar) { padding: 0 !important; } }

/* ---------- Homepage buttons ---------- */
html:root body a.birthchart-btn, html:root body .vedic-button.btn { background: var(--al-grad) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; font-weight: 700 !important; box-shadow: 0 10px 24px rgba(124, 58, 237, .28) !important; }
html:root body a.birthchart-btn:hover, html:root body .vedic-button.btn:hover { filter: brightness(1.07); color: #fff !important; }
html:root body a.button-blog, html:root body a.btn-outline-primary { border-radius: 999px !important; border: 1.5px solid rgba(124, 58, 237, .45) !important; color: var(--al-plum) !important; font-weight: 700; padding: 8px 18px !important; background: #fff !important; }
html:root body a.button-blog:hover, html:root body a.btn-outline-primary:hover { background: var(--al-lav) !important; }

/* ---------- Shared page hero (Sessions, Shop, Blog and future pages) ---------- */
.al-hero { background: var(--al-hero); padding: 44px 0 26px; text-align: center; }
.al-hero .al-kicker { display: inline-block; font-size: 12px; letter-spacing: 2px; font-weight: 700; color: var(--al-rose); text-transform: uppercase; background: #fff; border: 1px solid var(--al-line); border-radius: 30px; padding: 5px 14px; }
.al-hero h1 { font-size: 40px; line-height: 1.1; font-weight: 800; color: var(--al-ink); margin: 14px auto 10px; max-width: 780px; letter-spacing: -.5px; }
.al-hero h1 span { background: var(--al-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.al-hero .al-lead { font-size: 17px; color: var(--al-soft); max-width: 700px; margin: 0 auto; }
.al-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 980px; margin: 26px auto 0; text-align: left; }
.al-step { background: rgba(255, 255, 255, .85); border: 1px solid var(--al-line); border-radius: 16px; padding: 16px 18px; box-shadow: var(--al-shadow); }
.al-step .n { width: 28px; height: 28px; border-radius: 50%; background: var(--al-plum); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; font-size: 14px; }
.al-step h4 { font-size: 16px; font-weight: 800; color: var(--al-ink); margin: 0 0 4px; }
.al-step p { font-size: 14px; color: var(--al-soft); margin: 0; line-height: 1.45; }
.al-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 16px; }
.al-pills span { font-size: 13px; color: var(--al-plum); background: rgba(255, 255, 255, .85); border: 1px solid var(--al-line); border-radius: 30px; padding: 5px 12px; }
@media (max-width: 767px) { .al-hero h1 { font-size: 30px; } .al-steps { grid-template-columns: 1fr; } }

/* ---------- Sessions, Shop and Blog lists ---------- */
html:root body .scard { border: 1px solid var(--al-line) !important; border-radius: 20px !important; box-shadow: var(--al-shadow); background: #fff !important; }
html:root body .scard .read { background: var(--al-grad) !important; color: #fff !important; border-radius: 999px !important; padding: 8px 12px !important; font-weight: 700; }
html:root body .ul-card { border-radius: 20px !important; border: 1px solid var(--al-line) !important; box-shadow: var(--al-shadow) !important; }
html:root body .ul-btn { background: var(--al-grad) !important; border-radius: 999px !important; }
html:root body .ul-upcoming h2 { color: var(--al-ink); font-weight: 800; }
html:root body .py-5.bg-light { background: #fbf8fe !important; }
html:root body .read-more { color: var(--al-plum) !important; font-weight: 700; }

/* ---------- Aura Prophet and Aura Spotlight tops: same hero as the other pages ---------- */
html:root body .hero:has(.masthead-title) { background: var(--al-hero) !important; border-bottom: 0 !important; padding: 46px 0 34px !important; }
html:root body .hero:has(.masthead-title)::before { display: none !important; }
html:root body .hero .masthead-frame { border: 0 !important; background: transparent !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; padding: 0 16px !important; }
html:root body .hero .mf-corner, html:root body .hero .mf-gem, html:root body .hero .masthead-divider { display: none !important; }
html:root body .hero .masthead-kicker { display: inline-block !important; font-size: 12px !important; letter-spacing: 2px !important; font-weight: 700 !important; color: var(--al-rose) !important; text-transform: uppercase; background: #fff; border: 1px solid var(--al-line); border-radius: 30px; padding: 5px 14px !important; margin-bottom: 0 !important; }
html:root body .hero .masthead-title { font-family: inherit !important; font-weight: 800 !important; font-size: clamp(30px, 5vw, 44px) !important; color: var(--al-ink) !important; letter-spacing: -.5px; margin: 14px auto 10px !important; }
html:root body .hero .masthead-title .gold-word { background: var(--al-grad); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
html:root body .hero .masthead-title .gold-word::after { display: none !important; }
html:root body .hero .masthead-tagline, html:root body .hero .masthead-sub { font-style: normal !important; font-size: 17px !important; color: var(--al-soft) !important; letter-spacing: 0 !important; max-width: 680px; margin: 0 auto 12px !important; }
html:root body .hero .masthead-dateline { font-size: 12px !important; letter-spacing: 1.5px !important; color: var(--al-plum) !important; display: inline-block; background: rgba(255, 255, 255, .8); border: 1px solid var(--al-line); border-radius: 30px; padding: 5px 14px; }
html:root body .hero .featured-advisors-sidebar { border-radius: 20px !important; border: 1px solid var(--al-line) !important; box-shadow: var(--al-shadow); background: #fff !important; }
html:root body .quick-nav { background: #fff !important; border-bottom: 1px solid var(--al-line) !important; }
html:root body .quick-nav .qn-link { background: #fff !important; border: 1px solid var(--al-line) !important; color: var(--al-plum) !important; font-weight: 700; }
html:root body .quick-nav .qn-link:hover { background: var(--al-grad) !important; color: #fff !important; border-color: transparent !important; }

/* Phones (Oct 21): the footer social icons wrap instead of pushing the page sideways */
html:root body .f-icon { display: flex; flex-wrap: wrap; justify-content: center; }
/* Phones: the two compatibility cards never push past the screen edge */
html:root body .bc-pair { grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr); }
html:root body .bc-pair > * { min-width: 0; }
@media (max-width: 767px) { html:root body .bc-pair { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 420px) { html:root body .bc-row2 { grid-template-columns: minmax(0, 1fr); } }
