/* LegalBondhu's distinct identity: indigo confidence, coral warmth, cloud-white space. */
:root {
  --primary: #3b328c;
  --primary-hover: #5143ac;
  --primary-deep: #29245c;
  --accent: #ffb8a5;
  --accent-ink: #a34f3f;
  --surface-tint: #eeebfa;
  --ink: #25233f;
  --muted: #707087;
  --cream: #f8f8fd;
  --line: #e4e2f0;
  /* Map the original component tokens onto the new palette. */
  --forest: var(--primary);
  --forest-light: #6554b6;
  --gold: var(--accent);
  --sage: var(--surface-tint);
}

::selection { background: #ffd6cb; color: var(--primary-deep); }
button:focus-visible, a:focus-visible, summary:focus-visible,
.method-option input:focus-visible + span { outline-color: #8071d5; }
.button-dark:hover { background: var(--primary-hover); box-shadow: 0 5px 15px #3b328c18; }
.button-outline { border-color: #d3ceea; }
.button-outline:hover { background: #eeebfa; }
.button-gold { color: var(--primary-deep); }
.button-gold:hover { background: #ffcbbb; }
.announcement { background: var(--primary-deep); color: #eeeafa; }
.header { background: #f8f8fdf0; border-color: var(--line); }
.brand-dot { color: #d97963; }
.brand small { color: #77738f; }

/* Shared service accents — intentionally cool/pink rather than sage and gold. */
.sage { background: #eae6fa; color: #6553a8; }
.peach { background: #ffe7e1; color: #b35f4b; }
.lavender { background: #e7eafb; color: #5965ad; }
.yellow { background: #f3e4f5; color: #98629e; }
.blue { background: #e3edfc; color: #537bac; }
.rose { background: #fbe5ee; color: #a85e7b; }

/* Landing page */
.hero { background: radial-gradient(ellipse at 12% 22%, #eeebfa 0, transparent 65%), radial-gradient(ellipse at 90% 65%, #fff0ed 0, transparent 55%), var(--cream); }
.hero-eyebrow > span { box-shadow: 0 0 0 4px #e6e0f7; }
.hero-copy > p { color: var(--muted); }
.avatar-stack > span { background: #eae5fa; }
.stars { color: #c86952; }
.hero-photo-frame { background: #ded9f0; }
.photo-shade { background: linear-gradient(180deg, #29245c00 40%, #29245ccc 100%); }
.hero-photo-caption > span { color: #f1e9fa; }
.floating-trust { border-color: #edeaf6; box-shadow: 0 8px 25px #3b328c12; }
.trust-icon { background: #eeebfa; color: #6955b1; }
.floating-message { box-shadow: 0 8px 25px #3b328c20; }
.message-avatar { background: #ffe8e0; color: #b2604d; }
.message-heart { color: #d17b67; }
.hero-decoration { color: #d6816c; }
.decor-two { color: #8172c8; }
.search-panel > form { border-color: #e2ddef; box-shadow: 0 10px 30px #3b328c08; }
.search-field > .icon { color: #897ba9; }
.search-field input, .search-field select { color: #77728c; }
.search-field input::placeholder { color: #807b93; }
.popular a { border-color: #d6cfea; color: #716789; }
.trust-strip > span { color: #746a8a; }
.trust-strip .icon { color: #8776b1; }
.category-card:hover { border-color: #b0a0df; box-shadow: 0 7px 20px #3b328c0d; }
.category-arrow { color: #a091bc; }
.help-inline > .icon { color: #9987b6; }
.featured-section { background: #efedfa; border-color: #e6e1f3; }
.advocate-card { border-color: var(--line); }
.advocate-card:hover { border-color: #b9a9e0; box-shadow: 0 6px 20px #3b328c0d; }
.verified { color: #6554ad; }
.advocate-details > span { color: #777087; }
.advocate-details .icon { color: #9a8db1; }
.advocate-tags span { background: #f1eef9; color: #817297; }
.advocate-rating .icon { fill: #c86952; stroke: #c86952; }
.availability { color: #6e5aa5; }
.availability i { background: #8d71cb; }
.availability.later { color: #b06554; }
.availability.later i { background: #d28b77; }
.advocate-bottom { border-color: #ebe7f5; }
.sample-label { color: #87809c; }
.step-number { color: #b6a8d4; }
.promise-section { background: #e9e4f7; }
.promise-grid > div > p { color: #7a708b; }
.promise-items .icon { color: #8e75b4; }
.promise-items p { color: #81728f; }
.guide-meta { color: #8a75a2; }
.guide-meta > small { color: #92889f; }
.guide-card:hover { box-shadow: 0 8px 25px #3b328c10; }
.join-banner { background: #f6e8ef; }
.join-symbol { border-color: #dcc6df; color: #a381a8; }
.faq-list summary > span { color: #a08ab4; }
.bottom-cta { background: var(--primary-deep); }
.bottom-cta .eyebrow { color: #cfbfe9; }
.bottom-cta h2 { color: #fbf8ff; }
.cta-small { color: #b9add1; }
.cta-ornament { color: #ffb8a560; }
.demo-note { color: #8d839e; }

/* Footer — the small Bangladesh flag retains its national colours. */
footer { background: #f0edf8; }
.made-in { color: #857994; }
.footer-top > div > a:not(.brand), .footer-link,
.footer-contact .footer-link, .footer-contact > span { color: #82768f; }
.footer-language { color: #95859d; }
.footer-bottom { border-color: #e1d9ee; color: #9586a2; }
.footer-bottom button { color: #867694; }
.demo-pill { background: #e9e2f5; color: #857097; }

/* Search and shared inner-page components */
.breadcrumb { color: #94829f; }
.breadcrumb a { color: #786094; }
.page-hero { background: #eeeafa; border-color: #e3dcf1; }
.empty-state > .icon { color: #a68abd; }
.field-note, .small-note { color: #94849e; }
.optional { color: #9b8aa4; }
.check-list li { color: #8a7398; }
.check-list .icon { color: #9776b0; }
.directory-search { border-color: #ded5ec; color: #9c83b2; }
.filter-title button { color: #9c7faf; }
.filter-label select { background: #fcfaff; border-color: #e7dff0; color: #877094; }
.checkbox-label { color: #816c90; }
.results-bar select { border-color: #e0d8ed; }
.directory-note { background: #f0eafa; color: #8c72a0; }

/* Advocate profiles */
.profile-mini span:last-child .icon { fill: #c86952; stroke: #c86952; }
.profile-tags span { background: #f0eafa; color: #8a6ba1; }
.credentials > div > .icon { color: #a385b7; }
.credentials small { color: #a394ac; }
.initial-avatar { background: #eee5f9; color: #9675ad; }
.profile-help { color: #b29ac0; }
.consultation-methods span { color: #9d83b0; }

/* Booking */
.form-section h2 > span { background: #ece3f7; color: #9874af; }
.method-option > span { background: #fdfbff; }
.method-option .icon { color: #a187b5; }
.method-option small { color: #a18bb1; }
.method-option input:checked + span { border-color: #8e71c4; background: #f0eafa; box-shadow: 0 0 0 1px #8e71c4; }
.date-option, .time-option { background: #fdfbff; }
.date-option small, .date-option > span { color: #a088b1; }
.date-option strong { color: #8a63a5; }
.date-option.selected { background: var(--primary); border-color: var(--primary); }
.date-option.selected small, .date-option.selected > span { color: #d1c5ef; }
.time-option { color: #8969a1; }
.booking-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
.booking-form textarea, .join-form input:not([type=checkbox]), .join-form select { border-color: #e5dcef; background: #fefcff; }
.booking-form input::placeholder, .booking-form textarea::placeholder,
.join-form input::placeholder { color: #ab97b7; }
.summary-line > span { color: #9e82b0; }
.summary-disclaimer { background: #f0eafa; color: #9674aa; }

/* Workspace, applications and informational content */
.workspace-role { background: #efe7fa; border-color: #e6d9f2; }
.workspace-role > span { color: #9877a9; }
.workspace-role > small { color: #a88bb7; }
.segmented { background: #e8dcf4; }
.segmented > button { color: #a183b2; }
.segmented > button.selected { box-shadow: 0 1px 5px #3b328c12; }
.workspace-stats .icon { background: #f0eafa; color: #a082b7; }
.workspace-stats span { color: #a18bb1; }
.workspace-stats small { color: #ab94b8; }
.empty-icon { background: #efe7fa; color: #ac88c3; }
.workspace-tip { border-color: #e4d6f0; }
.tip-icon { background: #e3d5f3; color: #a479b9; }
.appointment-date { background: #eee4f9; }
.appointment-date strong { color: #9970b6; }
.appointment-date span, .appointment-info > span { color: #ad91bf; }
.status-pending { background: #fff0ea; color: #a55b48; }
.status-confirmed { background: #eae5fa; color: #7655aa; }
.status-cancelled { background: #fce5ee; color: #b25f80; }
.cancel-link { color: #b07c97; }
.resource-note, .article-disclaimer { background: #efe7fa; color: #a183b7; }
.article-points li { color: #806591; }

/* Dialogs and feedback */
.modal-backdrop { background: #25204499; }
.modal { box-shadow: 0 20px 90px #3b328c30; }
.modal-close { background: #eee5f9; color: #9878ac; }
.guided-options button:hover { border-color: #b794d0; }
.guided-options button > .icon { color: #ac8abf; }
.modal-notice { background: #eee3f9; color: #9d7ab1; }
.success-icon { background: #eae0f8; color: #9871b0; }
.success-booking { border-color: #e4d8f1; background: #f0eafa; }
.success-booking span { color: #9a77ad; }
.modal-detail small { color: #a08bb0; }
#toast { box-shadow: 0 10px 40px #3b328c25; }

@media (max-width: 700px) {
  .nav nav { box-shadow: 0 10px 18px #3b328c12; }
  .footer-contact { border-color: #e1d8ef; }
}
