@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

/* ============================================================
   RATECREST — Custom Design System v5 (Clean)
   All colours use CSS variables — editable in Admin > Colors
   Primary   = --primary_color   (#3a43d1)
   Secondary = --secondary_color (#15006d)
   Third     = --third_color     (#5be6c9)
   Scopes:
     body.business-home = business section pages
     body.contact-page  = consumer contact page
   ============================================================ */

/* == GLOBAL ================================================== */

body, p, a, span, div, input, button, textarea, select, label, td, th, li {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    letter-spacing: -0.02em;
}
body { padding-top: 0 !important; }
.section-title span::before { display: none !important; }
.section-title { font-weight: 600 !important; }
.section { padding-block: 80px; }
.section-header { margin-bottom: 48px; }
.section-text { color: rgb(var(--text_muted_color)); font-size: 1.0625rem; line-height: 1.7; }
body:not(.business-home) .section-title,
body:not(.business-home) .custom-title { color: inherit !important; }

.btn { font-family: 'Plus Jakarta Sans', sans-serif !important; font-weight: 600 !important; border-radius: 8px !important; transition: all 0.2s ease !important; }
.btn-primary { background: rgb(var(--primary_color)) !important; border-color: rgb(var(--primary_color)) !important; box-shadow: 0 4px 14px rgba(var(--primary_color), 0.25) !important; }
.btn-primary:hover { filter: brightness(0.9) !important; transform: translateY(-1px) !important; }
.btn-lg { padding: 13px 28px !important; font-size: 1rem !important; }
.btn-md { padding: 10px 22px !important; font-size: 0.9375rem !important; }

.form-control, .form-select { border-radius: 10px !important; border: 1.5px solid rgb(var(--border_color)) !important; font-family: 'Plus Jakarta Sans', sans-serif !important; font-size: 0.9375rem !important; padding: 10px 14px !important; }
.form-control:focus, .form-select:focus { border-color: rgb(var(--primary_color)) !important; box-shadow: 0 0 0 3px rgba(var(--primary_color), 0.12) !important; }
.form-label { font-weight: 600 !important; font-size: 0.875rem !important; margin-bottom: 6px !important; }

.feat.box { border-radius: 16px !important; padding: 32px !important; border: 1px solid rgb(var(--border_color)) !important; transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important; height: 100%; }
.feat.box:hover { border-color: rgb(var(--primary_color)) !important; transform: translateY(-4px) !important; box-shadow: 0 20px 48px rgba(var(--primary_color), 0.12) !important; }
.feat-title { font-size: 1.0625rem !important; font-weight: 700 !important; margin-bottom: 10px; }
.feat-text { color: rgb(var(--text_muted_color)); font-size: 0.9375rem !important; line-height: 1.65; }

.item.box { border-radius: 14px !important; border: 1px solid rgb(var(--border_color)) !important; transition: all 0.25s cubic-bezier(0.4,0,0.2,1) !important; }
.item.box:hover { border-color: rgba(var(--primary_color), 0.3) !important; box-shadow: 0 12px 32px rgba(var(--primary_color), 0.1) !important; transform: translateY(-2px) !important; }
.item-title { font-weight: 700 !important; font-size: 0.9375rem !important; }
.item-img img { width: 52px !important; height: 52px !important; object-fit: cover !important; border-radius: 10px !important; }

.plan.box { border-radius: 18px !important; border: 1.5px solid rgb(var(--border_color)) !important; padding: 36px !important; transition: all 0.3s ease !important; }
.plan.box:hover { border-color: rgb(var(--primary_color)) !important; box-shadow: 0 20px 48px rgba(var(--primary_color), 0.12) !important; transform: translateY(-4px) !important; }
.plan.featured { border-color: rgb(var(--primary_color)) !important; box-shadow: 0 20px 48px rgba(var(--primary_color), 0.15) !important; }
.plan-title { font-size: 1.0625rem !important; font-weight: 600 !important; color: rgb(var(--text_muted_color)) !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; }
.plan-price p { font-size: 3rem !important; font-weight: 800 !important; letter-spacing: -0.03em !important; color: rgb(var(--secondary_color)) !important; }
.plan-price span { font-size: 1rem !important; font-weight: 500 !important; }
.feat-item { padding: 8px 0 !important; border-bottom: 1px solid rgb(var(--border_color)) !important; }
.feat-item:last-child { border-bottom: none !important; }

.plan-switcher { background: rgb(var(--inner_background_color)) !important; border-radius: 12px !important; padding: 6px !important; display: inline-flex !important; gap: 4px; margin-bottom: 40px; }
.plan-switcher .btn { border-radius: 8px !important; padding: 8px 24px !important; font-size: 0.9rem !important; background: transparent !important; border: none !important; color: rgb(var(--text_muted_color)) !important; font-weight: 600 !important; box-shadow: none !important; }
.plan-switcher .btn.active { background: rgb(var(--elements_background_color)) !important; color: rgb(var(--primary_color)) !important; box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important; }

.sign-title { font-size: 1.875rem !important; font-weight: 800 !important; color: rgb(var(--secondary_color)) !important; letter-spacing: -0.02em !important; }
.sign-text { color: rgb(var(--text_muted_color)) !important; font-size: 0.9375rem !important; }

.bg-custom3,
.box.bg-custom3 { background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, rgb(var(--primary_color)) 100%) !important; color: white; border: none !important; }
.bg-custom3 h1, .bg-custom3 h2, .bg-custom3 h3, .bg-custom3 h4, .bg-custom3 h5, .bg-custom3 h6 { color: white !important; }
.bg-custom3 p { color: rgba(255,255,255,0.75) !important; }
.bg-custom3 .btn-primary { background: rgb(var(--third_color)) !important; border-color: rgb(var(--third_color)) !important; color: rgb(var(--secondary_color)) !important; font-weight: 700; padding: 12px 32px; border-radius: 10px; }
.bg-custom3 .btn-secondary { background: rgb(var(--third_color)) !important; border-color: rgb(var(--third_color)) !important; color: rgb(var(--secondary_color)) !important; font-weight: 700 !important; padding: 12px 32px !important; border-radius: 50px !important; }

.fas, .fa-solid   { font-family: "Font Awesome 6 Free" !important;   font-weight: 900 !important; }
.far, .fa-regular { font-family: "Font Awesome 6 Free" !important;   font-weight: 400 !important; }
.fab, .fa-brands  { font-family: "Font Awesome 6 Brands" !important; font-weight: 400 !important; }
[class^="fa-"], [class*=" fa-"] { display: inline-block !important; }

.footer .footer-subscribe .form-control,
.footer .footer-subscribe .form-control-lg { border: 1.5px solid rgba(255,255,255,0.28) !important; background-color: rgba(255,255,255,0.06) !important; color: #ffffff !important; border-radius: 8px !important; }
.footer .footer-subscribe .form-control::placeholder,
.footer .footer-subscribe .form-control-lg::placeholder { color: rgba(255,255,255,0.40) !important; }
.footer .footer-subscribe .form-control:focus,
.footer .footer-subscribe .form-control-lg:focus { border-color: rgba(255,255,255,0.55) !important; box-shadow: none !important; background-color: rgba(255,255,255,0.10) !important; }

.header.header-image.dark-header { min-height: 560px !important; display: flex; align-items: center; position: relative; overflow: hidden; }
.header.header-image.dark-header::before { content: ''; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(var(--secondary_color), 0.88) 0%, rgba(26,8,128,0.82) 50%, rgba(var(--primary_color), 0.75) 100%); pointer-events: none; z-index: 0; }
.header.header-image.dark-header > .container,
.header.header-image.dark-header > * { position: relative; z-index: 1; }
.header.header-image.dark-header .header-title { font-size: clamp(2.5rem, 5vw, 4rem) !important; font-weight: 800 !important; color: white !important; letter-spacing: -0.03em !important; line-height: 1.1 !important; margin-bottom: 20px !important; }
.header.header-image.dark-header .header-text { color: rgba(255,255,255,0.80) !important; font-size: 1.125rem !important; line-height: 1.7 !important; margin-bottom: 32px !important; }
.header.header-image.dark-header .search-input { background: white !important; border-radius: 50px !important; box-shadow: 0 8px 32px rgba(0,0,0,0.2) !important; border: none !important; padding: 6px 6px 6px 20px !important; }
.header.header-image.dark-header .search-input input { border: none !important; box-shadow: none !important; font-size: 1rem !important; background: transparent !important; }
.header.header-image.dark-header .search-input button { background: rgb(var(--primary_color)) !important; border-radius: 50px !important; width: 48px !important; height: 48px !important; color: white !important; border: none !important; }

/* == SHARED: DARK PAGE HERO ================================== */

.business-home .pricing-hero,
.contact-page .pricing-hero,
.contact-page .contact-hero {
    background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, #1e0a8f 50%, rgb(var(--primary_color)) 100%);
    position: relative; overflow: hidden;
}
.business-home .pricing-hero { padding: 64px 0 48px; }
.contact-page .pricing-hero,
.contact-page .contact-hero { padding: 100px 0 48px; }
.business-home .pricing-hero::before,
.contact-page .pricing-hero::before,
.contact-page .contact-hero::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px); background-size: 28px 28px; pointer-events: none; }
.business-home .pricing-hero .container,
.contact-page .pricing-hero .container,
.contact-page .contact-hero .container { position: relative; z-index: 1; }
.business-home .pricing-hero-title,
.contact-page .pricing-hero-title,
.contact-page .contact-hero h1 { font-size: clamp(1.75rem, 3.5vw, 2.75rem) !important; font-weight: 800 !important; color: #ffffff !important; letter-spacing: -0.03em !important; margin-bottom: 16px !important; line-height: 1.15 !important; }
.business-home .pricing-hero-text,
.contact-page .pricing-hero-text,
.contact-page .contact-hero p { font-size: 1.05rem; color: rgba(255,255,255,0.75) !important; max-width: 540px; margin: 0 auto 32px; line-height: 1.7; }
.business-home .hiw-eyebrow,
.contact-page .hiw-eyebrow { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgb(var(--third_color)); margin-bottom: 10px; display: block; }

/* == SHARED: CTA SECTION ===================================== */

.business-home .cta-section,
.contact-page .cta-section,
.consumer-home .cta-section { background: transparent; padding: 0 !important; margin-bottom: 0 !important; }
.business-home .cta-section--full .cta-card,
.contact-page .cta-section--full .cta-card,
.consumer-home .cta-section--full .cta-card { border-radius: 0 !important; padding: 72px 40px !important; }
.business-home .cta-card,
.contact-page .cta-card,
.consumer-home .cta-card { background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, #1e0a8f 50%, rgb(var(--primary_color)) 100%); text-align: center; position: relative; overflow: hidden; }
.business-home .cta-card-decoration,
.contact-page .cta-card-decoration,
.consumer-home .cta-card-decoration { position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(var(--third_color), 0.15) 0%, transparent 70%); pointer-events: none; }
.business-home .cta-card-body,
.contact-page .cta-card-body,
.consumer-home .cta-card-body { position: relative; z-index: 1; }
.business-home .cta-title,
.contact-page .cta-title,
.consumer-home .cta-title { font-size: clamp(1.75rem, 3vw, 2.5rem) !important; font-weight: 800 !important; color: #ffffff !important; margin-bottom: 16px !important; }
.business-home .cta-text,
.contact-page .cta-text { font-size: 1.05rem; color: rgba(255,255,255,0.75); line-height: 1.7; max-width: 540px; margin: 0 auto 32px; }
.business-home .cta-actions,
.contact-page .cta-actions { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; }
.business-home .cta-btn-primary,
.contact-page .cta-btn-primary,
.consumer-home .cta-btn-primary { background: rgb(var(--third_color)) !important; border-color: rgb(var(--third_color)) !important; color: rgb(var(--secondary_color)) !important; font-weight: 700 !important; border-radius: 50px !important; padding: 13px 30px !important; font-size: 0.95rem !important; box-shadow: 0 8px 24px rgba(var(--third_color), 0.35) !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; }
.business-home .cta-btn-primary:hover,
.contact-page .cta-btn-primary:hover,
.consumer-home .cta-btn-primary:hover { filter: brightness(0.92) !important; transform: translateY(-2px) !important; }
.business-home .cta-btn-ghost-white,
.contact-page .cta-btn-ghost-white,
.consumer-home .cta-btn-ghost-white { --bs-btn-bg: transparent; --bs-btn-border-color: rgba(255,255,255,0.5); --bs-btn-color: #ffffff; --bs-btn-hover-bg: rgba(255,255,255,0.12); --bs-btn-hover-border-color: #ffffff; background: transparent !important; border: 1.5px solid rgba(255,255,255,0.5) !important; color: #ffffff !important; font-weight: 600 !important; border-radius: 50px !important; padding: 13px 30px !important; font-size: 0.95rem !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; }
.business-home .cta-btn-ghost-white:hover,
.contact-page .cta-btn-ghost-white:hover,
.consumer-home .cta-btn-ghost-white:hover { background: rgba(255,255,255,0.12) !important; border-color: #ffffff !important; transform: translateY(-2px) !important; }
.business-home .cta-footnote,
.contact-page .cta-footnote { font-size: 0.78rem; color: rgba(255,255,255,0.45); margin: 0; }

/* == SHARED: CONTACT FORM =================================== */

.business-home .contact-page-section,
.contact-page .contact-page-section { padding: 56px 0 64px; background: rgb(var(--background_color)); }
.business-home .contact-form-card,
.contact-page .contact-form-card { background: rgb(var(--elements_background_color)); border: 1px solid rgb(var(--border_color)); border-radius: 20px; padding: 40px; }
.business-home .contact-form-title,
.contact-page .contact-form-title { font-size: 1.25rem !important; font-weight: 800 !important; color: rgb(var(--secondary_color)) !important; margin-bottom: 6px !important; }
.business-home .contact-form-sub,
.contact-page .contact-form-sub { font-size: 0.875rem; color: rgb(var(--text_muted_color)); margin-bottom: 28px; }
.business-home .contact-submit-btn,
.contact-page .contact-submit-btn { background: rgb(var(--primary_color)) !important; border-color: rgb(var(--primary_color)) !important; color: #ffffff !important; font-weight: 700 !important; border-radius: 50px !important; padding: 13px 32px !important; font-size: 0.95rem !important; }
.business-home .contact-submit-btn:hover,
.contact-page .contact-submit-btn:hover { filter: brightness(0.9) !important; transform: translateY(-1px) !important; }
.business-home .contact-info-stack,
.contact-page .contact-info-stack { display: flex; flex-direction: column; gap: 16px; }
.business-home .contact-info-card,
.contact-page .contact-info-card { display: flex; align-items: flex-start; gap: 16px; background: rgb(var(--elements_background_color)); border: 1px solid rgb(var(--border_color)); border-radius: 14px; padding: 20px 22px; transition: all 0.2s ease; }
.business-home .contact-info-card:hover,
.contact-page .contact-info-card:hover { border-color: rgb(var(--primary_color)); }
.business-home .contact-info-card--cta,
.contact-page .contact-info-card--cta { background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, #1e0a8f 100%) !important; border-color: transparent !important; flex-direction: column; }
.business-home .contact-info-icon,
.contact-page .contact-info-icon { width: 42px; height: 42px; min-width: 42px; background: linear-gradient(135deg, rgba(var(--primary_color), 0.10), rgba(var(--third_color), 0.10)); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: rgb(var(--primary_color)); font-size: 1rem; }
.business-home .contact-info-label,
.contact-page .contact-info-label { font-size: 0.75rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; color: rgb(var(--text_muted_color)) !important; margin-bottom: 4px !important; }
.business-home .contact-info-card--cta .contact-info-label,
.contact-page .contact-info-card--cta .contact-info-label { color: rgba(255,255,255,0.6) !important; }
.business-home .contact-info-value,
.contact-page .contact-info-value { font-size: 0.875rem; color: rgb(var(--text_color)); margin: 0; font-weight: 500; text-decoration: none; }
.business-home .contact-info-value:hover,
.contact-page .contact-info-value:hover { color: rgb(var(--primary_color)); }
.business-home .contact-info-card--cta .contact-info-value,
.contact-page .contact-info-card--cta .contact-info-value { color: rgba(255,255,255,0.75) !important; }
.business-home .contact-cta-btn,
.contact-page .contact-cta-btn { background: rgb(var(--third_color)) !important; border-color: rgb(var(--third_color)) !important; color: rgb(var(--secondary_color)) !important; font-weight: 700 !important; border-radius: 50px !important; padding: 10px 20px !important; font-size: 0.875rem !important; }
.business-home .contact-cta-btn:hover,
.contact-page .contact-cta-btn:hover { filter: brightness(0.92) !important; }

/* == BUSINESS SECTION (body.business-home) ================== */

.business-home .nav-bar.nav-bar-bg { background: rgb(var(--navbar_background_color)) !important; border-bottom: 1px solid rgba(255,255,255,0.08); padding: 0 !important; position: sticky; top: 0; z-index: 1000; min-height: 64px !important; }
.business-home .nav-bar .link .link-title span,
.business-home .nav-bar .drop-down-btn span { color: rgba(255,255,255,0.85) !important; font-size: 0.9rem; font-weight: 400; }
.business-home .nav-bar .link:hover .link-title span { color: rgb(var(--third_color)) !important; }
.business-home .nav-bar .btn-navbar-login { background: transparent !important; border: none !important; color: rgba(255,255,255,0.85) !important; font-weight: 400 !important; font-size: 0.9rem !important; }
.business-home .nav-bar .btn-navbar-login:hover { color: #ffffff !important; }
.business-home .nav-bar .btn-navbar-cta { background: transparent !important; border: 1.5px solid rgb(var(--third_color)) !important; color: rgb(var(--third_color)) !important; font-weight: 600 !important; border-radius: 50px !important; padding: 8px 22px !important; font-size: 0.875rem !important; transition: all 0.2s ease !important; }
.business-home .nav-bar .btn-navbar-cta:hover { background: rgb(var(--third_color)) !important; color: rgb(var(--secondary_color)) !important; }

.business-home .header.header-image.v2 { background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, #1e0a8f 40%, #2a1aa0 70%, rgb(var(--primary_color)) 100%) !important; min-height: 520px; display: flex; align-items: center; position: relative; overflow: hidden; }
.business-home .header.header-image.v2::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px); background-size: 28px 28px; pointer-events: none; z-index: 0; }
.business-home .header.header-image.v2::after { content: ''; position: absolute; top: -200px; right: -200px; width: 600px; height: 600px; background: radial-gradient(circle, rgba(var(--third_color), 0.12) 0%, transparent 70%); pointer-events: none; z-index: 0; }
.business-home .header.header-image.v2 .container,
.business-home .header.header-image.v2 .header-inner { position: relative; z-index: 1; }
.business-home .header.header-image.v2 .header-title { font-size: clamp(1.9rem, 3.8vw, 3rem) !important; font-weight: 800 !important; color: #ffffff !important; line-height: 1.1 !important; letter-spacing: -0.03em !important; margin-bottom: 24px !important; text-shadow: 0 2px 20px rgba(0,0,0,0.15); }
.business-home .header.header-image.v2 .header-text { color: rgba(255,255,255,0.78) !important; font-size: 1.125rem !important; line-height: 1.7 !important; max-width: 540px; margin-bottom: 40px !important; }
.business-home .header.header-image.v2 img { pointer-events: none !important; user-select: none !important; -webkit-user-drag: none !important; }
.business-home .header.header-image.v2 .btn-hero-demo { display: inline-flex !important; align-items: center !important; background: #ffffff !important; border: none !important; color: rgb(var(--secondary_color)) !important; font-weight: 700 !important; border-radius: 50px !important; padding: 13px 30px !important; font-size: 0.95rem !important; text-decoration: none !important; transition: all 0.2s ease !important; }
.business-home .header.header-image.v2 .btn-hero-demo:hover { background: #f0f0f0 !important; transform: translateY(-2px) !important; }
.business-home .header.header-image.v2 .btn-hero-cta { display: inline-flex !important; align-items: center !important; background: rgb(var(--third_color)) !important; border: none !important; color: rgb(var(--secondary_color)) !important; font-weight: 700 !important; border-radius: 50px !important; padding: 13px 30px !important; font-size: 0.95rem !important; text-decoration: none !important; box-shadow: 0 8px 24px rgba(var(--third_color), 0.35) !important; transition: all 0.2s ease !important; }
.business-home .header.header-image.v2 .btn-hero-cta:hover { filter: brightness(0.92) !important; transform: translateY(-2px) !important; }

.business-home .trusted-strip { background: rgb(var(--elements_background_color)); border-top: 1px solid rgb(var(--border_color)); border-bottom: 1px solid rgb(var(--border_color)); padding: 14px 0; overflow: hidden; }
.business-home .trusted-strip-inner { display: flex; align-items: center; gap: 0; overflow: hidden; }
.business-home .trusted-label-wrap { flex-shrink: 0; padding: 0 32px 0 16px; border-right: 1px solid rgb(var(--border_color)); }
.business-home .trusted-label { font-size: 0.78rem; font-weight: 700; color: rgb(var(--text_muted_color)); text-transform: uppercase; letter-spacing: 0.08em; white-space: nowrap; }
.business-home .trusted-marquee-outer { flex: 1; overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent); mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent); }
.business-home .trusted-marquee { display: flex; align-items: center; width: max-content; animation: rc-marquee 22s linear infinite; }
.business-home .trusted-marquee:hover { animation-play-state: paused; }
.business-home .trusted-marquee-item { font-size: 0.8rem; font-weight: 700; color: rgb(var(--inner_border_color)); padding: 0 28px; white-space: nowrap; transition: color 0.2s; letter-spacing: 0.02em; }
.business-home .trusted-marquee-item:hover { color: rgb(var(--primary_color)); }
@keyframes rc-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.business-home .section { padding-block: 56px; }

.business-home .how-it-works { background: rgb(var(--elements_background_color)); }
.business-home .hiw-card { background: rgb(var(--inner_background_color)); border: 1px solid rgb(var(--border_color)); border-radius: 16px; padding: 32px 28px; height: 100%; position: relative; transition: all 0.25s ease; }
.business-home .hiw-card:hover { border-color: rgb(var(--primary_color)); box-shadow: 0 12px 40px rgba(var(--primary_color), 0.10); transform: translateY(-3px); }
.business-home .hiw-card--accent { background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, rgb(var(--primary_color)) 100%); border-color: transparent; }
.business-home .hiw-card--accent .hiw-number,
.business-home .hiw-card--accent .hiw-title,
.business-home .hiw-card--accent .hiw-text { color: #ffffff !important; }
.business-home .hiw-card--accent .hiw-number { opacity: 0.4; }
.business-home .hiw-number { font-size: 2.5rem; font-weight: 900; color: rgb(var(--border_color)); line-height: 1; margin-bottom: 16px; }
.business-home .hiw-title { font-size: 1rem !important; font-weight: 700 !important; color: rgb(var(--secondary_color)) !important; margin-bottom: 10px !important; }
.business-home .hiw-text { font-size: 0.9rem; color: rgb(var(--text_muted_color)); line-height: 1.65; margin: 0; }

.business-home .features-section { background: rgb(var(--background_color)) !important; position: relative; overflow: hidden; }



.business-home .feat-row-card { display: flex; align-items: flex-start; gap: 18px; background: rgba(255,255,255,0.95); border: 1.5px solid rgba(255,255,255,0.90); border-radius: 14px; padding: 22px 24px; height: 100%; transition: all 0.25s ease; text-decoration: none !important; color: inherit !important; box-shadow: 0 4px 24px rgba(0,0,0,0.20); }


.business-home .feat-row-card:hover { border-color: rgb(var(--primary_color)); box-shadow: 0 8px 32px rgba(0,0,0,0.35); transform: translateY(-2px); }

.business-home .feat-row-icon { width: 44px; height: 44px; min-width: 44px; background: linear-gradient(135deg, rgba(var(--primary_color), 0.10), rgba(var(--third_color), 0.10)); border-radius: 10px; display: flex; align-items: center; justify-content: center; padding: 8px; }
.business-home .feat-row-icon img { width: 100%; height: 100%; object-fit: contain; }

.business-home .feat-row-body { flex: 1; }
.business-home .feat-row-title { font-size: 0.9375rem !important; font-weight: 700 !important; color: rgb(var(--secondary_color)) !important; margin-bottom: 5px !important; }
.business-home .feat-row-text { font-size: 0.875rem; color: rgb(var(--text_muted_color)); line-height: 1.6; margin: 0; }

.business-home .prem-intel-section { background: linear-gradient(160deg, rgb(var(--secondary_color)) 0%, #1a0880 60%, rgb(var(--primary_color)) 100%); }
.business-home .prem-intel-section .section-header { position: relative; z-index: 2; }
.business-home .prem-intel-section .hiw-eyebrow { color: rgb(var(--third_color)); }
.business-home .prem-intel-section .section-text { color: rgba(255,255,255,0.70) !important; }
.business-home .prem-intel-section h2.section-title { color: #ffffff !important; font-weight: 800 !important; }
.business-home .prem-card { display: flex; align-items: flex-start; gap: 18px; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: 16px; padding: 28px 24px; height: 100%; transition: all 0.25s ease; backdrop-filter: blur(8px); }
.business-home .prem-card:hover { background: rgba(255,255,255,0.12); border-color: rgba(var(--third_color), 0.5); transform: translateY(-3px); }
.business-home .prem-card-icon { width: 46px; height: 46px; min-width: 46px; background: rgba(var(--third_color), 0.15); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: rgb(var(--third_color)); font-size: 1.1rem; }
.business-home .prem-card-title { font-size: 0.9375rem !important; font-weight: 700 !important; color: #ffffff !important; margin-bottom: 8px !important; }
.business-home .prem-card-text { font-size: 0.875rem; color: rgba(255,255,255,0.68); line-height: 1.6; margin: 0; }
.business-home .prem-cta-row { text-align: center; margin-top: 48px; }
.business-home .prem-cta-btn { background: rgb(var(--third_color)) !important; border-color: rgb(var(--third_color)) !important; color: rgb(var(--secondary_color)) !important; font-weight: 700 !important; border-radius: 50px !important; padding: 13px 36px !important; font-size: 0.95rem !important; box-shadow: 0 8px 24px rgba(var(--third_color), 0.30) !important; }
.business-home .prem-cta-btn:hover { filter: brightness(0.92) !important; transform: translateY(-2px) !important; }
.business-home .prem-footnote { font-size: 0.78rem; color: rgba(255,255,255,0.40); margin-top: 12px; margin-bottom: 0; }

.business-home .biz-blog-section { background: rgb(var(--background_color)); }
.business-home .biz-blog-card { display: block; text-decoration: none !important; border-radius: 14px; overflow: hidden; border: 1px solid rgb(var(--border_color)); background: rgb(var(--elements_background_color)); transition: all 0.25s ease; height: 100%; }
.business-home .biz-blog-card:hover { border-color: rgb(var(--primary_color)); box-shadow: 0 12px 32px rgba(var(--primary_color), 0.10); transform: translateY(-3px); }
.business-home .biz-blog-img-wrap { width: 100%; height: 180px; overflow: hidden; }
.business-home .biz-blog-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.business-home .biz-blog-card:hover .biz-blog-img { transform: scale(1.04); }
.business-home .biz-blog-body { padding: 18px 20px; }
.business-home .biz-blog-title { font-size: 0.9375rem !important; font-weight: 700 !important; color: rgb(var(--secondary_color)) !important; line-height: 1.4 !important; margin: 0 !important; }
.business-home .biz-blog-read { display: inline-flex; align-items: center; gap: 4px; font-size: 0.8125rem; font-weight: 600; color: rgb(var(--primary_color)); margin-top: 10px; transition: gap 0.2s ease; }
.business-home .biz-blog-card:hover .biz-blog-read { gap: 8px; }

.business-home .section .section-title,
.business-home .section h4 { font-weight: 800 !important; color: rgb(var(--secondary_color)) !important; letter-spacing: -0.02em !important; }

.business-home .pricing-cards-section { padding: 40px 0 48px; background: rgb(var(--background_color)); }
.business-home .pricing-hero .form-check-input:checked { background-color: rgb(var(--third_color)) !important; border-color: rgb(var(--third_color)) !important; }
.business-home .pricing-hero #billingLabelMonthly,
.business-home .pricing-hero #billingLabelYearly { color: rgba(255,255,255,0.85); }

.business-home .plan-card-v2 { background: rgb(var(--elements_background_color)); border: 1.5px solid rgb(var(--border_color)); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 20px; position: relative; transition: all 0.25s ease; }
.business-home .plan-card-v2:hover { border-color: rgb(var(--primary_color)); box-shadow: 0 16px 40px rgba(var(--primary_color), 0.12); transform: translateY(-3px); }
.business-home .plan-card-v2--featured { border-color: rgb(var(--primary_color)) !important; box-shadow: 0 16px 40px rgba(var(--primary_color), 0.18) !important; background: linear-gradient(160deg, rgb(var(--secondary_color)) 0%, #1e0a8f 100%) !important; }
.business-home .plan-card-v2--featured .plan-card-v2-name { color: rgba(255,255,255,0.6) !important; }
.business-home .plan-card-v2--featured .plan-card-v2-amount,
.business-home .plan-card-v2--featured .plan-card-v2-period { color: #ffffff !important; }
.business-home .plan-card-v2--featured .plan-feat-item { border-color: rgba(255,255,255,0.08) !important; color: rgba(255,255,255,0.85) !important; }
.business-home .plan-card-v2--featured .plan-feat-icon--yes { color: rgb(var(--third_color)) !important; }
.business-home .plan-card-v2--featured .plan-feat-icon--no { color: rgba(255,255,255,0.25) !important; }
.business-home .plan-card-v2--featured .plan-feat-item--disabled { opacity: 0.45; }
.business-home .plan-card-v2--featured .plan-card-v2-features { border-color: rgba(255,255,255,0.12) !important; }
.business-home .plan-card-v2--featured .plan-card-v2-savings { color: rgba(255,255,255,0.80) !important; }
.business-home .plan-card-v2--featured .plan-savings-label--light { color: rgba(255,255,255,0.80) !important; }
.business-home .plan-card-v2:last-child:not(.plan-card-v2--featured) { border-color: rgb(var(--secondary_color)) !important; background: rgba(var(--secondary_color), 0.03) !important; }
.business-home .plan-card-v2:last-child:not(.plan-card-v2--featured) .plan-card-v2-name { color: rgb(var(--secondary_color)) !important; }
.business-home .plan-badge-v2 { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: rgb(var(--third_color)); color: rgb(var(--secondary_color)); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 4px 14px; border-radius: 50px; white-space: nowrap; }
.business-home .plan-card-v2-header { display: flex; flex-direction: column; flex-shrink: 0; min-height: 200px; }
.business-home .plan-card-v2-name { font-size: 0.8rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; color: rgb(var(--text_muted_color)) !important; margin-bottom: 6px !important; }
.business-home .plan-card-v2-price { display: flex; align-items: baseline; gap: 4px; margin-bottom: 4px; }
.business-home .plan-card-v2-amount { font-size: 2rem !important; font-weight: 800 !important; letter-spacing: -0.03em !important; color: rgb(var(--secondary_color)) !important; line-height: 1 !important; }
.business-home .plan-card-v2--free .plan-card-v2-amount { font-size: 1.5rem !important; }
.business-home .plan-card-v2-period { font-size: 0.8125rem; color: rgb(var(--text_muted_color)); font-weight: 500; }
.business-home .plan-card-v2-savings { font-size: 0.78rem; }
.business-home .plan-card-v2-savings--spacer { visibility: hidden; font-size: 0.78rem; line-height: 1.4; }
.business-home .plan-card-v2-tagline { display: inline-block !important; font-size: 0.72rem !important; font-weight: 600 !important; color: rgb(var(--primary_color)) !important; background: rgba(var(--primary_color), 0.08) !important; border: 1px solid rgba(var(--primary_color), 0.15) !important; border-radius: 50px !important; padding: 3px 10px !important; margin-top: 6px !important; margin-bottom: 0 !important; line-height: 1.5 !important; }
.business-home .plan-card-v2--featured .plan-card-v2-tagline { color: rgb(var(--third_color)) !important; background: rgba(var(--third_color), 0.12) !important; border-color: rgba(var(--third_color), 0.25) !important; }
.business-home .plan-card-v2-cta { flex-shrink: 0; }
.business-home .plan-card-v2-btn { background: rgb(var(--primary_color)) !important; border-color: rgb(var(--primary_color)) !important; color: #ffffff !important; font-weight: 700 !important; border-radius: 50px !important; padding: 10px 20px !important; font-size: 0.875rem !important; transition: all 0.2s ease !important; }
.business-home .plan-card-v2-btn:hover { filter: brightness(0.9) !important; transform: translateY(-1px) !important; }
.business-home .plan-card-v2-btn--danger { background: #dc3545 !important; border-color: #dc3545 !important; }
.business-home .plan-card-v2--featured .plan-card-v2-btn { background: rgb(var(--third_color)) !important; border-color: rgb(var(--third_color)) !important; color: rgb(var(--secondary_color)) !important; }
.business-home .plan-card-v2--free .plan-card-v2-btn { background: transparent !important; border: 1.5px solid rgb(var(--primary_color)) !important; color: rgb(var(--primary_color)) !important; }
.business-home .plan-card-v2--free .plan-card-v2-btn:hover { background: rgb(var(--primary_color)) !important; color: #ffffff !important; }
.business-home .plan-card-v2-features { flex: 1; display: flex; flex-direction: column; gap: 0; border-top: 1px solid rgb(var(--border_color)); padding-top: 16px; }
.business-home .plan-feat-item { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: 0.8125rem; color: rgb(var(--text_color)); border-bottom: 1px solid rgb(var(--border_color)); }
.business-home .plan-feat-item:last-child { border-bottom: none; }
.business-home .plan-feat-item--disabled { opacity: 0.35; }
.business-home .plan-feat-icon { font-size: 0.75rem; flex-shrink: 0; }
.business-home .plan-feat-icon--yes { color: rgb(var(--primary_color)); }
.business-home .plan-feat-icon--no { color: rgb(var(--text_muted_color)); }

.business-home .pricing-faq-section { padding: 64px 0; background: rgb(var(--elements_background_color)); }
.business-home .pricing-faq-title { font-size: clamp(1.5rem, 2.5vw, 2rem) !important; font-weight: 800 !important; color: rgb(var(--secondary_color)) !important; margin-bottom: 40px !important; }
.business-home .pricing-accordion-item { border: 1px solid rgb(var(--border_color)) !important; border-radius: 10px !important; margin-bottom: 8px !important; overflow: hidden; }

.business-home .faq-page-section { padding: 56px 0 0; background: rgb(var(--background_color)); }
.business-home .faq-category { margin-bottom: 48px; }
.business-home .faq-category-title { font-size: 1rem !important; font-weight: 700 !important; color: rgb(var(--secondary_color)) !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; margin-bottom: 16px !important; padding-bottom: 12px !important; border-bottom: 2px solid rgb(var(--primary_color)) !important; }
.business-home .faq-category-title i { color: rgb(var(--primary_color)); }
.business-home .faq-contact-box { display: flex; align-items: center; gap: 20px; background: rgb(var(--elements_background_color)); border: 1px solid rgb(var(--border_color)); border-radius: 16px; padding: 24px 28px; margin-bottom: 48px; flex-wrap: wrap; }
.business-home .faq-contact-icon { width: 52px; height: 52px; min-width: 52px; background: linear-gradient(135deg, rgba(var(--primary_color), 0.10), rgba(var(--third_color), 0.10)); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: rgb(var(--primary_color)); font-size: 1.3rem; }
.business-home .faq-contact-title { font-size: 0.9375rem !important; font-weight: 700 !important; color: rgb(var(--secondary_color)) !important; margin-bottom: 4px !important; }
.business-home .faq-contact-text { font-size: 0.8125rem; color: rgb(var(--text_muted_color)); margin: 0; }
.business-home .faq-contact-btn { background: rgb(var(--primary_color)) !important; color: #ffffff !important; font-weight: 700 !important; border-radius: 50px !important; padding: 10px 24px !important; font-size: 0.875rem !important; white-space: nowrap; margin-left: auto; }
.business-home .faq-contact-btn:hover { filter: brightness(0.9) !important; }

/* == RESPONSIVE ============================================== */

@media (max-width: 991px) {
    .business-home .plan-card-v2-amount { font-size: 1.75rem !important; }
    .business-home .pricing-hero { padding: 48px 0 32px; }
}
@media (max-width: 768px) {
    .section { padding-block: 56px; }
    .section-title { font-size: 1.625rem; }
    .plan.box { padding: 24px !important; }
    .business-home .section { padding-block: 40px; }
    .business-home .trusted-strip-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
    .business-home .cta-section--full .cta-card,
    .contact-page .cta-section--full .cta-card { padding: 40px 24px !important; }
    .business-home .hiw-card { padding: 24px 20px; }
    .business-home .feat-row-card { padding: 18px; }
    .business-home .biz-blog-img-wrap { height: 160px; }
    .business-home .prem-card { padding: 20px 18px; }
    .business-home .prem-cta-row { margin-top: 32px; }
    .business-home .pricing-cards-section { padding: 24px 0 32px; }
    .business-home .contact-form-card,
    .contact-page .contact-form-card { padding: 24px; }
    .business-home .faq-contact-box { flex-direction: column; align-items: flex-start; }
    .business-home .faq-contact-btn { margin-left: 0; width: 100%; text-align: center; }
}
@media (max-width: 480px) {
    .btn-lg { padding: 12px 22px !important; font-size: 0.9375rem !important; }
}

/* == CONTENT PAGES (body.content-page) ====================== */

.content-page-hero {
    background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, #1e0a8f 50%, rgb(var(--primary_color)) 100%);
    padding: 120px 0 56px;
    position: relative; overflow: hidden;
}
.content-page-hero::before {
    content: ''; position: absolute; inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 28px 28px; pointer-events: none;
}
.content-page-hero .container { position: relative; z-index: 1; }
.content-page-title {
    font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
    font-weight: 800 !important; color: #ffffff !important;
    letter-spacing: -0.02em !important; margin-bottom: 12px !important;
}
.content-page-hero .breadcrumb-item,
.content-page-hero .breadcrumb-item a,
.content-page-hero .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.55) !important; }
.content-page-hero .breadcrumb-item.active { color: rgba(255,255,255,0.80) !important; }

.content-page-body { padding: 48px 0 64px; background: rgb(var(--background_color)); }
.content-page-card {
    background: rgb(var(--elements_background_color));
    border: 1px solid rgb(var(--border_color));
    border-radius: 16px; padding: 48px;
}
.content-page-card h1,
.content-page-card h2,
.content-page-card h3,
.content-page-card h4 { color: rgb(var(--secondary_color)); font-weight: 700; margin-top: 32px; margin-bottom: 12px; }
.content-page-card h1 { font-size: 1.5rem; }
.content-page-card h2 { font-size: 1.25rem; }
.content-page-card h3 { font-size: 1.0625rem; }
.content-page-card p { color: rgb(var(--text_color)); line-height: 1.8; margin-bottom: 16px; }
.content-page-card a { color: rgb(var(--primary_color)); }
.content-page-card a:hover { color: rgb(var(--secondary_color)); }
.content-page-card ul, .content-page-card ol { padding-left: 24px; margin-bottom: 16px; }
.content-page-card li { color: rgb(var(--text_color)); line-height: 1.8; margin-bottom: 6px; }
.content-page-card strong { color: rgb(var(--secondary_color)); }
.content-page-card hr { border-color: rgb(var(--border_color)); margin: 24px 0; }

@media (max-width: 768px) {
    .content-page-card { padding: 24px; }
    .content-page-hero { padding: 56px 0 32px; }
}

/* == CONSUMER HOMEPAGE (body.consumer-home) ================= */

/* ── CATEGORIES ──────────────────────────────────────────────── */
.consumer-home .home-category {
    display: flex; flex-direction: column; align-items: center;
    gap: 10px; text-decoration: none !important;
    padding: 12px 8px; border-radius: 14px;
    border: none; background: transparent;
    transition: all 0.22s ease;
}
.consumer-home .home-category:hover .home-category-icon {
    box-shadow: 0 8px 24px rgba(var(--primary_color), 0.18);
    transform: translateY(-2px);
}
.consumer-home .home-category:hover .home-category-title {
    color: rgb(var(--primary_color)) !important;
}
.consumer-home .home-category-icon {
    width: 64px !important; height: 64px !important;
    min-width: 64px;
    background: linear-gradient(135deg, rgba(var(--primary_color), 0.10), rgba(var(--third_color), 0.08));
    border-radius: 50% !important;
    display: flex; align-items: center; justify-content: center;
    padding: 14px; transition: all 0.22s ease;
}
.consumer-home .home-category-icon img {
    width: 100% !important; height: 100% !important;
    object-fit: contain;
}
.consumer-home .home-category-title {
    font-size: 0.78rem !important; font-weight: 400 !important;
    color: rgb(var(--text_color)) !important;
    text-align: center; margin: 0 !important; line-height: 1.3;
    transition: color 0.2s ease;
}

/* ── REVIEW CARDS ────────────────────────────────────────────── */
.consumer-home .review.box {
    display: flex !important; flex-direction: column !important;
    gap: 16px !important; padding: 26px !important;
    border-radius: 14px !important;
    border: 1px solid rgb(var(--border_color)) !important;
    background: rgb(var(--elements_background_color)) !important;
    text-decoration: none !important; height: 100%;
    transition: all 0.22s ease !important;
}
.consumer-home .review.box:hover {
    border-color: rgb(var(--primary_color)) !important;
    box-shadow: 0 8px 24px rgba(var(--primary_color), 0.09) !important;
    transform: translateY(-2px) !important;
}
.consumer-home .review-author {
    display: flex; align-items: center; gap: 10px;
}
.consumer-home .review-author-img img {
    width: 46px !important; height: 46px !important;
    border-radius: 50% !important; object-fit: cover;
}
.consumer-home .review-author-title {
    font-size: 0.875rem !important; font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important; margin: 0 !important;
}
.consumer-home .review-author .ratings img {
    height: 14px !important;
}
.consumer-home .review-text {
    font-size: 0.875rem !important; color: rgb(var(--text_color)) !important;
    line-height: 1.65 !important; margin: 0 !important;
    display: -webkit-box; -webkit-line-clamp: 4;
    -webkit-box-orient: vertical; overflow: hidden;
}
.consumer-home .review-item {
    margin-top: auto; padding-top: 10px;
    border-top: 1px solid rgb(var(--border_color));
}
.consumer-home .review-item .item-img img {
    width: 28px !important; height: 28px !important;
    border-radius: 6px !important; object-fit: cover;
}
.consumer-home .review-item .item-title {
    font-size: 0.75rem !important; font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important; margin: 0 !important;
}
.consumer-home .review-item .item-link {
    font-size: 0.7rem !important;
}

/* ── BLOG CARDS ──────────────────────────────────────────────── */
.consumer-home .blog-post {
    display: block; text-decoration: none !important;
    border-radius: 14px; overflow: hidden;
    border: 1px solid rgb(var(--border_color));
    background: rgb(var(--elements_background_color));
    transition: all 0.25s ease; height: 100%;
}
.consumer-home .blog-post:hover {
    border-color: rgb(var(--primary_color));
    box-shadow: 0 12px 32px rgba(var(--primary_color), 0.10);
    transform: translateY(-3px);
}
.consumer-home .blog-post-header { overflow: hidden; height: 200px; }
.consumer-home .blog-post-img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.4s ease; display: block;
}
.consumer-home .blog-post:hover .blog-post-img { transform: scale(1.04); }
.consumer-home .blog-post-body { padding: 18px 20px; }
.consumer-home .blog-post-meta { display: none; }
.consumer-home .blog-post-title {
    font-size: 0.9375rem !important; font-weight: 700 !important;
    margin-bottom: 10px !important; line-height: 1.4 !important;
}
.consumer-home .blog-post-title a {
    color: rgb(var(--secondary_color)) !important; text-decoration: none !important;
}
.consumer-home .blog-post-title a:hover { color: rgb(var(--primary_color)) !important; }
.consumer-home .blog-post-text {
    font-size: 0.8125rem !important; color: rgb(var(--text_muted_color)) !important;
    line-height: 1.6; display: none;
}
.consumer-home .blog-post-text a {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 0.8125rem; font-weight: 600;
    color: rgb(var(--primary_color)) !important;
    text-decoration: none !important; margin-top: 10px;
    display: block;
}
.consumer-home .blog-post:hover .blog-post-text a { gap: 8px; }

/* ── FAQ SECTION ─────────────────────────────────────────────── */
.consumer-home .accordion-custom .accordion-item {
    border: 1px solid rgb(var(--border_color)) !important;
    border-radius: 10px !important;
    margin-bottom: 8px !important;
    overflow: hidden;
}
.consumer-home .accordion-custom .accordion-button {
    font-weight: 600 !important;
    font-size: 0.9375rem !important;
    color: rgb(var(--secondary_color)) !important;
    background: rgb(var(--elements_background_color)) !important;
}
.consumer-home .accordion-custom .accordion-button:not(.collapsed) {
    color: rgb(var(--primary_color)) !important;
    background: rgb(var(--elements_background_color)) !important;
    box-shadow: none !important;
}
.consumer-home .accordion-body {
    font-size: 0.9rem !important;
    color: rgb(var(--text_muted_color)) !important;
    line-height: 1.7;
}

/* ── SECTION TITLES ──────────────────────────────────────────── */
.consumer-home .section-title.custom-title {
    font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
    font-weight: 800 !important;
    color: rgb(var(--secondary_color)) !important;
}

/* == CONSUMER HOME: section rhythm & backgrounds ============ */

/* Reduce section padding on consumer homepage */
.consumer-home .section { padding-block: 56px !important; }

/* Alternate section backgrounds for visual rhythm */
.consumer-home .section:nth-child(odd) {
    background: rgb(var(--background_color));
}
.consumer-home .section:nth-child(even) {
    background: rgb(var(--elements_background_color));
}

/* Ensure section titles stay consistent across backgrounds */
.consumer-home .section .section-title,
.consumer-home .section .custom-title {
    color: rgb(var(--secondary_color)) !important;
}

/* == USER DASHBOARD (body.user-dashboard) =================== */

/* ── PROFILE HERO ────────────────────────────────────────────── */
.user-dashboard .user-profile-hero {
    background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, #1e0a8f 50%, rgb(var(--primary_color)) 100%);
    padding: 40px 0 32px;
    position: relative; overflow: hidden;
}
.user-dashboard .user-profile-hero::before {
    content: ''; position: absolute; inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 28px 28px; pointer-events: none;
}
.user-dashboard .user-profile-hero-inner {
    position: relative; z-index: 1;
    display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
}
.user-dashboard .user-avatar-wrap {
    position: relative; flex-shrink: 0;
}
.user-dashboard .user-avatar-img {
    width: 80px; height: 80px; border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(255,255,255,0.3);
}
.user-dashboard .user-verified-badge {
    position: absolute; bottom: 2px; right: 2px;
    background: rgb(var(--third_color)); color: rgb(var(--secondary_color));
    border-radius: 50%; width: 22px; height: 22px;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.75rem;
}
.user-dashboard .user-profile-name {
    font-size: 1.5rem !important; font-weight: 800 !important;
    color: #ffffff !important; margin: 0 !important; letter-spacing: -0.02em;
}
.user-dashboard .user-profile-meta {
    display: flex; align-items: center; gap: 16px;
    margin-top: 6px; flex-wrap: wrap;
}
.user-dashboard .user-meta-item {
    font-size: 0.8125rem; color: rgba(255,255,255,0.70);
    text-decoration: none; display: flex; align-items: center; gap: 6px;
}
.user-dashboard .user-meta-item:hover { color: rgba(255,255,255,0.90); }

/* ── PROFILE NUDGE ───────────────────────────────────────────── */
.user-dashboard .user-profile-nudge {
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border-bottom: 1px solid #fde68a; padding: 12px 0;
}
.user-dashboard .user-nudge-inner {
    display: flex; align-items: center;
    justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.user-dashboard .user-nudge-icon { font-size: 1.25rem; color: #d97706; }
.user-dashboard .user-nudge-btn {
    background: #d97706 !important; color: #ffffff !important;
    border-radius: 50px !important; padding: 7px 20px !important;
    font-size: 0.8125rem !important; font-weight: 700 !important;
}
.user-dashboard .user-nudge-dismiss {
    background: transparent !important;
    border: 1.5px solid #d97706 !important;
    color: #d97706 !important; border-radius: 50px !important;
    padding: 7px 16px !important; font-size: 0.8125rem !important;
}

/* ── DASHBOARD TABS ──────────────────────────────────────────── */
.user-dashboard .user-dashboard-tabs {
    background: rgb(var(--elements_background_color));
    border-bottom: 1px solid rgb(var(--border_color));
    position: sticky; top: 0; z-index: 100;
}
.user-dashboard .user-tabs-inner {
    display: flex; align-items: center; gap: 4px; padding: 0;
}
.user-dashboard .user-tab {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 18px; font-size: 0.875rem; font-weight: 600;
    color: rgb(var(--text_muted_color)); text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
}
.user-dashboard .user-tab:hover { color: rgb(var(--primary_color)); }
.user-dashboard .user-tab--active {
    color: rgb(var(--primary_color)) !important;
    border-bottom-color: rgb(var(--primary_color)) !important;
}

/* ── DASHBOARD CONTENT ───────────────────────────────────────── */
.user-dashboard .user-dashboard-body {
    padding: 40px 0 64px;
    background: rgb(var(--background_color));
    min-height: 400px;
}
.user-dashboard .user-content-title {
    font-size: 1.25rem !important; font-weight: 800 !important;
    color: rgb(var(--secondary_color)) !important;
    margin-bottom: 24px !important;
}

/* ── GLOBAL: fix consumer navbar crowding ────────────────────── */
body:not(.business-home) .nav-bar.nav-bar-bg {
    position: sticky; top: 0; z-index: 1000;
}


/* == USER SETTINGS (body.user-dashboard) ==================== */

/* ── CARDS ───────────────────────────────────────────────────── */
.user-dashboard .card {
    border: 1.5px solid rgb(var(--border_color)) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    background: rgb(var(--elements_background_color)) !important;
    overflow: hidden;
}
.user-dashboard .card-header {
    background: transparent !important;
    border-bottom: 1.5px solid rgb(var(--border_color)) !important;
    padding: 18px 24px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    letter-spacing: -0.01em;
}
.user-dashboard .card-body {
    padding: 28px 24px !important;
}

/* ── FORM LABELS ─────────────────────────────────────────────── */
.user-dashboard .form-label {
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    color: rgb(var(--secondary_color)) !important;
    margin-bottom: 6px !important;
}
.user-dashboard .form-text {
    font-size: 0.75rem !important;
    color: rgb(var(--text_muted_color)) !important;
    margin-top: 5px !important;
}

/* ── INPUTS & SELECTS ────────────────────────────────────────── */
.user-dashboard .form-control,
.user-dashboard .form-select {
    border: 1.5px solid rgb(var(--border_color)) !important;
    border-radius: 8px !important;
    font-size: 0.875rem !important;
    padding: 10px 14px !important;
    color: rgb(var(--text_color)) !important;
    background: rgb(var(--background_color)) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.user-dashboard .form-control:focus,
.user-dashboard .form-select:focus {
    border-color: rgb(var(--primary_color)) !important;
    box-shadow: 0 0 0 3px rgba(var(--primary_color), 0.10) !important;
    outline: none !important;
}
.user-dashboard .form-control[readonly],
.user-dashboard .form-control[disabled] {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* ── AVATAR UPLOAD ───────────────────────────────────────────── */
.user-dashboard .attach-img {
    gap: 16px;
    align-items: center !important;
}
.user-dashboard .attach-img-preview {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover;
    border-radius: 50% !important;
    border: 3px solid rgb(var(--border_color)) !important;
    transition: border-color 0.2s ease !important;
}
.user-dashboard .attach-img:hover .attach-img-preview {
    border-color: rgb(var(--primary_color)) !important;
}
.user-dashboard .attach-img-button {
    border: 1.5px solid rgb(var(--border_color)) !important;
    border-radius: 50px !important;
    background: rgb(var(--background_color)) !important;
    color: rgb(var(--secondary_color)) !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    padding: 8px 20px !important;
    transition: all 0.2s ease !important;
}
.user-dashboard .attach-img-button:hover {
    border-color: rgb(var(--primary_color)) !important;
    color: rgb(var(--primary_color)) !important;
    background: rgba(var(--primary_color), 0.05) !important;
}

/* ── BUTTONS ─────────────────────────────────────────────────── */
.user-dashboard .btn-primary {
    border-radius: 50px !important;
    padding: 10px 28px !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    background: rgb(var(--primary_color)) !important;
    border-color: rgb(var(--primary_color)) !important;
    color: #ffffff !important;
    transition: opacity 0.2s ease !important;
}
.user-dashboard .btn-primary:hover {
    opacity: 0.88 !important;
}
.user-dashboard .btn-danger {
    border-radius: 50px !important;
    padding: 10px 28px !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    transition: opacity 0.2s ease !important;
}
.user-dashboard .btn-danger:hover {
    opacity: 0.88 !important;
}
.user-dashboard .btn-outline-primary {
    border-radius: 50px !important;
    padding: 10px 28px !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    border: 1.5px solid rgb(var(--primary_color)) !important;
    color: rgb(var(--primary_color)) !important;
    background: transparent !important;
    transition: all 0.2s ease !important;
}
.user-dashboard .btn-outline-primary:hover {
    background: rgb(var(--primary_color)) !important;
    color: #ffffff !important;
}

/* ── 2FA SECTION ─────────────────────────────────────────────── */
.user-dashboard .input-group .form-control {
    border-right: none !important;
    border-radius: 8px 0 0 8px !important;
}
.user-dashboard .input-group .btn {
    border-radius: 0 8px 8px 0 !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    border-left: none !important;
    color: rgb(var(--primary_color)) !important;
    background: rgb(var(--background_color)) !important;
    transition: all 0.2s ease !important;
}
.user-dashboard .input-group .btn:hover {
    background: rgba(var(--primary_color), 0.05) !important;
    border-color: rgb(var(--primary_color)) !important;
}

/* ── ACCOUNT DELETION ────────────────────────────────────────── */
.user-dashboard .card:last-of-type .card-body p {
    font-size: 0.875rem !important;
    color: rgb(var(--text_muted_color)) !important;
    line-height: 1.65 !important;
}


/* == USER SETTINGS: border & spacing corrections ============ */
.user-dashboard .form-control,
.user-dashboard .form-select {
    border-color: #cbd5e1 !important;
}
.user-dashboard .card-header {
    border-bottom-color: #e2e8f0 !important;
    margin-bottom: 0 !important;
}


/* == USER DASHBOARD: profile stats block ==================== */
.user-dashboard .user-profile-stats {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 32px;
    flex-shrink: 0;
}
.user-dashboard .user-stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}
.user-dashboard .user-stat-value {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff;
    line-height: 1;
    letter-spacing: -0.02em;
}
.user-dashboard .user-stat-label {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.65);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
@media (max-width: 640px) {
    .user-dashboard .user-profile-stats {
        margin-left: 0;
        gap: 20px;
    }
    .user-dashboard .user-stat-value {
        font-size: 1.375rem;
    }
}

.user-dashboard .user-stat-link {
    text-decoration: none !important;
    cursor: pointer;
}
.user-dashboard .user-stat-link:hover .user-stat-value {
    color: rgba(255,255,255,0.85) !important;
}
.user-dashboard .user-stat-link:hover .user-stat-label {
    color: rgba(255,255,255,0.85) !important;
}

.user-dashboard [data-bs-toggle="tooltip"] .user-stat-label {
    border-bottom: 1px dashed rgba(255,255,255,0.45);
    cursor: default;
}


/* == BUSINESS AUTH PAGES (body.business-auth-page) ========== */

/* ── SPLIT LAYOUT ─────────────────────────────────────────── */
.auth-split {
    display: flex;
    min-height: 100vh;
}

/* ── LEFT PANEL ───────────────────────────────────────────── */
.auth-panel-left {
    width: 42%;
    flex-shrink: 0;
    background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, #1e0a8f 50%, rgb(var(--primary_color)) 100%);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.auth-panel-left::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
}
.auth-panel-left-inner {
    position: relative;
    z-index: 1;
    padding: 60px 52px;
    width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.auth-brand-link {
    display: inline-block;
    margin-bottom: auto;
}
.auth-brand-logo {
    height: 34px;
    width: auto;
}
.auth-panel-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px 0;
}
.auth-panel-headline {
    font-size: 1.875rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: -0.02em;
    line-height: 1.25;
    margin-bottom: 16px !important;
}
.auth-panel-subtext {
    font-size: 0.9375rem !important;
    color: rgba(255,255,255,0.75) !important;
    line-height: 1.65;
    margin-bottom: 40px !important;
}
.auth-panel-bullets {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.auth-panel-bullet {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    color: #ffffff;
    font-size: 0.9375rem;
    line-height: 1.5;
}
.auth-bullet-icon {
    color: rgb(var(--third_color));
    font-size: 1.125rem;
    flex-shrink: 0;
    margin-top: 2px;
}

/* ── RIGHT PANEL ──────────────────────────────────────────── */
.auth-panel-right {
    flex: 1;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
    background: #ffffff;
    padding: 48px 40px;
}
.auth-panel-right-inner {
    width: 100%;
    max-width: 460px;
    padding-top: 8px;
}
.auth-form-header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 40px;
    min-height: 32px;
}
.auth-mobile-logo { display: none; }
.auth-mobile-logo img { height: 30px; width: auto; }
.auth-form-wrap { width: 100%; }

/* ── FORM ELEMENTS ────────────────────────────────────────── */
.business-auth-page .sign-title {
    font-size: 1.625rem !important;
    font-weight: 800 !important;
    color: rgb(var(--secondary_color)) !important;
    letter-spacing: -0.02em;
    margin-bottom: 6px !important;
}
.business-auth-page .sign-text {
    color: rgb(var(--text_muted_color)) !important;
    font-size: 0.9375rem !important;
    margin-bottom: 0 !important;
}
.business-auth-page .form-label {
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    color: rgb(var(--secondary_color)) !important;
}
.business-auth-page .form-control,
.business-auth-page .form-select {
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 8px !important;
    font-size: 0.875rem !important;
    padding: 10px 14px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.business-auth-page .form-control:focus,
.business-auth-page .form-select:focus {
    border-color: rgb(var(--primary_color)) !important;
    box-shadow: 0 0 0 3px rgba(var(--primary_color), 0.10) !important;
    outline: none !important;
}
.business-auth-page .btn-primary {
    border-radius: 8px !important;
    padding: 12px 28px !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    background: rgb(var(--primary_color)) !important;
    border-color: rgb(var(--primary_color)) !important;
    letter-spacing: 0.01em;
    transition: opacity 0.2s ease !important;
}
.business-auth-page .btn-primary:hover { opacity: 0.88 !important; }

/* ── OAUTH BUTTON ─────────────────────────────────────────── */
.business-auth-page .login-with {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
}
.business-auth-page .login-with-divider {
    margin-bottom: 0 !important;
    margin-top: 20px !important;
}
.business-auth-page .login-with-divider span {
    font-size: 0.8125rem !important;
    color: rgb(var(--text_muted_color)) !important;
}
.business-auth-page .btn-social {
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 8px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    padding: 11px 20px !important;
    color: rgb(var(--secondary_color)) !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    transition: all 0.2s ease !important;
}
.business-auth-page .btn-social:hover {
    border-color: rgb(var(--primary_color)) !important;
    background: rgba(var(--primary_color), 0.03) !important;
}
.business-auth-page .btn-social img {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain !important;
}

/* ── MOBILE ───────────────────────────────────────────────── */
@media (max-width: 900px) {
    .auth-panel-left { display: none; }
    .auth-panel-right { padding: 32px 20px; }
    .auth-panel-right-inner { max-width: 100%; padding-top: 0; }
    .auth-mobile-logo { display: block; }
    .auth-form-header { justify-content: space-between; }
}


/* == BUSINESS AUTH: domain lookup widget ==================== */
.domain-lookup-result {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.5;
}
.domain-lookup-loading {
    background: #f1f5f9;
    color: #64748b;
}
.domain-lookup-success {
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}
.domain-lookup-error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}
.domain-lookup-warning {
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
}
.domain-lookup-info {
    background: #eff6ff;
    color: #1e40af;
    border: 1px solid #bfdbfe;
}
.domain-lookup-result i {
    font-size: 0.9375rem;
    flex-shrink: 0;
    margin-top: 1px;
}

/* ── Business card preview ───────────────────────────────── */
.domain-business-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1.5px solid #bbf7d0;
    border-radius: 12px;
    background: #f0fdf4;
}
.domain-biz-logo {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    object-fit: contain;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    flex-shrink: 0;
}
.domain-biz-info {
    flex: 1;
    min-width: 0;
}
.domain-biz-name {
    font-size: 0.9375rem;
    font-weight: 700;
    color: rgb(var(--secondary_color));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.domain-biz-website {
    font-size: 0.75rem;
    color: rgb(var(--text_muted_color));
    margin-top: 2px;
}
.domain-biz-badge {
    background: #166534;
    color: #ffffff;
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ── Auth logo fix ───────────────────────────────────────── */
.auth-brand-logo {
    height: 24px !important;
}

/* ── Remove divider label from OAuth on auth pages ───────── */
.business-auth-page .login-with-divider span {
    display: none !important;
}
.business-auth-page .login-with-divider::before,
.business-auth-page .login-with-divider::after {
    display: none !important;
}
.business-auth-page .login-with-divider {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 16px !important;
}


/* == OAUTH BUTTON (Google-style) ============================ */
.btn-oauth {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 0 !important;
    border-radius: 8px !important;
    border: none !important;
    background: #4285F4 !important;
    color: #ffffff !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    overflow: hidden !important;
    transition: background 0.2s ease !important;
    text-decoration: none !important;
    height: 48px !important;
}
.btn-oauth:hover {
    background: #3367d6 !important;
    color: #ffffff !important;
}
.btn-oauth-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    background: #ffffff !important;
    flex-shrink: 0 !important;
}
.btn-oauth-icon img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
}
.btn-oauth-label {
    flex: 1 !important;
    text-align: center !important;
    letter-spacing: 0.01em !important;
}

/* ── OAuth divider ───────────────────────────────────────── */
.oauth-divider {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 20px !important;
    color: rgb(var(--text_muted_color)) !important;
    font-size: 0.8125rem !important;
}
.oauth-divider::before,
.oauth-divider::after {
    content: '' !important;
    flex: 1 !important;
    height: 1px !important;
    background: rgb(var(--border_color)) !important;
}

/* Hide old login-with styles on auth pages */
.business-auth-page .login-with-divider { display: none !important; }


/* == AUTH: logo position + checkbox + phone fixes =========== */

/* ── Logo anchored top-left, content truly centered ─────── */
.auth-panel-left-inner {
    justify-content: flex-start !important;
}
.auth-brand-link {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.auth-panel-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 40px 0 !important;
}

/* ── Custom checkboxes ───────────────────────────────────── */
.business-auth-page .form-check {
    padding-left: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}
.business-auth-page .form-check-input {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    margin: 0 !important;
    margin-top: 2px !important;
    transition: all 0.15s ease !important;
    position: relative !important;
    flex-shrink: 0 !important;
}
.business-auth-page .form-check-input:checked {
    background: rgb(var(--primary_color)) !important;
    border-color: rgb(var(--primary_color)) !important;
}
.business-auth-page .form-check-input:checked::after {
    content: '' !important;
    position: absolute !important;
    left: 4px !important;
    top: 1px !important;
    width: 6px !important;
    height: 10px !important;
    border: 2px solid #ffffff !important;
    border-top: none !important;
    border-left: none !important;
    transform: rotate(45deg) !important;
    display: block !important;
}
.business-auth-page .form-check-label {
    font-size: 0.8125rem !important;
    color: rgb(var(--text_muted_color)) !important;
    cursor: pointer !important;
    line-height: 1.5 !important;
}
.business-auth-page .form-check-label a {
    color: rgb(var(--primary_color)) !important;
    font-weight: 600 !important;
}

/* ── Phone number field with prefix badge ────────────────── */
.business-auth-page .phone-input-wrap {
    position: relative !important;
}
.business-auth-page .phone-input-wrap .form-control {
    padding-left: 56px !important;
}
.business-auth-page .phone-prefix {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    color: rgb(var(--secondary_color)) !important;
    border-right: 1.5px solid #cbd5e1 !important;
    pointer-events: none !important;
    z-index: 2 !important;
}


/* == AUTH: polish pass ======================================= */

/* ── Logo bigger + true top anchoring ───────────────────── */
.auth-brand-logo {
    height: 52px !important;
    width: auto !important;
}
.auth-panel-left-inner {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
    justify-content: flex-start !important;
    padding-top: 52px !important;
}
.auth-panel-content {
    margin-top: auto !important;
    margin-bottom: auto !important;
    padding: 0 !important;
}
.auth-brand-link {
    margin-bottom: 0 !important;
}

/* ── Google button icon box border ───────────────────────── */
.btn-oauth-icon {
    border-right: 1px solid rgba(0,0,0,0.12) !important;
}

/* ── Phone prefix "NG" text styling ─────────────────────── */
.business-auth-page .phone-prefix {
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    color: rgb(var(--secondary_color)) !important;
    background: #f8fafc !important;
    border-radius: 8px 0 0 8px !important;
}


/* == AUTH: left panel layout final fix ====================== */
.auth-panel-left {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}
.auth-panel-left-inner {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    min-height: 100vh !important;
    padding: 52px !important;
    justify-content: flex-start !important;
}
.auth-brand-link {
    display: block !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
}
.auth-brand-logo {
    height: 52px !important;
    width: auto !important;
    display: block !important;
}
.auth-panel-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
}


/* == AUTH: left panel vertical rhythm final ================= */
.auth-panel-left-inner {
    padding: 48px 52px !important;
}
.auth-brand-logo {
    height: 58px !important;
}
.auth-panel-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
    justify-content: flex-start !important;
    padding-bottom: 0 !important;
}
.auth-panel-headline {
    margin-top: 64px !important;
}


/* == AUTH: trust signal bottom anchor ======================= */
.auth-panel-trust {
    margin-top: auto !important;
    padding-top: 40px !important;
}
.auth-trust-divider {
    height: 1px !important;
    background: rgba(255,255,255,0.15) !important;
    margin-bottom: 20px !important;
}
.auth-trust-text {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 0.8125rem !important;
    color: rgba(255,255,255,0.60) !important;
    margin: 0 !important;
    font-weight: 500 !important;
}
.auth-trust-icon {
    font-size: 1rem !important;
    color: rgb(var(--third_color)) !important;
    flex-shrink: 0 !important;
}


/* == AUTH: google icon size + flag fix ====================== */
.btn-oauth-icon {
    width: 56px !important;
    height: 56px !important;
}
.btn-oauth {
    height: 56px !important;
}
.btn-oauth-icon img {
    width: 26px !important;
    height: 26px !important;
}
.phone-flag {
    width: 24px !important;
    height: auto !important;
    display: block !important;
    border-radius: 2px !important;
}
.business-auth-page .phone-prefix {
    font-size: unset !important;
    font-weight: unset !important;
    letter-spacing: unset !important;
}


/* == CLAIM PAGE ============================================= */

/* ── Business identity card ─────────────────────────────── */
.claim-business-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    margin-bottom: 24px;
}
.claim-biz-logo {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: contain;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    flex-shrink: 0;
}
.claim-biz-info { flex: 1; min-width: 0; }
.claim-biz-name {
    font-size: 0.9375rem;
    font-weight: 700;
    color: rgb(var(--secondary_color));
}
.claim-biz-domain {
    font-size: 0.75rem;
    color: rgb(var(--text_muted_color));
    margin-top: 2px;
}

/* ── Domain match / no-match badge ──────────────────────── */
.claim-match-badge,
.claim-nomatch-badge {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 10px;
    margin-bottom: 24px;
}
.claim-match-badge {
    background: #f0fdf4;
    border: 1.5px solid #bbf7d0;
}
.claim-nomatch-badge {
    background: #fffbeb;
    border: 1.5px solid #fde68a;
}
.claim-match-icon {
    font-size: 1.25rem;
    color: #16a34a;
    flex-shrink: 0;
    margin-top: 1px;
}
.claim-nomatch-icon {
    font-size: 1.25rem;
    color: #d97706;
    flex-shrink: 0;
    margin-top: 1px;
}
.claim-match-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: rgb(var(--secondary_color));
    margin-bottom: 2px;
}
.claim-match-sub {
    font-size: 0.8125rem;
    color: rgb(var(--text_muted_color));
    line-height: 1.5;
}

/* ── Proof requirements ──────────────────────────────────── */
.claim-proof-section {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 24px;
}
.claim-proof-label {
    font-size: 0.8125rem;
    font-weight: 700;
    color: rgb(var(--secondary_color));
    margin-bottom: 12px;
}
.claim-proof-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 12px 0 !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.claim-proof-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.8125rem;
    color: rgb(var(--text_color));
    line-height: 1.5;
}
.claim-proof-icon {
    color: rgb(var(--third_color));
    font-size: 0.875rem;
    flex-shrink: 0;
    margin-top: 2px;
}
.claim-proof-note {
    font-size: 0.75rem;
    color: rgb(var(--text_muted_color));
    margin: 0;
    line-height: 1.5;
    border-top: 1px solid #e2e8f0;
    padding-top: 12px;
}

/* ── Cancel link ─────────────────────────────────────────── */
.claim-cancel-link {
    font-size: 0.8125rem;
    color: rgb(var(--text_muted_color)) !important;
    text-decoration: none !important;
}
.claim-cancel-link:hover {
    color: rgb(var(--primary_color)) !important;
}


/* == BUSINESS AUTH: email verification buttons ============== */
.business-auth-page .sign .d-flex.gap-3,
.business-auth-page .sign .row.g-3 {
    flex-wrap: wrap !important;
}
.business-auth-page .sign .btn + .btn {
    margin-top: 0 !important;
}
.business-auth-page .sign form + form {
    margin-top: 12px !important;
}
.business-auth-page .sign .btn.w-100 {
    border-radius: 8px !important;
}


/* == BUSINESS AUTH: setup + verify page button layout ======= */
.business-auth-page .sign .btn-outline-secondary,
.business-auth-page .sign form ~ form .btn {
    border-radius: 8px !important;
    background: transparent !important;
    border: 1.5px solid #cbd5e1 !important;
    color: rgb(var(--text_muted_color)) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}
.business-auth-page .sign form ~ form {
    margin-top: 10px !important;
}
.business-auth-page .sign form ~ form .btn:hover {
    border-color: rgb(var(--primary_color)) !important;
    color: rgb(var(--primary_color)) !important;
}


/* == BUSINESS AUTH: logout divider partial ================== */
.business-auth-page .login-with {
    margin-top: 12px !important;
}
.business-auth-page .login-with-divider {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    height: auto !important;
    border: none !important;
}
.business-auth-page .login-with-divider span {
    display: block !important;
    font-size: 0.8125rem !important;
    color: rgb(var(--text_muted_color)) !important;
}
.business-auth-page .login-with-divider::before,
.business-auth-page .login-with-divider::after {
    content: '' !important;
    flex: 1 !important;
    height: 1px !important;
    background: rgb(var(--border_color)) !important;
    display: block !important;
}
.business-auth-page .login-with .btn-outline-secondary {
    border-radius: 8px !important;
    border: 1.5px solid #cbd5e1 !important;
    color: rgb(var(--text_muted_color)) !important;
    background: transparent !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}
.business-auth-page .login-with .btn-outline-secondary:hover {
    border-color: rgb(var(--primary_color)) !important;
    color: rgb(var(--primary_color)) !important;
}


/* == BUSINESS AUTH: login page specifics ==================== */
.auth-forgot-link {
    font-size: 0.8125rem !important;
    color: rgb(var(--primary_color)) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: opacity 0.2s ease !important;
}
.auth-forgot-link:hover {
    opacity: 0.75 !important;
}


/* == KYC PAGES ============================================== */

/* ── Trust header ────────────────────────────────────────── */
.kyc-trust-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
    background: #eff6ff;
    border: 1.5px solid #bfdbfe;
    border-radius: 12px;
    margin-bottom: 32px;
}
.kyc-trust-icon-wrap {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: rgb(var(--primary_color));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.kyc-trust-icon {
    font-size: 1.25rem;
    color: #ffffff;
}
.kyc-trust-title {
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    margin-bottom: 4px !important;
}
.kyc-trust-text {
    font-size: 0.8125rem !important;
    color: rgb(var(--text_muted_color)) !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

/* ── Section ─────────────────────────────────────────────── */
.kyc-section {
    border: 1.5px solid rgb(var(--border_color));
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 24px;
    background: rgb(var(--elements_background_color));
}
.kyc-section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.kyc-step-badge {
    background: rgb(var(--primary_color));
    color: #ffffff;
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}
.kyc-section-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    margin: 0 !important;
}
.kyc-section-desc {
    font-size: 0.875rem !important;
    color: rgb(var(--text_muted_color)) !important;
    margin-bottom: 20px !important;
    line-height: 1.6 !important;
}

/* ── Upload zone ─────────────────────────────────────────── */
.kyc-upload-zone {
    border: 2px dashed rgb(var(--border_color)) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    background: rgb(var(--background_color)) !important;
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
}
.kyc-upload-zone:hover {
    border-color: rgb(var(--primary_color)) !important;
    background: rgba(var(--primary_color), 0.03) !important;
}
.kyc-upload-preview {
    width: 100%;
    display: flex;
    justify-content: center;
}
.kyc-placeholder-img {
    height: 120px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    border-radius: 8px !important;
}
.kyc-upload-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.kyc-upload-icon {
    font-size: 1.5rem;
    color: rgb(var(--primary_color));
}
.kyc-upload-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: rgb(var(--secondary_color));
}
.kyc-upload-hint {
    font-size: 0.75rem;
    color: rgb(var(--text_muted_color));
}
.kyc-file-input {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    cursor: pointer !important;
    width: 100% !important;
    height: 100% !important;
}

/* ── Submit wrap ─────────────────────────────────────────── */
.kyc-submit-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 8px;
}
.kyc-submit-note {
    font-size: 0.8125rem !important;
    color: rgb(var(--text_muted_color)) !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

/* ── User dashboard KYC card adjustments ─────────────────── */
.user-dashboard .kyc-trust-header {
    margin-bottom: 24px !important;
}
.user-dashboard .kyc-section {
    border-color: #cbd5e1 !important;
}


/* == KYC: upload zone border + select fix =================== */
.kyc-upload-zone.attach-img {
    border: 2px dashed #cbd5e1 !important;
    border-radius: 12px !important;
    padding: 24px 20px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, background 0.2s ease !important;
    background: rgb(var(--background_color)) !important;
}
.kyc-upload-zone.attach-img:hover {
    border-color: rgb(var(--primary_color)) !important;
    background: rgba(var(--primary_color), 0.03) !important;
}
.kyc-upload-zone .attach-img-preview {
    width: auto !important;
    height: 100px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    display: block !important;
}
.user-dashboard .form-select#kycDocument,
#kycDocument {
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 0.875rem !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    background-image: none !important;
}


/* == BUSINESS AUTH: claim context notice ==================== */
.claim-context-notice {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 16px;
    background: #eff6ff;
    border: 1.5px solid #bfdbfe;
    border-radius: 8px;
    font-size: 0.8125rem;
    color: #1e40af;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 20px;
}
.claim-context-notice i {
    flex-shrink: 0;
    margin-top: 1px;
}


/* == BUSINESS PROFILE PAGE ================================== */

/* ── Header hero ─────────────────────────────────────────── */
.header.header-sm {
    background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, #1e0a8f 50%, rgb(var(--primary_color)) 100%) !important;
    position: relative;
    overflow: hidden;
}
.header.header-sm::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
}
.header.header-sm .header-inner {
    position: relative;
    z-index: 1;
}

/* ── Breadcrumbs on dark ─────────────────────────────────── */
.header.header-sm .breadcrumb-item,
.header.header-sm .breadcrumb-item a,
.header.header-sm .breadcrumb-item.active {
    color: rgba(255,255,255,0.65) !important;
    font-size: 0.8125rem !important;
}
.header.header-sm .breadcrumb-item a:hover {
    color: #ffffff !important;
}
.header.header-sm .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255,255,255,0.4) !important;
}

/* ── Business logo ───────────────────────────────────────── */
.header.header-sm .item-img {
    background: #ffffff !important;
    border-radius: 14px !important;
    padding: 8px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15) !important;
    width: 80px !important;
    height: 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.header.header-sm .item-img img {
    width: 64px !important;
    height: 64px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
}

/* ── Business title + meta ───────────────────────────────── */
.header.header-sm .item-title,
.header.header-sm .item-title a {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    text-decoration: none !important;
}
.header.header-sm .item-meta {
    color: rgba(255,255,255,0.75) !important;
    font-size: 0.8125rem !important;
}
.header.header-sm .item-meta i {
    color: rgb(var(--third_color)) !important;
}

/* ── Tooltip badge on dark ───────────────────────────────── */
.header.header-sm .tooltip-badge .tooltip-hover {
    color: rgba(255,255,255,0.75) !important;
    font-size: 0.8125rem !important;
}
.header.header-sm .tooltip-badge .tooltip-hover i {
    color: rgba(255,255,255,0.75) !important;
}

/* ── Header action buttons ───────────────────────────────── */
.header.header-sm .btn-outline-primary {
    border-color: rgba(255,255,255,0.4) !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}
.header.header-sm .btn-outline-primary:hover {
    background: rgba(255,255,255,0.1) !important;
    border-color: #ffffff !important;
}
.header.header-sm .btn-secondary {
    background: rgb(var(--third_color)) !important;
    border-color: rgb(var(--third_color)) !important;
    color: rgb(var(--secondary_color)) !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    transition: opacity 0.2s ease !important;
}
.header.header-sm .btn-secondary:hover {
    opacity: 0.88 !important;
}

/* ── Business tabs ───────────────────────────────────────── */
.section-sm .btn-light {
    border-radius: 50px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    background: rgb(var(--elements_background_color)) !important;
    color: rgb(var(--text_muted_color)) !important;
    transition: all 0.2s ease !important;
}
.section-sm .btn-light:hover {
    border-color: rgb(var(--primary_color)) !important;
    color: rgb(var(--primary_color)) !important;
}
.section-sm .btn-primary {
    border-radius: 50px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
}

/* ── Trust alert banner ──────────────────────────────────── */
.alert-warning {
    border-radius: 10px !important;
    border: 1.5px solid #fde68a !important;
    background: #fffbeb !important;
    color: #92400e !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
}

/* ── Box / card system ───────────────────────────────────── */
.item-box.box,
.box {
    border-radius: 14px !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    background: rgb(var(--elements_background_color)) !important;
    box-shadow: none !important;
}
.item-box-header {
    padding: 18px 20px !important;
    border-bottom: 1.5px solid rgb(var(--border_color)) !important;
}
.item-box-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
}
.item-box-body {
    padding: 20px !important;
}

/* ── Rating box ──────────────────────────────────────────── */
.rating-box {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}
.rating-number {
    background: rgb(var(--primary_color)) !important;
    border-radius: 12px !important;
    padding: 20px 24px !important;
    text-align: center;
    min-width: 100px;
    flex-shrink: 0;
}
.rating-value {
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1 !important;
}
.rating-divider {
    font-size: 1.25rem !important;
    color: rgba(255,255,255,0.6) !important;
    margin: 0 2px !important;
}
.rating-max {
    font-size: 1rem !important;
    color: rgba(255,255,255,0.6) !important;
}
.rating-desc {
    font-size: 0.75rem !important;
    color: rgba(255,255,255,0.75) !important;
    margin-top: 4px !important;
}
.ratings-rows {
    flex: 1;
}
.ratings-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}
.ratings-row-text {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: rgb(var(--text_muted_color));
    width: 60px;
    flex-shrink: 0;
}
.ratings-row .progress {
    flex: 1;
    height: 6px !important;
    border-radius: 50px !important;
    background: rgb(var(--border_color)) !important;
}
.ratings-row .progress-bar {
    background: rgb(var(--primary_color)) !important;
    border-radius: 50px !important;
}
.ratings-row > span {
    font-size: 0.8125rem;
    color: rgb(var(--text_muted_color));
    width: 36px;
    text-align: right;
    flex-shrink: 0;
}

/* ── "Is this your business?" card ──────────────────────── */
.item-box.box .btn-outline-primary {
    border-radius: 50px !important;
    font-weight: 600 !important;
    border: 1.5px solid rgb(var(--primary_color)) !important;
    transition: all 0.2s ease !important;
}
.item-box.box .btn-outline-primary:hover {
    background: rgb(var(--primary_color)) !important;
    color: #ffffff !important;
}

/* ── Sidebar similar businesses list ─────────────────────── */
.item-sm .item-img {
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
    background: rgb(var(--background_color)) !important;
    border: 1px solid rgb(var(--border_color)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}
.item-sm .item-img img {
    width: 36px !important;
    height: 36px !important;
    object-fit: contain !important;
}
.item-sm .item-title {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: rgb(var(--secondary_color)) !important;
}
.item-sm .item-link {
    font-size: 0.75rem !important;
}

/* ── Review cards ────────────────────────────────────────── */
/* ── Review Card Redesign — Session 17 ──────────────────────── */
.item-review > .box {
    border-radius: 16px !important;
    border: 1.5px solid #e5e7eb !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    padding: 0 !important;
    overflow: hidden !important;
}
.item-review > .box:hover {
    border-color: rgb(var(--primary_color)) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}

/* Header */
.item-review-header {
    padding: 20px 24px 16px !important;
    border-bottom: 1px solid #f3f4f6 !important;
    margin-bottom: 0 !important;
}

/* Rating row */
.item-review-rating-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 16px 24px 0;
}
.item-review-rating-num {
    font-size: 18px;
    font-weight: 800;
    color: #111827;
    line-height: 1;
}
.item-review-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}
.item-review-pill--recommend {
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
}
.item-review-pill--order {
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
}

/* Body */
.item-review-body {
    padding: 16px 24px 0 !important;
}
.item-review-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 8px !important;
}
.item-review-text {
    font-size: 0.9375rem !important;
    line-height: 1.75 !important;
    color: #374151 !important;
    margin-bottom: 0 !important;
}

/* Aspect + date row */
.item-review-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 12px 24px;
}
.item-review-date-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    background: #f3f4f6;
    color: #6b7280;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

/* Footer */
.item-review-footer {
    padding: 0 !important;
    border-top: 1px solid #f3f4f6 !important;
    margin-top: 0 !important;
}
.item-review-actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    padding: 12px 16px !important;
}
.item-review-action {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 6px 14px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    background: #f9fafb !important;
    border: 1.5px solid #e5e7eb !important;
    transition: all 0.15s ease !important;
    text-decoration: none !important;
}
.item-review-action:hover {
    border-color: rgb(var(--primary_color)) !important;
    color: rgb(var(--primary_color)) !important;
    background: #f9fafb !important;
    text-decoration: none !important;
}
.item-review-action--danger {
    color: #dc2626 !important;
    border-color: #fecaca !important;
    background: #fff !important;
}
.item-review-action--danger:hover {
    background: #fff1f2 !important;
    border-color: #dc2626 !important;
    color: #dc2626 !important;
}

/* Verified reviewer pill */
.item-review-verified-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

/* Stars in review card */
.item-review-stars-img {
    height: 28px !important;
    width: auto !important;
    max-width: none !important;
}

/* Reply section */
.item-review-reply {
    margin: 0 24px 20px !important;
    padding: 16px 20px !important;
    background: #f9fafb !important;
    border-left: 3px solid rgb(var(--primary_color)) !important;
    border-radius: 10px !important;
    border-top: none !important;
}

/* ── Business cards (same-rated section) ─────────────────── */
.box.item {
    border-radius: 14px !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    transition: border-color 0.2s ease, transform 0.2s ease !important;
    overflow: visible !important;
}
.box.item:hover {
    border-color: rgb(var(--primary_color)) !important;
    transform: translateY(-2px) !important;
}
.item-body {
    padding: 20px !important;
    display: block !important;
    text-decoration: none !important;
}
.item-img {
    width: 52px !important;
    height: 52px !important;
    border-radius: 10px !important;
    border: 1px solid rgb(var(--border_color)) !important;
    background: #ffffff !important;
    overflow: visible !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}
.item-img img {
    width: 44px !important;
    height: 44px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
}
.item-title {
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    margin-bottom: 2px !important;
}
.item-link {
    font-size: 0.75rem !important;
    color: rgb(var(--text_muted_color)) !important;
}
.item-text {
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgb(var(--border_color)) !important;
}
.item-text p {
    font-size: 0.8125rem !important;
    color: rgb(var(--text_muted_color)) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* ── Write a review form ─────────────────────────────────── */
#reviewForm .item-box.box,
#reviewForm .box {
    border-radius: 14px !important;
}
#reviewForm .form-control,
#reviewForm .form-select {
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 8px !important;
    font-size: 0.9375rem !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
#reviewForm .form-control:focus,
#reviewForm .form-select:focus {
    border-color: rgb(var(--primary_color)) !important;
    box-shadow: 0 0 0 3px rgba(var(--primary_color), 0.10) !important;
    outline: none !important;
}
#reviewForm h5.fw-semibold {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
}
#reviewForm .btn-primary {
    border-radius: 50px !important;
    padding: 12px 40px !important;
    font-weight: 700 !important;
    font-size: 0.9375rem !important;
}
#reviewForm .upload-box-zone {
    border: 2px dashed #cbd5e1 !important;
    border-radius: 12px !important;
    transition: border-color 0.2s ease !important;
}
#reviewForm .upload-box-zone:hover {
    border-color: rgb(var(--primary_color)) !important;
}

/* ── Filter box ──────────────────────────────────────────── */
#filters .item-box.box {
    border-radius: 12px !important;
}
#filters .form-control,
#filters .form-select {
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 8px !important;
}


/* == BUSINESS PROFILE: tooltip badge + sidebar fixes ======= */
.header.header-sm .tooltip-badge .tooltip-hover {
    background: rgba(255,255,255,0.12) !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    border-radius: 50px !important;
    padding: 5px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.8125rem !important;
    color: rgba(255,255,255,0.80) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
.header.header-sm .tooltip-badge .tooltip-hover:hover {
    background: rgba(255,255,255,0.20) !important;
    color: #ffffff !important;
}
.header.header-sm .tooltip-badge .tooltip-hover i {
    font-size: 0.9375rem !important;
}

/* Sidebar "Is this your business?" card missing border fix */
#searchPage .col-12.col-xl-4 .item-box.box {
    border: 1.5px solid rgb(var(--border_color)) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}


/* == BUSINESS PROFILE: rating % + sidebar header fix ======= */
.ratings-row > span {
    white-space: nowrap !important;
}
#searchPage .col-12.col-xl-4 .item-box-header {
    padding: 16px 20px !important;
    border-bottom: 1.5px solid rgb(var(--border_color)) !important;
}
#searchPage .col-12.col-xl-4 .item-box-body p {
    font-size: 0.875rem !important;
    color: rgb(var(--text_muted_color)) !important;
    line-height: 1.65 !important;
}


/* == BUSINESS PROFILE: compact review cards ================ */
.item-review > .box {
    margin-bottom: 12px !important;
}
.item-review-header {
    padding: 12px 16px !important;
}
.item-review-body {
    padding: 12px 16px !important;
}
.item-review-title {
    font-size: 0.9375rem !important;
    margin-bottom: 6px !important;
}
.item-review-text {
    font-size: 0.875rem !important;
    line-height: 1.65 !important;
    margin-bottom: 10px !important;
}
.item-review-footer {
    padding: 10px 16px !important;
}
.item-reviews {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}
.user-avatar-md {
    width: 38px !important;
    height: 38px !important;
}
.user-avatar-md img {
    width: 38px !important;
    height: 38px !important;
}


/* == BUSINESS PROFILE: review card polish ================== */

/* Fix 2: reduce padding above review title */
.item-review-body {
    padding: 10px 16px 12px !important;
}
.item-review-title {
    margin-top: 2px !important;
    margin-bottom: 8px !important;
}

/* Fix 3: breathing room above star rating */
.item-review-body .ratings {
    margin-top: 12px !important;
    display: inline-flex !important;
}

/* Fix 4: sidebar business name truncation */
#searchPage .col-12.col-xl-4 .item-info {
    min-width: 0 !important;
    overflow: hidden !important;
}
#searchPage .col-12.col-xl-4 .item-title {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    display: block !important;
}
#searchPage .col-12.col-xl-4 .item-link {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
}
#searchPage .col-12.col-xl-4 .item-sm {
    min-width: 0 !important;
    overflow: hidden !important;
}

/* Fix 5: visible gap between review cards */
.item-review {
    margin-bottom: 16px !important;
}
.item-review > .box {
    margin-bottom: 0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
}


/* == BUSINESS PROFILE: star icon + card spacing fixes ====== */

/* Hide conflicting bi-star-fill icon in header meta */
.header.header-sm .item-meta i.bi-star-fill {
    display: none !important;
}

/* Compact Same-Rated Business cards */
.box.item .item-body {
    padding: 14px 16px !important;
}
.box.item .item-title {
    font-size: 0.875rem !important;
    margin-bottom: 1px !important;
}
.box.item .item-link {
    font-size: 0.75rem !important;
}
.box.item .item-text {
    margin-top: 8px !important;
    padding-top: 8px !important;
}
.box.item .item-text p {
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
}
.box.item .ratings-text {
    font-size: 0.8125rem !important;
}


/* == BUSINESS PROFILE: review location + date pills ======== */
.item-review-body .col-12.col-lg-auto h6 {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
}
.item-review-body .col-12.col-lg-auto h6 a,
.item-review-body .col-12.col-lg-auto h6 > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 50px !important;
    padding: 4px 10px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: rgb(var(--secondary_color)) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
.item-review-body .col-12.col-lg-auto h6 a:hover {
    border-color: rgb(var(--primary_color)) !important;
    color: rgb(var(--primary_color)) !important;
    background: rgba(var(--primary_color), 0.05) !important;
}
.item-review-body .col-12.col-lg-auto h6 i {
    color: rgb(var(--primary_color)) !important;
    font-size: 0.75rem !important;
}
.item-review-body .row.align-items-center.g-3 {
    align-items: center !important;
    margin-top: 10px !important;
}


/* == WRITE A REVIEW: form polish ============================ */

/* Fix 1: star size */
#reviewForm .ratings-xxl .rating svg {
    width: 28px !important;
    height: 28px !important;
}
#reviewForm .ratings-xxl {
    gap: 4px !important;
}

/* Fix 2: section dividers */
#reviewForm .item-box-body .row.row-cols-1.g-4 > .col {
    padding-top: 20px !important;
    border-top: 1px solid rgb(var(--border_color)) !important;
}
#reviewForm .item-box-body .row.row-cols-1.g-4 > .col:first-child {
    border-top: none !important;
    padding-top: 0 !important;
}

/* Fix 4: image constraints list */
#reviewForm ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 10px 0 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 12px !important;
}
#reviewForm ul li {
    font-size: 0.75rem !important;
    color: rgb(var(--text_muted_color)) !important;
    background: #f1f5f9 !important;
    border-radius: 50px !important;
    padding: 3px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
}
#reviewForm ul li::before {
    content: '·' !important;
    margin-right: 5px !important;
    color: rgb(var(--primary_color)) !important;
}

/* Fix 5: submit button full width */
#reviewForm .btn-primary {
    width: 100% !important;
    border-radius: 8px !important;
    padding: 14px 28px !important;
}


/* == WRITE A REVIEW: submit button fix ====================== */
#reviewForm .col > .btn-primary,
#reviewForm .btn.btn-primary.btn-md.px-5 {
    width: 100% !important;
    border-radius: 8px !important;
    padding: 14px 28px !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    background: rgb(var(--primary_color)) !important;
    border-color: rgb(var(--primary_color)) !important;
    color: #ffffff !important;
    display: block !important;
}


/* == BUSINESS PROFILE: header polish v2 ==================== */

/* Fix 3: smaller logo card */
.header.header-sm .item-img {
    width: 68px !important;
    height: 68px !important;
    border-radius: 12px !important;
    padding: 6px !important;
}
.header.header-sm .item-img img {
    width: 56px !important;
    height: 56px !important;
}

/* Fix 4+5: button hierarchy */
.header.header-sm .btn-secondary {
    background: rgb(var(--third_color)) !important;
    border-color: rgb(var(--third_color)) !important;
    color: rgb(var(--secondary_color)) !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    padding: 11px 24px !important;
    font-size: 0.9375rem !important;
}
.header.header-sm .btn-outline-primary {
    border-color: rgba(255,255,255,0.30) !important;
    color: rgba(255,255,255,0.75) !important;
    border-radius: 50px !important;
    font-weight: 500 !important;
    padding: 11px 20px !important;
    font-size: 0.875rem !important;
}
.header.header-sm .btn-outline-primary:hover {
    border-color: rgba(255,255,255,0.70) !important;
    color: #ffffff !important;
    background: rgba(255,255,255,0.08) !important;
}

/* Rating inline text */
.biz-rating-text {
    font-size: 0.875rem !important;
    color: rgba(255,255,255,0.80) !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}
.biz-rating-sep {
    color: rgba(255,255,255,0.40) !important;
}

/* Category pill */
.biz-category-pill {
    display: inline-flex !important;
    align-items: center !important;
    background: rgba(255,255,255,0.12) !important;
    border: 1px solid rgba(255,255,255,0.20) !important;
    border-radius: 50px !important;
    padding: 3px 12px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,0.85) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
.biz-category-pill:hover {
    background: rgba(255,255,255,0.20) !important;
    color: #ffffff !important;
}


/* == BUSINESS PROFILE: header restructure =================== */
.header.header-sm .item-lg {
    align-items: center !important;
}
.header.header-sm .item-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.biz-header-meta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
.biz-category-pill {
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    color: rgba(255,255,255,0.90) !important;
    border-radius: 50px !important;
    padding: 2px 10px !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
.biz-category-pill:hover {
    background: rgba(255,255,255,0.25) !important;
    color: #ffffff !important;
}
.header.header-sm .item-title {
    font-size: 1.625rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin-bottom: 0 !important;
    margin-top: 2px !important;
}
.header.header-sm .item-title a {
    font-size: 1.625rem !important;
}
/* Move badges (Claimed/Unclaimed) to same row as rating */
.header.header-sm .d-flex.flex-wrap.justify-content-center {
    margin-top: 4px !important;
}


/* == BUSINESS PROFILE: logo prominence fix ================= */
.header.header-sm .item-img {
    width: 110px !important;
    height: 110px !important;
    border-radius: 16px !important;
    padding: 10px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.20) !important;
}
.header.header-sm .item-img img {
    width: 90px !important;
    height: 90px !important;
    border-radius: 10px !important;
}
.header.header-sm .item-title,
.header.header-sm .item-title a {
    font-size: 1.875rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.15 !important;
}
.header.header-sm .row.align-items-center.row-cols-1.row-cols-xl-auto.flex-xl-nowrap.gx-4.gy-3 {
    gap: 20px !important;
    align-items: center !important;
}


/* == BUSINESS PROFILE: logo card + category final fix ======= */
/* Remove opaque white card — use transparent bg so dark logos look natural */
.header.header-sm .item-img {
    background: rgba(255,255,255,0.12) !important;
    border: 1.5px solid rgba(255,255,255,0.20) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15) !important;
    padding: 8px !important;
}
/* Category pill inline with rating */
.biz-category-pill {
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    padding: 2px 10px !important;
    background: rgba(255,255,255,0.12) !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    border-radius: 50px !important;
    color: rgba(255,255,255,0.85) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.2s ease !important;
}
.biz-category-pill:hover {
    background: rgba(255,255,255,0.22) !important;
    color: #ffffff !important;
}


/* == BUSINESS PROFILE: remove logo cage ==================== */
.header.header-sm .item-img {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}
.header.header-sm .item-img img {
    width: 110px !important;
    height: 110px !important;
    border-radius: 16px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.25)) !important;
}


/* ============================================================
   CATEGORIES PAGE
   Masonry 4-col layout. Scoped to .categories-grid.
   Last consolidated: 2026-04-18 / v1.3.116
   ============================================================ */

/* == CATEGORIES: page hero title ============================ */
.header-v3 .header-title,
.header-v3 h1,
.header-inner .header-title {
    color: #ffffff !important;
    font-size: 2.25rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
}

/* == CATEGORIES: masonry grid =============================== */
.categories-grid {
    display: block !important;
    column-count: 4 !important;
    column-gap: 16px !important;
}
.categories-grid-item {
    break-inside: avoid !important;
    margin-bottom: 16px !important;
    display: block !important;
    width: 100% !important;
}
@media (max-width: 1199px) {
    .categories-grid { column-count: 3 !important; }
}
@media (max-width: 767px) {
    .categories-grid { column-count: 2 !important; }
}
@media (max-width: 480px) {
    .categories-grid { column-count: 1 !important; }
}

/* == CATEGORIES: card ======================================= */
.category.box {
    border-radius: 16px !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    background: rgb(var(--elements_background_color)) !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}
.categories-grid .category.box:hover {
    border-color: rgb(var(--primary_color)) !important;
    box-shadow: 0 8px 24px rgba(var(--primary_color), 0.15) !important;
    transform: translateY(-3px) !important;
    cursor: pointer !important;
}

/* == CATEGORIES: card header ================================ */
a.category-header {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 18px !important;
    margin: 0 !important;
    border-bottom: none !important;
    text-decoration: none !important;
    position: relative !important;
    overflow: hidden !important;
}
a.category-header::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px) !important;
    background-size: 20px 20px !important;
    pointer-events: none !important;
}

/* == CATEGORIES: aurora gradient variation ================== */
.categories-grid .categories-grid-item:nth-child(4n+1) a.category-header {
    background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, #1e0a8f 55%, rgb(var(--primary_color)) 100%) !important;
}
.categories-grid .categories-grid-item:nth-child(4n+2) a.category-header {
    background: linear-gradient(145deg, #0d1259 0%, #1e0a8f 50%, #3730c4 100%) !important;
}
.categories-grid .categories-grid-item:nth-child(4n+3) a.category-header {
    background: linear-gradient(120deg, #0d0a4a 0%, #1e0a8f 50%, rgb(var(--primary_color)) 100%) !important;
}
.categories-grid .categories-grid-item:nth-child(4n+4) a.category-header {
    background: linear-gradient(155deg, #0a0f4a 0%, #1a0f7a 50%, #2d2ba8 100%) !important;
}

/* == CATEGORIES: card header icon =========================== */
a.category-header .category-icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.20) !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}
a.category-header .category-icon img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
}

/* == CATEGORIES: card header text =========================== */
a.category-header .mt-1 {
    position: relative !important;
    z-index: 1 !important;
}
a.category-header .category-title {
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 1px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-break: break-word !important;
}
a.category-header .category-text {
    font-size: 0.6875rem !important;
    color: rgba(255,255,255,0.60) !important;
    font-weight: 500 !important;
}

/* == CATEGORIES: subcategory list =========================== */
.category-subcategories {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    width: 100% !important;
    overflow: hidden !important;
    padding: 0 !important;
}

/* == CATEGORIES: subcategory items ========================== */
.category-item {
    display: block !important;
    padding: 7px 18px !important;
    font-size: 0.8125rem !important;
    color: rgb(var(--text_color)) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgb(var(--border_color)) !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    transition: color 0.15s ease, padding-left 0.15s ease !important;
}
.category-item:last-child { border-bottom: none !important; }
.category-item:hover {
    color: rgb(var(--primary_color)) !important;
    padding-left: 22px !important;
}

/* == CATEGORIES: hide View Businesses footer ================ */
.categories-grid .category-action {
    display: none !important;
}

/* ============================================================
   BUSINESSES LISTING PAGE
   Scoped to .items wrapper on /businesses
   Last updated: 2026-04-18 / v1.3.117
   ============================================================ */

/* == BUSINESSES: card base ================================== */
.items .item.box {
    border-radius: 16px !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    background: rgb(var(--elements_background_color)) !important;
    padding: 0 !important;
    overflow: hidden !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important;
}
.items .item.box:hover {
    border-color: rgb(var(--primary_color)) !important;
    box-shadow: 0 8px 28px rgba(var(--primary_color), 0.12) !important;
    transform: translateY(-2px) !important;
}

/* == BUSINESSES: card body padding ========================== */
.items .item-body {
    padding: 18px 18px 14px !important;
    text-decoration: none !important;
    display: block !important;
}

/* == BUSINESSES: logo ======================================= */
.items .item-img {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    border-radius: 12px !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    background: #f8f9fc !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.items .item-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 10px !important;
    padding: 0 !important;
}

/* == BUSINESSES: business name — no truncation ============== */
.items .item-title {
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    line-height: 1.3 !important;
    margin-bottom: 2px !important;
}

/* == BUSINESSES: website url ================================ */
.items .item-link {
    font-size: 0.75rem !important;
    color: rgb(var(--text_muted_color)) !important;
    margin-bottom: 0 !important;
}

/* == BUSINESSES: description text =========================== */
.items .item-text {
    margin-top: 6px !important;
    padding-top: 6px !important;
    border-top: 1px solid rgb(var(--border_color)) !important;
    font-size: 0.8125rem !important;
    color: rgb(var(--text_muted_color)) !important;
    line-height: 1.55 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* == BUSINESSES: be first to review ========================= */
.items .ratings-text,
.items .fst-italic {
    font-size: 0.8rem !important;
    font-style: normal !important;
    color: rgb(var(--primary_color)) !important;
    font-weight: 600 !important;
}

/* == BUSINESSES: card footer ================================ */
.items .item-footer {
    padding: 10px 18px !important;
    border-top: 1.5px solid rgb(var(--border_color)) !important;
    background: rgba(var(--primary_color), 0.02) !important;
}

/* == BUSINESSES: footer icon links ========================== */
.items .item-footer-link {
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    border: 1px solid rgb(var(--border_color)) !important;
    color: rgb(var(--text_muted_color)) !important;
    font-size: 0.75rem !important;
    text-decoration: none !important;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease !important;
}
.items .item-footer-link:hover {
    border-color: rgb(var(--primary_color)) !important;
    color: rgb(var(--primary_color)) !important;
    background: rgba(var(--primary_color), 0.06) !important;
}

/* == BUSINESSES: footer category pills ====================== */
.items .item-footer-text span {
    display: inline-flex !important;
    align-items: center !important;
    padding: 2px 8px !important;
    border-radius: 50px !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    background: rgba(var(--primary_color), 0.07) !important;
    color: rgb(var(--primary_color)) !important;
    margin-right: 4px !important;
}

/* == BUSINESSES: sidebar section headers ==================== */
.item-box.box p.fw-medium {
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 12px !important;
}

/* ============================================================
   SIDEBAR — search-params partial
   Used on: /businesses, /categories/*
   Last updated: 2026-04-18 / v1.3.119
   ============================================================ */

/* == SIDEBAR: card ========================================== */
.sidebar-card {
    background: rgb(var(--elements_background_color));
    border: 1.5px solid rgb(var(--border_color));
    border-radius: 16px;
    padding: 18px;
    margin-bottom: 0;
}

/* == SIDEBAR: section label ================================= */
.sidebar-label {
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 14px !important;
}

/* == SIDEBAR: reset button ================================== */
.sidebar-reset-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 8px 12px;
    margin-bottom: 14px;
    border-radius: 8px;
    border: 1.5px solid rgb(var(--border_color));
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgb(var(--primary_color));
    text-decoration: none;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.sidebar-reset-btn:hover {
    border-color: rgb(var(--primary_color));
    background: rgba(var(--primary_color), 0.04);
    color: rgb(var(--primary_color));
}

/* == SIDEBAR: search input ================================== */
.sidebar-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.sidebar-search-icon {
    position: absolute;
    left: 12px;
    color: rgb(var(--text_muted_color));
    font-size: 0.8125rem;
    pointer-events: none;
}
.sidebar-search-input {
    width: 100%;
    padding: 9px 12px 9px 34px;
    border: 1.5px solid rgb(var(--border_color));
    border-radius: 10px;
    font-size: 0.8125rem;
    color: rgb(var(--text_color));
    background: rgb(var(--background_color));
    outline: none;
    transition: border-color 0.15s ease;
}
.sidebar-search-input:focus {
    border-color: rgb(var(--primary_color));
}
.sidebar-search-input::placeholder {
    color: rgb(var(--text_muted_color));
}

/* == SIDEBAR: filter list =================================== */
.sidebar-filter-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.sidebar-filter-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s ease;
    margin: 0;
}
.sidebar-filter-item:hover {
    background: rgba(var(--primary_color), 0.04);
}
.sidebar-checkbox {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    border-radius: 4px !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    cursor: pointer !important;
    accent-color: rgb(var(--primary_color)) !important;
    margin: 0 !important;
}
.sidebar-filter-label {
    font-size: 0.8125rem;
    color: rgb(var(--text_color));
    flex: 1;
}

/* == SIDEBAR: categories list =============================== */
.sidebar-categories-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.sidebar-category-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgb(var(--text_color));
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}
.sidebar-category-item:hover {
    background: rgba(var(--primary_color), 0.06);
    color: rgb(var(--primary_color));
}
.sidebar-category-item i {
    font-size: 0.6875rem;
    color: rgb(var(--text_muted_color));
    transition: color 0.15s ease, transform 0.15s ease;
}
.sidebar-category-item:hover i {
    color: rgb(var(--primary_color));
    transform: translateX(2px);
}

/* == SIDEBAR: state select ================================== */
.sidebar-select + .bootstrap-select > .dropdown-toggle {
    border: 1.5px solid rgb(var(--border_color)) !important;
    border-radius: 10px !important;
    font-size: 0.8125rem !important;
    padding: 9px 12px !important;
    background: rgb(var(--background_color)) !important;
    color: rgb(var(--text_color)) !important;
    box-shadow: none !important;
}
.sidebar-select + .bootstrap-select > .dropdown-toggle:focus {
    border-color: rgb(var(--primary_color)) !important;
    outline: none !important;
}
/* Fix dropdown overlap */
.sidebar-card .bootstrap-select .dropdown-menu {
    z-index: 9999 !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    overflow: hidden !important;
}
.sidebar-card .bootstrap-select {
    width: 100% !important;
}
.sidebar-card .bootstrap-select > .dropdown-toggle {
    width: 100% !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    border-radius: 10px !important;
    font-size: 0.8125rem !important;
    padding: 9px 12px !important;
    background: rgb(var(--background_color)) !important;
    color: rgb(var(--text_color)) !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.sidebar-card .bootstrap-select > .dropdown-toggle:focus {
    outline: none !important;
    border-color: rgb(var(--primary_color)) !important;
}
.sidebar-card .bootstrap-select .dropdown-menu .inner {
    max-height: 220px !important;
}
.sidebar-card .bootstrap-select .dropdown-menu li a {
    font-size: 0.8125rem !important;
    padding: 8px 14px !important;
}
.sidebar-card .bootstrap-select .dropdown-menu li a:hover {
    background: rgba(var(--primary_color), 0.06) !important;
    color: rgb(var(--primary_color)) !important;
}
/* Critical — ensure dropdown escapes parent stacking context */
.bootstrap-select.open .dropdown-menu {
    z-index: 9999 !important;
    position: absolute !important;
}

/* == ADD BUSINESS BOX ======================================= */
.add-business-box {
    margin-top: 1.5rem;
    border-radius: 16px;
    border: 1.5px dashed rgb(var(--border_color));
    background: rgb(var(--elements_background_color));
    padding: 28px 24px;
    transition: border-color 0.2s ease;
}
.add-business-box:hover {
    border-color: rgb(var(--primary_color));
}
.add-business-box-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
}
.add-business-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(var(--primary_color), 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(var(--primary_color));
    font-size: 1.125rem;
}
.add-business-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    margin-bottom: 4px !important;
}
.add-business-text {
    font-size: 0.8125rem !important;
    color: rgb(var(--text_muted_color)) !important;
    margin-bottom: 4px !important;
    line-height: 1.55 !important;
}
.add-business-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 24px;
    border-radius: 50px;
    border: 1.5px solid rgb(var(--primary_color));
    background: transparent;
    color: rgb(var(--primary_color));
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.add-business-btn:hover {
    background: rgb(var(--primary_color));
    color: #ffffff;
}

/* == POPULAR SEARCHES ======================================= */
.popular-searches-section {
    margin-top: 3rem;
    text-align: center;
}
.popular-searches-label {
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: rgb(var(--text_muted_color)) !important;
    margin-bottom: 16px !important;
}
.popular-searches-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
.popular-search-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 50px;
    border: 1.5px solid rgb(var(--border_color));
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgb(var(--text_color));
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
.popular-search-tag:hover {
    border-color: rgb(var(--primary_color));
    color: rgb(var(--primary_color));
    background: rgba(var(--primary_color), 0.04);
}
.popular-search-tag i {
    font-size: 0.6875rem;
    color: rgb(var(--text_muted_color));
}
.popular-search-tag:hover i {
    color: rgb(var(--primary_color));
}

/* == SIDEBAR: selectpicker body-container fix =============== */
body > .bootstrap-select.dropdown .dropdown-menu {
    z-index: 1056 !important;
    background: #fff !important;
    border: 1px solid #e5e7f0 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    font-size: 13px !important;
    min-width: 200px !important;
}
.modal .bootstrap-select .dropdown-menu {
    z-index: 9999 !important;
    background: #fff !important;
    border: 1px solid #e5e7f0 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    font-size: 13px !important;
}
.modal { overflow: visible !important; }
.modal-dialog { overflow: visible !important; }
.modal-content { overflow: visible !important; }
body > .bootstrap-select.dropdown .dropdown-menu .bs-searchbox input {
    border: 1.5px solid rgb(var(--border_color)) !important;
    border-radius: 8px !important;
    font-size: 0.8125rem !important;
    padding: 7px 10px !important;
}
body > .bootstrap-select.dropdown .dropdown-menu li a {
    font-size: 0.8125rem !important;
    padding: 8px 14px !important;
}
body > .bootstrap-select.dropdown .dropdown-menu li a:hover,
body > .bootstrap-select.dropdown .dropdown-menu li.selected a {
    background: rgba(var(--primary_color), 0.06) !important;
    color: rgb(var(--primary_color)) !important;
}

/* == SIDEBAR: native select (replaces selectpicker) ========= */
.sidebar-native-select {
    width: 100% !important;
    padding: 9px 12px !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    border-radius: 10px !important;
    font-size: 0.8125rem !important;
    color: rgb(var(--text_color)) !important;
    background: rgb(var(--background_color)) !important;
    appearance: auto !important;
    cursor: pointer !important;
    outline: none !important;
    transition: border-color 0.15s ease !important;
}
.sidebar-native-select:focus {
    border-color: rgb(var(--primary_color)) !important;
}

/* ============================================================
   ADD BUSINESS PAGE
   /businesses/add
   Last updated: 2026-04-18 / v1.3.124
   ============================================================ */

.add-business-page-card {
    background: rgb(var(--elements_background_color));
    border: 1.5px solid rgb(var(--border_color));
    border-radius: 20px;
    padding: 2.5rem 2rem;
    text-align: center;
    box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
.add-business-page-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(var(--primary_color),0.10), rgba(var(--third_color),0.08));
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
    font-size: 1.375rem;
    color: rgb(var(--primary_color));
}
.add-business-page-title {
    font-size: 1.375rem !important;
    font-weight: 800 !important;
    color: rgb(var(--secondary_color)) !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 0.625rem !important;
}
.add-business-page-text {
    font-size: 0.9rem !important;
    color: rgb(var(--text_muted_color)) !important;
    line-height: 1.65 !important;
    margin-bottom: 1.5rem !important;
    max-width: 380px;
    margin-left: auto;
    margin-right: auto;
}
.add-business-page-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 1.25rem;
}
.add-business-page-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 50px;
    background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, rgb(var(--primary_color)) 100%);
    color: #ffffff !important;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: opacity 0.2s ease;
}
.add-business-page-btn-primary:hover { opacity: 0.88; }
.add-business-page-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 50px;
    border: 1.5px solid rgb(var(--border_color));
    background: transparent;
    color: rgb(var(--primary_color)) !important;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.2s ease, background 0.2s ease;
}
.add-business-page-btn-secondary:hover {
    border-color: rgb(var(--primary_color));
    background: rgba(var(--primary_color), 0.04);
}
.add-business-page-footnote {
    font-size: 0.8rem !important;
    color: rgb(var(--text_muted_color)) !important;
    margin-bottom: 0 !important;
}

/* Form state */
.add-business-page-form {
    text-align: left;
    margin-top: 1.5rem;
}
.add-business-field {
    margin-bottom: 1.125rem;
}
.add-business-label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgb(var(--secondary_color));
    margin-bottom: 6px;
}
.add-business-input {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid rgb(var(--border_color));
    border-radius: 10px;
    font-size: 0.875rem;
    color: rgb(var(--text_color));
    background: rgb(var(--background_color));
    outline: none;
    transition: border-color 0.15s ease;
}
.add-business-input:focus {
    border-color: rgb(var(--primary_color));
}
.add-business-input::placeholder {
    color: rgb(var(--text_muted_color));
}
.add-business-hint {
    font-size: 0.75rem !important;
    color: rgb(var(--text_muted_color)) !important;
    margin-top: 5px !important;
    margin-bottom: 0 !important;
}
.add-business-submit {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    border: none;
    background: linear-gradient(135deg, rgb(var(--secondary_color)) 0%, rgb(var(--primary_color)) 100%);
    color: #ffffff;
    font-size: 0.9375rem;
    font-weight: 700;
    cursor: pointer;
    margin-top: 0.5rem;
    transition: opacity 0.2s ease;
}
.add-business-submit:hover { opacity: 0.88; }

/* ============================================================
   CONSUMER AUTH PAGES
   /login, /register
   Last updated: 2026-04-18 / v1.3.125
   ============================================================ */

.consumer-auth-box {
    border-radius: 20px !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    padding: 2rem !important;
    box-shadow: 0 2px 24px rgba(0,0,0,0.06) !important;
}
.consumer-auth-header {
    margin-bottom: 1.5rem;
}
.consumer-auth-header .sign-title {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: rgb(var(--secondary_color)) !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 4px !important;
}
.consumer-auth-header .sign-text {
    font-size: 0.875rem !important;
    color: rgb(var(--text_muted_color)) !important;
    margin-bottom: 0 !important;
}
.consumer-auth-footer {
    font-size: 0.875rem !important;
    color: rgb(var(--text_muted_color)) !important;
}
.consumer-auth-footer .link-primary {
    font-weight: 600 !important;
}

/* OAuth button styling */
.btn-oauth {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 11px 16px !important;
    border-radius: 10px !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    background: rgb(var(--elements_background_color)) !important;
    color: rgb(var(--text_color)) !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    text-decoration: none !important;
}
.btn-oauth:hover {
    border-color: rgb(var(--primary_color)) !important;
    box-shadow: 0 2px 8px rgba(var(--primary_color), 0.10) !important;
    color: rgb(var(--text_color)) !important;
}
.btn-oauth-icon {
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}
.btn-oauth-icon img {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain !important;
}
.btn-oauth-label {
    flex: 1 !important;
    text-align: center !important;
}

/* OAuth divider */
.oauth-divider {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 1rem 0 !important;
    color: rgb(var(--text_muted_color)) !important;
    font-size: 0.8125rem !important;
}
.oauth-divider::before,
.oauth-divider::after {
    content: '' !important;
    flex: 1 !important;
    height: 1px !important;
    background: rgb(var(--border_color)) !important;
}

/* == CONSUMER AUTH: input border contrast =================== */
.consumer-auth-box .form-control,
.consumer-auth-box .form-select,
.consumer-auth-box .input-group-text {
    border-color: #d0d5e8 !important;
    border-radius: 10px !important;
}
.consumer-auth-box .input-group .form-control {
    border-left: none !important;
}
.consumer-auth-box .input-group-text {
    border-right: none !important;
    background: rgb(var(--background_color)) !important;
    color: rgb(var(--text_muted_color)) !important;
}
.consumer-auth-box .form-control:focus,
.consumer-auth-box .form-select:focus {
    border-color: rgb(var(--primary_color)) !important;
    box-shadow: none !important;
}



/* ============================================================
   BLOG ARTICLE PAGE — single article
   ============================================================ */
.blog-post-single {
    max-width: 780px !important;
    margin: 0 auto !important;
}
.blog-post-single .blog-post-meta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
    flex-wrap: wrap !important;
}
.blog-post-single .blog-post-category {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 12px !important;
    border-radius: 50px !important;
    background: rgba(var(--primary_color), 0.08) !important;
    color: rgb(var(--primary_color)) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
.blog-post-single .blog-post-title {
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: rgb(var(--secondary_color)) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.25 !important;
    margin-top: 12px !important;
    margin-bottom: 0 !important;
}
.blog-post-single .blog-post-header {
    margin: 28px 0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}
.blog-post-single .blog-post-img {
    width: 100% !important;
    max-height: 480px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 16px !important;
}
.blog-post-single .blog-post-body {
    font-size: 1rem !important;
    line-height: 1.8 !important;
    color: rgb(var(--text_color)) !important;
}
.blog-post-single .blog-post-body h1,
.blog-post-single .blog-post-body h2,
.blog-post-single .blog-post-body h3,
.blog-post-single .blog-post-body h4 {
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    letter-spacing: -0.01em !important;
    margin-top: 2rem !important;
    margin-bottom: 0.75rem !important;
}
.blog-post-single .blog-post-body p {
    margin-bottom: 1.25rem !important;
}
.blog-post-single .blog-post-body ul,
.blog-post-single .blog-post-body ol {
    padding-left: 1.5rem !important;
    margin-bottom: 1.25rem !important;
}
.blog-post-single .blog-post-body li {
    margin-bottom: 0.5rem !important;
}
.blog-post-single .blog-post-body img {
    max-width: 100% !important;
    border-radius: 12px !important;
    margin: 1rem 0 !important;
}
.blog-post-single .blog-post-body a {
    color: rgb(var(--primary_color)) !important;
    text-decoration: underline !important;
}

/* == BLOG: comment box ====================================== */
.blog-post-single .comment {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.blog-post-single .comment-info {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.blog-post-single .comment-img img {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}
.blog-post-single .comment-title {
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
}
.blog-post-single .comments-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    margin-bottom: 1rem !important;
}

/* ============================================================
   BLOG LISTING PAGE + ARTICLE PAGE
   Last updated: 2026-04-18 / v1.3.130
   ============================================================ */

/* == BLOG: listing cards (matches homepage style) =========== */
.blog-container .blog-post,
.blog-listing .blog-post {
    display: block !important;
    text-decoration: none !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    border: 1px solid rgb(var(--border_color)) !important;
    background: rgb(var(--elements_background_color)) !important;
    transition: all 0.25s ease !important;
    height: 100% !important;
}
.blog-container .blog-post:hover,
.blog-listing .blog-post:hover {
    border-color: rgb(var(--primary_color)) !important;
    box-shadow: 0 12px 32px rgba(var(--primary_color), 0.10) !important;
    transform: translateY(-3px) !important;
}
.blog-container .blog-post-header,
.blog-listing .blog-post-header {
    overflow: hidden !important;
    height: 200px !important;
}
.blog-container .blog-post-img,
.blog-listing .blog-post-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
    display: block !important;
}
.blog-container .blog-post:hover .blog-post-img,
.blog-listing .blog-post:hover .blog-post-img {
    transform: scale(1.04) !important;
}
.blog-container .blog-post-body,
.blog-listing .blog-post-body {
    padding: 18px 20px !important;
}
.blog-container .blog-post-meta,
.blog-listing .blog-post-meta {
    margin-bottom: 8px !important;
}
.blog-container .blog-post-category,
.blog-listing .blog-post-category {
    display: inline-flex !important;
    align-items: center !important;
    padding: 3px 10px !important;
    border-radius: 50px !important;
    background: rgba(var(--primary_color), 0.08) !important;
    color: rgb(var(--primary_color)) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
}
.blog-container .blog-post-title,
.blog-listing .blog-post-title {
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    line-height: 1.4 !important;
}
.blog-container .blog-post-title a,
.blog-listing .blog-post-title a {
    color: rgb(var(--secondary_color)) !important;
    text-decoration: none !important;
}
.blog-container .blog-post-title a:hover,
.blog-listing .blog-post-title a:hover {
    color: rgb(var(--primary_color)) !important;
}
.blog-container .blog-post-text,
.blog-listing .blog-post-text {
    font-size: 0.8125rem !important;
    color: rgb(var(--text_muted_color)) !important;
    line-height: 1.6 !important;
}
.blog-container .blog-post-text a,
.blog-listing .blog-post-text a {
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    color: rgb(var(--primary_color)) !important;
    text-decoration: none !important;
}

/* == BLOG: single article page ============================== */
.blog-post-single {
    max-width: 780px !important;
    margin: 0 auto !important;
}
.blog-post-single .blog-post-meta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
    flex-wrap: wrap !important;
}
.blog-post-single .blog-post-category {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 12px !important;
    border-radius: 50px !important;
    background: rgba(var(--primary_color), 0.08) !important;
    color: rgb(var(--primary_color)) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
.blog-post-single .blog-post-title {
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: rgb(var(--secondary_color)) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.25 !important;
    margin-top: 12px !important;
    margin-bottom: 28px !important;
}
.blog-post-single .blog-post-body {
    font-size: 1rem !important;
    line-height: 1.8 !important;
    color: rgb(var(--text_color)) !important;
}
.blog-post-single .blog-post-body h1,
.blog-post-single .blog-post-body h2,
.blog-post-single .blog-post-body h3,
.blog-post-single .blog-post-body h4 {
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    letter-spacing: -0.01em !important;
    margin-top: 2rem !important;
    margin-bottom: 0.75rem !important;
}
.blog-post-single .blog-post-body p { margin-bottom: 1.25rem !important; }
.blog-post-single .blog-post-body ul,
.blog-post-single .blog-post-body ol {
    padding-left: 1.5rem !important;
    margin-bottom: 1.25rem !important;
}
.blog-post-single .blog-post-body li { margin-bottom: 0.5rem !important; }
.blog-post-single .blog-post-body img {
    max-width: 100% !important;
    border-radius: 12px !important;
    margin: 1rem 0 !important;
}
.blog-post-single .blog-post-body a {
    color: rgb(var(--primary_color)) !important;
    text-decoration: underline !important;
}
.blog-post-single .comments-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    margin-bottom: 1rem !important;
}
.blog-post-single .comment-info {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 8px !important;
}
.blog-post-single .comment-img img {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

/* == BLOG: share buttons redesign ========================== */
.blog-post-single .socials {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
.blog-post-single .social-btn {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1.5px solid rgb(var(--border_color)) !important;
    background: rgb(var(--elements_background_color)) !important;
    color: rgb(var(--text_muted_color)) !important;
    font-size: 0.875rem !important;
    text-decoration: none !important;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease !important;
}
.blog-post-single .social-btn:hover {
    border-color: rgb(var(--primary_color)) !important;
    color: rgb(var(--primary_color)) !important;
    background: rgba(var(--primary_color), 0.06) !important;
}

/* == BLOG: featured image — scaled not cropped ============== */
.blog-post-featured-img {
    margin: 24px 0 32px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    text-align: center !important;
    background: rgb(var(--background_color)) !important;
}
.blog-post-featured-img-el {
    max-width: 100% !important;
    max-height: 400px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 16px !important;
    display: inline-block !important;
}

/* == BLOG: listing page card fix ============================ */
.blog-listing .blog-post {
    display: flex !important;
    flex-direction: column !important;
}
.blog-listing .blog-post-header {
    height: 200px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}
.blog-listing .blog-post-body {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* == BLOG LISTING: read more link ========================== */
.blog-read-more {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    color: rgb(var(--primary_color)) !important;
    text-decoration: none !important;
    transition: gap 0.2s ease !important;
}
.blog-read-more:hover {
    gap: 8px !important;
    color: rgb(var(--primary_color)) !important;
}

/* == BLOG LISTING: image corner fix ======================== */
.blog-listing .blog-post {
    overflow: hidden !important;
}
.blog-listing .blog-post-header {
    overflow: hidden !important;
    border-radius: 0 !important;
}
.blog-listing .blog-post-header a {
    display: block !important;
    height: 100% !important;
    overflow: hidden !important;
}
.blog-listing .blog-post-img {
    border-radius: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* == BLOG LISTING: hide calendar icon ====================== */
.blog-listing .blog-post-meta i {
    display: none !important;
}

/* == BLOG LISTING: uniform category pill =================== */
.blog-listing .blog-post-category {
    background: rgba(var(--primary_color), 0.08) !important;
    color: rgb(var(--primary_color)) !important;
    border: none !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    text-decoration: none !important;
    display: inline-block !important;
}

/* == BLOG LISTING: category pill high specificity fix ======= */
.blog-listing div.blog-post div.blog-post-body div.blog-post-meta a.blog-post-category {
    background: rgba(var(--primary_color), 0.08) !important;
    color: rgb(var(--primary_color)) !important;
    border: 1px solid rgba(var(--primary_color), 0.15) !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

/* == BLOG: navigation bar =================================== */
.blog-nav-bar {
    background: rgb(var(--elements_background_color));
    border-bottom: 2px solid rgb(var(--border_color));
    padding: 12px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.blog-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.blog-nav-brand {
    font-size: 0.9rem;
    font-weight: 700;
    color: rgb(var(--secondary_color));
    text-decoration: none;
    letter-spacing: -0.01em;
    transition: color 0.15s ease;
}
.blog-nav-brand:hover {
    color: rgb(var(--primary_color));
}
.blog-nav-back {
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgb(var(--text_muted_color));
    text-decoration: none;
    transition: color 0.15s ease;
}
.blog-nav-back:hover {
    color: rgb(var(--primary_color));
}

/* == BLOG ARTICLE: meta row — hide calendar icon ============ */
.blog-post-single .blog-post-meta i {
    display: none !important;
}

/* == BLOG ARTICLE: category pill =========================== */
.blog-post-single .blog-post-category {
    background: rgba(var(--primary_color), 0.08) !important;
    color: rgb(var(--primary_color)) !important;
    border: none !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    padding: 4px 12px !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    text-decoration: none !important;
}

/* == BLOG ARTICLE: featured image — full width no grey ====== */
.blog-post-featured-img {
    margin: 24px 0 32px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: transparent !important;
    border: none !important;
    text-align: left !important;
}
.blog-post-featured-img-el {
    width: 100% !important;
    max-height: 420px !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 16px !important;
    margin: 0 !important;
}

/* == BLOG NAV: brand styling ================================ */
.blog-nav-brand {
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    color: rgb(var(--secondary_color)) !important;
    text-decoration: none !important;
}

/* == BLOG ARTICLE: category pill force override ============= */
.blog-post-single .blog-post-meta .blog-post-category,
.blog-post-single .blog-post-meta a.blog-post-category,
a.blog-post-category {
    background: rgba(var(--primary_color), 0.08) !important;
    color: rgb(var(--primary_color)) !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    padding: 4px 12px !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
}
.blog-post-single .blog-post-meta .blog-post-category i {
    display: none !important;
}

/* == BLOG ARTICLE: featured image full height =============== */
.blog-post-featured-img {
    margin: 24px 0 32px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: transparent !important;
    border: none !important;
}
.blog-post-featured-img-el {
    width: 100% !important;
    height: auto !important;
    max-height: 360px !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 16px !important;
}

/* ============================================================
   FOOTER REDESIGN
   Last updated: 2026-04-19 / v1.3.145
   ============================================================ */

/* == FOOTER: column headers ================================= */
.footer .footer-title .h5 {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #ffffff !important;
    margin-bottom: 0 !important;
}
.footer .footer-title {
    margin-bottom: 20px !important;
}

/* == FOOTER: links ========================================== */
.footer .footer-links .footer-link {
    margin-bottom: 10px !important;
}
.footer .footer-text {
    font-size: 0.875rem !important;
    color: rgba(255,255,255,0.70) !important;
    transition: color 0.15s ease !important;
    text-decoration: none !important;
}
.footer .footer-links .footer-link a:hover,
.footer .footer-text:hover {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* == FOOTER: newsletter section ============================= */
.footer-subscribe h3 {
    font-size: 1.375rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    color: #ffffff !important;
    margin-bottom: 8px !important;
}
.footer-subscribe p {
    font-size: 0.875rem !important;
    color: rgba(255,255,255,0.60) !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
}
.footer-subscribe .form-control {
    background: rgba(255,255,255,0.08) !important;
    border: 1.5px solid rgba(255,255,255,0.15) !important;
    color: #ffffff !important;
    border-radius: 10px 0 0 10px !important;
    padding: 12px 16px !important;
    font-size: 0.875rem !important;
}
.footer-subscribe .form-control::placeholder {
    color: rgba(255,255,255,0.35) !important;
}
.footer-subscribe .form-control:focus {
    border-color: rgba(255,255,255,0.40) !important;
    box-shadow: none !important;
    background: rgba(255,255,255,0.12) !important;
}
.footer-subscribe .btn {
    border-radius: 0 10px 10px 0 !important;
    font-weight: 700 !important;
    font-size: 0.875rem !important;
}

/* == FOOTER: social icons =================================== */
.footer h6 {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #ffffff !important;
    margin-bottom: 12px !important;
}
.footer .socials {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
.footer .socials .social-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: rgba(255,255,255,0.70) !important;
    font-size: 0.875rem !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
}
.footer .socials .social-btn:hover {
    background: rgba(255,255,255,0.16) !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.30) !important;
}

/* == FOOTER: lower bar ====================================== */
.footer .footer-lower {
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    padding-block: 18px !important;
}
.footer .footer-copyright {
    font-size: 0.8125rem !important;
    color: rgba(255,255,255,0.40) !important;
}

/* == FOOTER: upper padding ================================== */
.footer .footer-upper {
    padding-block: 64px !important;
}

/* ============================================================
   NAVBAR REFINEMENT
   ============================================================ */
.nav-bar .link .link-title span {
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
}
.nav-bar .link:hover .link-title span {
    color: rgb(var(--primary_color)) !important;
}
.nav-bar .btn-outline-primary {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    padding: 7px 16px !important;
    border-radius: 8px !important;
}
.nav-bar .btn-primary {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    padding: 7px 16px !important;
    border-radius: 8px !important;
}

/* == FOOTER: logo and brand statement ======================= */
.footer-brand {
    margin-bottom: 24px;
}
.footer-logo {
    height: 48px;
    width: auto;
    display: block;
    margin-bottom: 12px;
    opacity: 0.95;
}
.footer-brand-text {
    font-size: 0.8125rem !important;
    color: rgba(255,255,255,0.50) !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
    max-width: 300px;
}

/* == FOOTER: aurora gradient background ===================== */
.footer {
    background: linear-gradient(160deg,
        rgb(var(--secondary_color)) 0%,
        #1a0a7a 35%,
        #1e0a8f 55%,
        #0d1259 75%,
        rgb(var(--secondary_color)) 100%) !important;
    position: relative !important;
    overflow: hidden !important;
}
.footer::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px) !important;
    background-size: 28px 28px !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
.footer::after {
    content: '' !important;
    position: absolute !important;
    top: -200px !important;
    right: -100px !important;
    width: 500px !important;
    height: 500px !important;
    background: radial-gradient(circle, rgba(var(--primary_color), 0.12) 0%, transparent 70%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
.footer .footer-upper,
.footer .footer-lower {
    position: relative !important;
    z-index: 1 !important;
}

/* ============================================================
   NAVBAR — solid dark navy, always readable
   Last updated: 2026-04-19 / v1.3.154
   ============================================================ */
body:not(.business-home) .nav-bar.nav-bar-bg {
    background: rgba(5, 4, 20, 0.95) !important;
    border-bottom: 1px solid rgba(255,255,255,0.12) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,0.08) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
}
body:not(.business-home) .nav-bar.nav-bar-bg .link .link-title span,
body:not(.business-home) .nav-bar.nav-bar-bg .drop-down-btn span {
    color: rgba(255,255,255,0.85) !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
}
body:not(.business-home) .nav-bar.nav-bar-bg .link:hover .link-title span {
    color: #ffffff !important;
}
body:not(.business-home) .nav-bar.nav-bar-bg .nav-bar-menu-btn i {
    color: rgba(255,255,255,0.85) !important;
}
body:not(.business-home) .nav-bar.nav-bar-bg .user-name {
    color: rgba(255,255,255,0.85) !important;
}
body:not(.business-home) .nav-bar.nav-bar-bg .fa-angle-down {
    color: rgba(255,255,255,0.60) !important;
}
body:not(.business-home) .nav-bar.nav-bar-bg .btn-outline-primary {
    border-color: rgba(255,255,255,0.40) !important;
    color: #ffffff !important;
    background: transparent !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
}
body:not(.business-home) .nav-bar.nav-bar-bg .btn-outline-primary:hover {
    background: rgba(255,255,255,0.10) !important;
    border-color: rgba(255,255,255,0.70) !important;
}
body:not(.business-home) .nav-bar.nav-bar-bg .btn-primary {
    background: rgba(255,255,255,0.12) !important;
    border-color: rgba(255,255,255,0.20) !important;
    color: #ffffff !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
}
body:not(.business-home) .nav-bar.nav-bar-bg .btn-primary:hover {
    background: rgba(255,255,255,0.20) !important;
}


/* ============================================================
   NAVBAR — CTA BUTTON HIERARCHY v2
   Last updated: 2026-04-19 / v1.3.156
   ============================================================ */

/* Safety net — icons suppressed in blade too but CSS as fallback */
body:not(.business-home) .nav-bar .nav-btn-signin i,
body:not(.business-home) .nav-bar .nav-btn-signup i,
body:not(.business-home) .nav-bar .nav-btn-business i {
    display: none !important;
}

/* Shared pill base */
body:not(.business-home) .nav-bar .nav-btn-signin,
body:not(.business-home) .nav-bar .nav-btn-signup,
body:not(.business-home) .nav-bar .nav-btn-business {
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 50px !important;
    font-size: 13.5px !important;
    line-height: 1 !important;
    transition: all 0.18s ease !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
}

/* Sign In — ghost pill, lowest visual weight */
body:not(.business-home) .nav-bar .nav-btn-signin {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: rgba(255, 255, 255, 0.82) !important;
    padding: 7px 18px !important;
    font-weight: 500 !important;
}
body:not(.business-home) .nav-bar .nav-btn-signin:hover {
    border-color: rgba(255, 255, 255, 0.55) !important;
    color: rgba(255, 255, 255, 1) !important;
    background: transparent !important;
}

/* Sign Up — white inverted pill, primary new-user CTA */
body:not(.business-home) .nav-bar .nav-btn-signup {
    background: rgba(255, 255, 255, 0.92) !important;
    border: none !important;
    color: #0c0a28 !important;
    padding: 7px 20px !important;
    font-weight: 700 !important;
}
body:not(.business-home) .nav-bar .nav-btn-signup:hover {
    background: rgba(255, 255, 255, 1) !important;
    color: #0c0a28 !important;
}

/* Separator — visual break between consumer and business CTAs */
body:not(.business-home) .nav-bar .nav-btn-sep {
    display: inline-block !important;
    width: 1px !important;
    height: 18px !important;
    background: rgba(255, 255, 255, 0.13) !important;
    margin: 0 5px !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
    align-self: center !important;
}

/* For Businesses — teal CTA, distinct audience signal */
body:not(.business-home) .nav-bar .nav-btn-business {
    background: #5BE6C9 !important;
    border: none !important;
    color: #0c0a28 !important;
    padding: 7px 20px !important;
    font-weight: 700 !important;
}
body:not(.business-home) .nav-bar .nav-btn-business:hover {
    background: #72edd3 !important;
    color: #0c0a28 !important;
}
/* Arrow via CSS — blade icon will be removed, this replaces it */
body:not(.business-home) .nav-bar .nav-btn-business::after {
    content: "\00a0\2192" !important;
}

/* Widen mobile drawer so it feels intentional, not clipped */
@media (max-width: 1399.98px) {
    body:not(.business-home) .nav-bar .nav-bar-menu-inner {
        width: min(85vw, 340px) !important;
    }
}


/* ============================================================
   FOOTER — EMAIL FORM UNIFICATION, GLOW DEPTH, BOTTOM BAR
   Last updated: 2026-04-19 / v1.3.156
   ============================================================ */

/* Right-side radial glow — adds depth to the flat gradient */
.footer-section::after {
    content: '' !important;
    position: absolute !important;
    top: 10% !important;
    right: -5% !important;
    width: 40% !important;
    height: 80% !important;
    background: radial-gradient(ellipse, rgba(58, 67, 209, 0.12) 0%, transparent 58%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* Unified subscribe form — single border wraps input + button */
.footer-section .input-group {
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    flex-wrap: nowrap !important;
    background: transparent !important;
    box-shadow: none !important;
}
.footer-section .input-group .form-control {
    border: none !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.07) !important;
    color: rgba(255, 255, 255, 0.9) !important;
    padding: 11px 14px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    flex: 1 !important;
    min-width: 0 !important;
}
.footer-section .input-group .form-control::placeholder {
    color: rgba(255, 255, 255, 0.32) !important;
}
.footer-section .input-group .form-control:focus {
    background: rgba(255, 255, 255, 0.1) !important;
    box-shadow: none !important;
    outline: none !important;
}
.footer-section .input-group .btn,
.footer-section .input-group-append .btn {
    border: none !important;
    border-radius: 0 !important;
    background: #5BE6C9 !important;
    color: #0c0a28 !important;
    padding: 11px 18px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    cursor: pointer !important;
}
.footer-section .input-group .btn:hover,
.footer-section .input-group-append .btn:hover {
    background: #72edd3 !important;
}
/* Hide icon in subscribe button; arrow added in blade */
.footer-section .input-group .btn i {
    display: none !important;
}
/* Bootstrap 4 append compat */
.footer-section .input-group-append {
    margin-left: 0 !important;
}

/* Footer bottom bar */
.footer-bottom-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 18px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    position: relative !important;
    z-index: 1 !important;
}
.footer-bottom-bar .footer-copy {
    color: rgba(255, 255, 255, 0.28) !important;
    font-size: 12.5px !important;
    margin: 0 !important;
}
.footer-bottom-bar .footer-bottom-links {
    display: flex !important;
    gap: 22px !important;
    align-items: center !important;
}
.footer-bottom-bar .footer-bottom-links a {
    color: rgba(255, 255, 255, 0.28) !important;
    font-size: 12.5px !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}
.footer-bottom-bar .footer-bottom-links a:hover {
    color: rgba(255, 255, 255, 0.6) !important;
}


/* ============================================================
   NAVBAR — MOBILE DRAWER (max-width: 1399.98px)
   Last updated: 2026-04-19 / v1.3.157
   ============================================================ */

/* Override vendor white drawer with dark brand background */
@media (max-width: 1399.98px) {
    body:not(.business-home) .nav-bar .nav-bar-menu-inner {
        background-color: rgba(5, 4, 20, 0.98) !important;
    }

    /* Close button — make visible on dark bg */
    body:not(.business-home) .nav-bar .nav-bar-menu-close {
        color: rgba(255, 255, 255, 0.7) !important;
    }
    body:not(.business-home) .nav-bar .nav-bar-menu-close:hover {
        color: rgba(255, 255, 255, 1) !important;
    }

    /* Buttons block — stack vertically, full width */
    body:not(.business-home) .nav-bar .nav-bar-buttons {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        padding: 20px 0 10px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
        margin-top: 10px !important;
    }

    /* Sign In — ghost, full width */
    body:not(.business-home) .nav-bar .nav-btn-signin {
        width: 100% !important;
        justify-content: center !important;
        padding: 11px 20px !important;
        font-size: 14px !important;
    }

    /* Sign Up — white fill, full width */
    body:not(.business-home) .nav-bar .nav-btn-signup {
        width: 100% !important;
        justify-content: center !important;
        padding: 11px 20px !important;
        font-size: 14px !important;
    }

    /* Separator — horizontal rule on mobile, not vertical tick */
    body:not(.business-home) .nav-bar .nav-btn-sep {
        width: 100% !important;
        height: 1px !important;
        background: rgba(255, 255, 255, 0.1) !important;
        margin: 2px 0 !important;
    }

    /* For Businesses — teal, full width */
    body:not(.business-home) .nav-bar .nav-btn-business {
        width: 100% !important;
        justify-content: center !important;
        padding: 11px 20px !important;
        font-size: 14px !important;
    }
}


/* ============================================================
   BUSINESS HERO — PRISMATIC ORB
   Last updated: 2026-04-19 / v1.3.159
   ============================================================ */

@keyframes biz-spin {
    to { transform: rotate(360deg); }
}
@keyframes biz-float {
    0%, 100% { transform: translateY(0px); }
    50%       { transform: translateY(-12px); }
}
@keyframes biz-pulse-glow {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50%       { opacity: 0.85; transform: scale(1.1); }
}
@keyframes biz-pulse-specular {
    0%, 100% { opacity: 0.45; }
    50%       { opacity: 0.75; }
}

.biz-hero-orb-scene {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
}

/* Floating wrapper */
.biz-orb-wrap {
    position: relative;
    width: 224px;
    height: 224px;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: biz-float 5s ease-in-out infinite;
}

/* Ambient glow behind the disc */
.biz-orb-glow {
    position: absolute;
    inset: -20px;
    border-radius: 50%;
    background: transparent;
    box-shadow:
        0 0 50px 16px rgba(91, 230, 201, 0.14),
        0 0 100px 40px rgba(58, 67, 209, 0.12),
        0 0 160px 70px rgba(21, 0, 109, 0.18);
    animation: biz-pulse-glow 4s ease-in-out infinite;
    pointer-events: none;
}

/* Spinning prismatic ring */
.biz-ring-spinner {
    position: absolute;
    width: 224px;
    height: 224px;
    border-radius: 50%;
    background: conic-gradient(
        from 0deg,
        #ff0080,
        #ff4500,
        #ffd700,
        #00ff88,
        #00cfff,
        #a259ff,
        #ff0080,
        #ff4500,
        #ffd700,
        #00ff88,
        #00cfff,
        #a259ff,
        #ff0080
    );
    animation: biz-spin 4s linear infinite;
    filter: blur(1.5px) brightness(1.25);
}

/* Dark mask — only the ring edge shows through */
.biz-ring-mask {
    position: absolute;
    width: 202px;
    height: 202px;
    border-radius: 50%;
    background: #15006D;
}

/* Glass disc */
.biz-glass-disc {
    position: relative;
    width: 196px;
    height: 196px;
    border-radius: 50%;
    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.10) 0%,
        rgba(255, 255, 255, 0.03) 55%,
        rgba(0, 0, 0, 0.35) 100%
    );
    border: 1px solid rgba(255, 255, 255, 0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    z-index: 2;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Specular highlight — light bloom at top of disc */
.biz-disc-specular {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 70px;
    background: radial-gradient(
        ellipse,
        rgba(255, 255, 255, 0.60) 0%,
        rgba(255, 255, 255, 0.14) 50%,
        transparent 70%
    );
    border-radius: 50%;
    filter: blur(8px);
    animation: biz-pulse-specular 4s ease-in-out infinite;
    pointer-events: none;
}

/* Inner rim catch light */
.biz-glass-disc::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: linear-gradient(155deg, rgba(255, 255, 255, 0.09) 0%, transparent 50%);
    pointer-events: none;
}

/* Shield / verification icon */
.biz-disc-icon {
    position: relative;
    z-index: 3;
    width: 72px;
    height: 72px;
    filter: drop-shadow(0 0 12px rgba(91, 230, 201, 0.55))
            drop-shadow(0 2px 16px rgba(255, 255, 255, 0.25));
}

/* "Verified Business" badge pill */
.biz-orb-badge {
    background: rgba(91, 230, 201, 0.12);
    border: 1px solid rgba(91, 230, 201, 0.28);
    color: #5BE6C9;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 50px;
    white-space: nowrap;
}

/* Stats row */
.biz-orb-stats {
    display: flex;
    align-items: center;
    gap: 24px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 18px 28px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.biz-orb-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.biz-orb-stat-num {
    color: #ffffff;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
}

.biz-orb-stat-label {
    color: rgba(255, 255, 255, 0.48);
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}

.biz-orb-stat-divider {
    width: 1px;
    height: 32px;
    background: rgba(255, 255, 255, 0.12);
    flex-shrink: 0;
}

/* Ring mask matches hero gradient at different viewport positions */
@media (min-width: 1200px) {
    .biz-ring-mask {
        background: linear-gradient(135deg, #15006D 0%, #1e0a8f 40%, #2a1aa0 70%, #3A43D1 100%);
    }
}


/* ============================================================
   BUSINESS HERO ORB — MOBILE RESPONSIVE
   Last updated: 2026-04-19 / v1.3.160
   ============================================================ */

@media (max-width: 1199.98px) {
    .biz-hero-orb-scene {
        gap: 18px;
        padding-bottom: 8px;
    }

    /* Scale the whole orb wrap down */
    .biz-orb-wrap {
        width: 160px;
        height: 160px;
        animation-duration: 5s;
    }

    .biz-ring-spinner {
        width: 160px;
        height: 160px;
    }

    .biz-ring-mask {
        width: 144px;
        height: 144px;
        /* Flat colour match for mobile hero gradient */
        background: #1a0a82;
    }

    .biz-glass-disc {
        width: 138px;
        height: 138px;
    }

    .biz-disc-icon {
        width: 50px;
        height: 50px;
    }

    .biz-disc-specular {
        width: 70px;
        height: 50px;
    }

    .biz-orb-glow {
        box-shadow:
            0 0 30px 10px rgba(91, 230, 201, 0.12),
            0 0 60px 25px rgba(58, 67, 209, 0.10),
            0 0 100px 45px rgba(21, 0, 109, 0.14);
    }

    /* Hide stats strip on mobile — too wide, not needed */
    .biz-orb-stats {
        display: none !important;
    }

    /* Keep badge but smaller */
    .biz-orb-badge {
        font-size: 11px;
        padding: 5px 13px;
    }
}

@media (max-width: 575.98px) {
    .biz-orb-wrap {
        width: 130px;
        height: 130px;
    }

    .biz-ring-spinner {
        width: 130px;
        height: 130px;
    }

    .biz-ring-mask {
        width: 116px;
        height: 116px;
    }

    .biz-glass-disc {
        width: 112px;
        height: 112px;
    }

    .biz-disc-icon {
        width: 40px;
        height: 40px;
    }
}


/* ============================================================
   BUSINESS HERO ORB - MOBILE RESPONSIVE
   Last updated: 2026-04-19 / v1.3.161
   ============================================================ */

@media (max-width: 1199.98px) {
    .biz-hero-orb-scene {
        gap: 18px;
        padding-bottom: 8px;
    }
    .biz-orb-wrap {
        width: 160px;
        height: 160px;
    }
    .biz-ring-spinner {
        width: 160px;
        height: 160px;
    }
    .biz-ring-mask {
        width: 144px;
        height: 144px;
        background: #1a0a82;
    }
    .biz-glass-disc {
        width: 138px;
        height: 138px;
    }
    .biz-disc-icon {
        width: 50px;
        height: 50px;
    }
    .biz-disc-specular {
        width: 70px;
        height: 50px;
    }
    .biz-orb-glow {
        box-shadow: 0 0 30px 10px rgba(91,230,201,0.12), 0 0 60px 25px rgba(58,67,209,0.10), 0 0 100px 45px rgba(21,0,109,0.14);
    }
    .biz-orb-stats {
        display: none;
    }
    .biz-orb-badge {
        font-size: 11px;
        padding: 5px 13px;
    }
}

@media (max-width: 575.98px) {
    .biz-orb-wrap {
        width: 130px;
        height: 130px;
    }
    .biz-ring-spinner {
        width: 130px;
        height: 130px;
    }
    .biz-ring-mask {
        width: 116px;
        height: 116px;
    }
    .biz-glass-disc {
        width: 112px;
        height: 112px;
    }
    .biz-disc-icon {
        width: 40px;
        height: 40px;
    }
}


/* ============================================================
   BUSINESS HERO ORB - MOBILE RESPONSIVE
   Last updated: 2026-04-19 / v1.3.162
   ============================================================ */

@media (max-width: 1199.98px) {
    .biz-hero-orb-scene { gap: 18px; padding-bottom: 8px; }
    .biz-orb-wrap { width: 160px; height: 160px; }
    .biz-ring-spinner { width: 160px; height: 160px; }
    .biz-ring-mask { width: 144px; height: 144px; background: #1a0a82; }
    .biz-glass-disc { width: 138px; height: 138px; }
    .biz-disc-icon { width: 50px; height: 50px; }
    .biz-disc-specular { width: 70px; height: 50px; }
    .biz-orb-glow { box-shadow: 0 0 30px 10px rgba(91,230,201,0.12), 0 0 60px 25px rgba(58,67,209,0.10), 0 0 100px 45px rgba(21,0,109,0.14); }
    .biz-orb-stats { display: none; }
    .biz-orb-badge { font-size: 11px; padding: 5px 13px; }
}

@media (max-width: 575.98px) {
    .biz-orb-wrap { width: 130px; height: 130px; }
    .biz-ring-spinner { width: 130px; height: 130px; }
    .biz-ring-mask { width: 116px; height: 116px; }
    .biz-glass-disc { width: 112px; height: 112px; }
    .biz-disc-icon { width: 40px; height: 40px; }
}

/* ============================================================
   BUSINESS FEATURES SECTION - HEADER TEXT ON DARK BG
   Last updated: 2026-04-19 / v1.3.171
   ============================================================ */
.business-home .features-section .section-title { color: rgba(255,255,255,0.95) !important; }
.business-home .features-section .section-text { color: rgba(255,255,255,0.55) !important; }
.business-home .features-section .hiw-eyebrow { color: #5BE6C9 !important; }


/* ============================================================
   WHY RATECREST SECTION
   Last updated: 2026-04-19 / v1.3.172
   ============================================================ */

.business-home .why-rc-section {
    background: linear-gradient(160deg, #15006D 0%, #1a0a7a 35%, #1e0a8f 55%, #0d1259 75%, #15006D 100%);
    position: relative;
    overflow: hidden;
    padding-top: 40px;
    padding-bottom: 40px;
}
.business-home .why-rc-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
}
.business-home .why-rc-section::after {
    content: '';
    position: absolute;
    top: -20%;
    right: -8%;
    width: 50%;
    height: 80%;
    background: radial-gradient(ellipse, rgba(58,67,209,0.14) 0%, transparent 60%);
    pointer-events: none;
}
.business-home .why-rc-section .container {
    position: relative;
    z-index: 1;
}
.business-home .why-rc-section .hiw-eyebrow {
    color: #5BE6C9;
}
.business-home .why-rc-heading {
    color: rgba(255,255,255,0.95) !important;
    font-weight: 800 !important;
}
.business-home .why-rc-section .section-text {
    color: rgba(255,255,255,0.52) !important;
}

.business-home .why-rc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 20px;
    overflow: hidden;
    margin-top: 8px;
}

.business-home .why-rc-item {
    padding: 24px 28px;
    position: relative;
    transition: background 0.3s ease;
}
.business-home .why-rc-item:hover {
    background: rgba(255,255,255,0.03);
}
.business-home .why-rc-item:nth-child(1),
.business-home .why-rc-item:nth-child(3) {
    border-right: 1px solid rgba(255,255,255,0.07);
}
.business-home .why-rc-item:nth-child(1),
.business-home .why-rc-item:nth-child(2) {
    border-bottom: 1px solid rgba(255,255,255,0.07);
}

.business-home .why-rc-num {
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px rgba(255,255,255,0.09);
    margin-bottom: 10px;
    display: block;
    transition: -webkit-text-stroke 0.3s ease;
}
.business-home .why-rc-item:hover .why-rc-num {
    -webkit-text-stroke: 1px rgba(91,230,201,0.30);
}

.business-home .why-rc-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(91,230,201,0.15), rgba(58,67,209,0.20));
    border: 1px solid rgba(91,230,201,0.20);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    transition: all 0.3s ease;
}
.business-home .why-rc-item:hover .why-rc-icon {
    background: linear-gradient(135deg, rgba(91,230,201,0.25), rgba(58,67,209,0.30));
    border-color: rgba(91,230,201,0.40);
    transform: translateY(-2px);
}
.business-home .why-rc-icon svg {
    width: 20px;
    height: 20px;
    color: #5BE6C9;
}

.business-home .why-rc-title {
    color: rgba(255,255,255,0.95) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    letter-spacing: -0.01em !important;
    line-height: 1.4 !important;
}
.business-home .why-rc-text {
    color: rgba(255,255,255,0.50);
    font-size: 0.875rem;
    line-height: 1.75;
    margin: 0;
}

.business-home .why-rc-line {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 0;
    background: linear-gradient(90deg, #5BE6C9, transparent);
    transition: width 0.5s ease;
    border-radius: 2px;
}
.business-home .why-rc-item:hover .why-rc-line {
    width: 80px;
}

.business-home .why-rc-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin-top: 24px;
    padding: 20px 32px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    flex-wrap: wrap;
}
.business-home .why-rc-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}
.business-home .why-rc-stat-num {
    color: #ffffff;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
}
.business-home .why-rc-stat-label {
    color: rgba(255,255,255,0.38);
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}
.business-home .why-rc-stat-divider {
    width: 1px;
    height: 36px;
    background: rgba(255,255,255,0.10);
    flex-shrink: 0;
}

@media (max-width: 767.98px) {
    .business-home .why-rc-grid {
        grid-template-columns: 1fr;
    }
    .business-home .why-rc-item:nth-child(1),
    .business-home .why-rc-item:nth-child(3) {
        border-right: none;
    }
    .business-home .why-rc-item:nth-child(1),
    .business-home .why-rc-item:nth-child(2),
    .business-home .why-rc-item:nth-child(3) {
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .business-home .why-rc-item {
        padding: 32px 24px;
    }
    .business-home .why-rc-num {
        font-size: 48px;
    }
    .business-home .why-rc-stats {
        gap: 28px;
        padding: 22px 24px;
    }
}


/* ============================================================
   PRICING — BOOK A DEMO LINK
   Last updated: 2026-04-19 / v1.3.172
   ============================================================ */

.business-home .plan-card-v2-demo {
    text-align: center;
    padding: 4px 0 8px;
}
.business-home .plan-demo-link {
    color: rgba(var(--text_muted_color), 0.8);
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
    display: inline-flex;
    align-items: center;
}
.business-home .plan-demo-link:hover {
    color: rgb(var(--primary_color));
}
.business-home .plan-card-v2--featured .plan-demo-link {
    color: rgba(255,255,255,0.55);
}
.business-home .plan-card-v2--featured .plan-demo-link:hover {
    color: #5BE6C9;
}


/* ============================================================
   VERIFIED BUSINESS ORB — PROFILE PAGE
   Last updated: 2026-04-19 / v1.3.172
   ============================================================ */

@keyframes verified-orb-spin {
    to { transform: rotate(360deg); }
}
@keyframes verified-orb-pulse {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.1); }
}

.verified-orb-wrap {
    position: absolute;
    bottom: -4px;
    right: -4px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
}
.verified-orb-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(
        from 0deg,
        #ff0080, #ff4500, #ffd700, #00ff88,
        #00cfff, #a259ff, #ff0080
    );
    animation: verified-orb-spin 3s linear infinite;
    filter: blur(0.5px) brightness(1.2);
}
.verified-orb-mask {
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: #15006D;
    z-index: 1;
}
.verified-orb-disc {
    position: relative;
    inset: 4px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(0,0,0,0.3));
    border: 1px solid rgba(255,255,255,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.25);
}
.verified-orb-icon {
    width: 14px;
    height: 14px;
    filter: drop-shadow(0 0 3px rgba(91,230,201,0.6));
}


/* ============================================================
   PRICING — PRISMATIC DEMO PILL
   Last updated: 2026-04-19 / v1.3.173
   ============================================================ */

@keyframes demo-ring-spin {
    to { transform: rotate(360deg); }
}

.business-home .plan-demo-wrap {
    display: flex;
    justify-content: center;
    padding: 4px 0 8px;
}

.business-home .plan-demo-pill-outer {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    padding: 2px;
    text-decoration: none;
    cursor: pointer;
}

.business-home .plan-demo-ring {
    position: absolute;
    inset: 0;
    border-radius: 50px;
    background: conic-gradient(
        from 0deg,
        #ff0080, #ff4500, #ffd700,
        #00ff88, #00cfff, #a259ff, #ff0080
    );
    animation: demo-ring-spin 3s linear infinite;
    filter: blur(0.5px) brightness(1.2);
}

.business-home .plan-demo-pill-inner {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    background: linear-gradient(135deg, rgba(15,8,60,0.95), rgba(30,10,143,0.95));
    border-radius: 50px;
    padding: 8px 20px;
    color: rgba(255,255,255,0.85);
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: color 0.2s ease;
}

.business-home .plan-demo-pill-outer:hover .plan-demo-pill-inner {
    color: #5BE6C9;
}

/* On non-featured cards — adapt to light background */
.business-home .plan-card-v2:not(.plan-card-v2--featured) .plan-demo-pill-inner {
    background: linear-gradient(135deg, rgba(21,0,109,0.08), rgba(58,67,209,0.12));
    color: rgb(var(--secondary_color));
}
.business-home .plan-card-v2:not(.plan-card-v2--featured) .plan-demo-pill-outer:hover .plan-demo-pill-inner {
    color: rgb(var(--primary_color));
}

/* ============================================================
   VERIFIED ORB — SIZE FIX (52px)
   Last updated: 2026-04-19 / v1.3.173
   ============================================================ */

.verified-orb-wrap {
    position: absolute;
    bottom: -6px;
    right: -6px;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
}
.verified-orb-mask {
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: #15006D;
    z-index: 1;
}
.verified-orb-disc {
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(0,0,0,0.3));
    border: 1px solid rgba(255,255,255,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.25);
}
.verified-orb-icon {
    width: 20px;
    height: 20px;
    filter: drop-shadow(0 0 4px rgba(91,230,201,0.7));
}


/* ============================================================
   VERIFIED ORB - LISTING CARD LIGHT BG VARIANT
   Last updated: 2026-04-19 / v1.3.175
   ============================================================ */

.item-img .verified-orb-mask {
    background: rgb(var(--elements_background_color));
}
.item-img .verified-orb-wrap {
    width: 44px;
    height: 44px;
    bottom: -4px;
    right: -4px;
}
.item-img .verified-orb-disc {
    width: 34px;
    height: 34px;
}
.item-img .verified-orb-icon {
    width: 16px;
    height: 16px;
}


/* ============================================================
   VERIFIED ORB - GOLD vs BLUE TIERS
   Last updated: 2026-04-19 / v1.3.176
   ============================================================ */

/* Blue tier — free verified */
.verified-orb-blue .verified-orb-ring {
    background: conic-gradient(
        from 0deg,
        #3A43D1, #5BE6C9, #3A43D1, #00cfff, #3A43D1
    );
}
.verified-orb-blue .orb-check {
    stroke: #5BE6C9;
}

/* Gold tier — paid verified */
.verified-orb-gold .verified-orb-ring {
    background: conic-gradient(
        from 0deg,
        #b8860b, #ffd700, #ffe066, #ffc200, #ffaa00, #ffd700, #b8860b
    );
    filter: blur(0.5px) brightness(1.3);
}
.verified-orb-gold .verified-orb-disc {
    background: linear-gradient(145deg, rgba(255,210,0,0.18), rgba(180,120,0,0.35));
    border-color: rgba(255,215,0,0.30);
    box-shadow: inset 0 1px 0 rgba(255,235,100,0.35);
}
.verified-orb-gold .verified-orb-mask {
    background: #1a1000;
}
.verified-orb-gold .orb-check {
    stroke: #FFD700;
    filter: drop-shadow(0 0 3px rgba(255,215,0,0.8));
}
.verified-orb-gold .verified-orb-icon path:first-child {
    stroke: rgba(255,215,0,0.85);
    fill: rgba(255,200,0,0.12);
}

/* Gold mask on light bg listing cards */
.item-img .verified-orb-gold .verified-orb-mask {
    background: #fff8e1;
}


/* ============================================================
   PRICING - DEMO PILL FIXED (static border ring, not spinning blob)
   Last updated: 2026-04-19 / v1.3.176
   ============================================================ */

@keyframes demo-ring-spin {
    to { transform: rotate(360deg); }
}

.business-home .plan-demo-wrap {
    display: flex;
    justify-content: center;
    padding: 6px 0 10px;
}

.business-home .plan-demo-pill-outer {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    padding: 1.5px;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;
}

/* The spinning ring — clipped to pill shape by overflow:hidden on parent */
.business-home .plan-demo-ring {
    position: absolute;
    width: 200%;
    height: 400%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(0deg);
    background: conic-gradient(
        from 0deg,
        #ff0080, #ff4500, #ffd700,
        #00ff88, #00cfff, #a259ff, #ff0080
    );
    animation: demo-ring-spin 3s linear infinite;
}

/* The pill surface sits on top of the ring */
.business-home .plan-demo-pill-inner {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    border-radius: 50px;
    padding: 9px 22px;
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
    transition: color 0.2s ease;
}

/* On featured (dark) card */
.business-home .plan-card-v2--featured .plan-demo-pill-inner {
    background: rgba(10, 5, 40, 0.92);
    color: rgba(255,255,255,0.80);
}
.business-home .plan-card-v2--featured .plan-demo-pill-outer:hover .plan-demo-pill-inner {
    color: #5BE6C9;
}

/* On light cards */
.business-home .plan-card-v2:not(.plan-card-v2--featured) .plan-demo-pill-inner {
    background: rgba(255,255,255,0.95);
    color: rgb(var(--secondary_color));
}
.business-home .plan-card-v2:not(.plan-card-v2--featured) .plan-demo-pill-outer:hover .plan-demo-pill-inner {
    color: rgb(var(--primary_color));
}


/* ============================================================
   VERIFIED BADGE - GOLD TIER
   Last updated: 2026-04-19 / v1.3.177
   ============================================================ */

.item-verified--gold i {
    color: #FFD700 !important;
}

/* ============================================================
   PRICING - DEMO PILL TRUE ORBITING RING
   Last updated: 2026-04-19 / v1.3.177
   ============================================================ */

@keyframes pill-ring-orbit {
    0%   { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

.business-home .plan-demo-wrap {
    display: flex;
    justify-content: center;
    padding: 16px 16px 4px;
}

.business-home .plan-demo-pill-outer {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    padding: 2px;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;
    width: 100%;
}

/* True orbiting ring — wide square rotates behind pill shape,
   clipped by overflow:hidden to appear as a travelling border */
.business-home .plan-demo-pill-outer::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    height: 600%;
    background: conic-gradient(
        from 0deg,
        transparent 0deg,
        #ff0080 60deg,
        #ff4500 90deg,
        #ffd700 120deg,
        #00ff88 180deg,
        #00cfff 220deg,
        #a259ff 270deg,
        #ff0080 300deg,
        transparent 360deg
    );
    animation: pill-ring-orbit 2.5s linear infinite;
    border-radius: 0;
}

.business-home .plan-demo-pill-inner {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    padding: 10px 20px;
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
    transition: color 0.2s ease;
    width: 100%;
}

.business-home .plan-card-v2--featured .plan-demo-pill-inner {
    background: #0f0832;
    color: rgba(255,255,255,0.80);
}
.business-home .plan-card-v2--featured .plan-demo-pill-outer:hover .plan-demo-pill-inner {
    color: #5BE6C9;
}

.business-home .plan-card-v2:not(.plan-card-v2--featured) .plan-demo-pill-inner {
    background: #ffffff;
    color: rgb(var(--secondary_color));
}
.business-home .plan-card-v2:not(.plan-card-v2--featured) .plan-demo-pill-outer:hover .plan-demo-pill-inner {
    color: rgb(var(--primary_color));
}


/* ============================================================
   VERIFIED BADGE - PROFILE PAGE SIZE + POSITION
   Last updated: 2026-04-19 / v1.3.178
   ============================================================ */

/* Profile header — larger badge, bottom-right of logo */
.item-lg .item-img .item-verified {
    right: 2px !important;
    bottom: 2px !important;
    padding: 4px !important;
    border-radius: 50% !important;
    font-size: 0.75rem !important;
    box-shadow: 0 0 0 2px rgb(var(--elements_background_color)) !important;
}

/* Gold variant — override colour */
.item-verified--gold i {
    color: #FFD700 !important;
}

/* Ensure default blue uses the primary colour clearly */
.item-verified:not(.item-verified--gold) i {
    color: rgb(var(--primary_color)) !important;
}


/* ============================================================
   VERIFIED BADGE - INLINE WITH BUSINESS NAME
   Last updated: 2026-04-19 / v1.3.179
   ============================================================ */

.biz-inline-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
    vertical-align: middle;
    line-height: 1;
    cursor: default;
    overflow: visible;
}

.biz-inline-badge i {
    font-size: 20px;
    line-height: 1;
}

/* White backing so it reads on dark header gradient */
.biz-inline-badge--blue {
    color: rgb(var(--primary_color));
    filter: drop-shadow(0 0 6px rgba(58,67,209,0.5));
}

.biz-inline-badge--gold {
    color: #FFD700;
    filter: drop-shadow(0 0 6px rgba(255,215,0,0.6));
}

/* Keep item-title wrapping correctly with inline badge */
.item-lg .item-title {
    flex-wrap: wrap !important;
    line-height: 1.2 !important;
}


/* ============================================================
   FOOTER SUBSCRIBE BUTTON - EXPLICIT OVERRIDE
   Last updated: 2026-04-19 / v1.3.181
   ============================================================ */

.footer-subscribe-btn {
    background: #5BE6C9 !important;
    color: #0c0a28 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 11px 20px !important;
    border: none !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    line-height: 1 !important;
}
.footer-subscribe-btn:hover {
    background: #72edd3 !important;
    color: #0c0a28 !important;
}


/* ============================================================
   BUSINESS PAGE - SECTION SEPARATION + WHY TITLE FIX
   Last updated: 2026-04-19 / v1.3.185
   ============================================================ */

/* Why section title — force white, was inheriting dark */
.business-home .why-rc-title {
    color: rgba(255,255,255,0.95) !important;
}

/* Features section icon image — invert to white on dark bg */
.business-home .features-section .feat-row-icon img {
    filter: brightness(0) invert(1) !important;
    opacity: 0.85;
}

/* Section visual breaks — alternate between full dark and slightly lighter */
.business-home .how-it-works {
    background: rgb(var(--elements_background_color));
    position: relative;
}

/* Features gets the aurora dark */
.business-home .features-section {
    border-top: 1px solid rgba(255,255,255,0.06);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Why section — slightly different shade to break from features */
.business-home .why-rc-section {
    background: linear-gradient(160deg, #0d0a4a 0%, #15006D 30%, #1a0a7a 60%, #0d1259 100%) !important;
}

/* Premium intel section — back to main aurora to close the dark run */
.business-home .prem-intel-section {
    border-top: 1px solid rgba(255,255,255,0.06);
}


/* ============================================================
   WHY SECTION - DEFINITIVE TITLE + HEADER FIX
   Last updated: 2026-04-19 / v1.3.189
   ============================================================ */

.business-home .why-rc-section p,
.business-home .why-rc-section .section-title,
.business-home .why-rc-section .hiw-eyebrow {
    color: inherit;
}
.business-home .why-rc-section .why-rc-heading {
    color: rgba(255,255,255,0.95) !important;
}
.business-home .why-rc-section .section-text {
    color: rgba(255,255,255,0.52) !important;
}
.business-home .why-rc-section .hiw-eyebrow {
    color: #5BE6C9 !important;
}
.business-home .why-rc-title {
    color: rgba(255,255,255,0.95) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    letter-spacing: -0.01em !important;
    line-height: 1.4 !important;
}
.business-home .why-rc-text {
    color: rgba(255,255,255,0.55) !important;
    font-size: 0.875rem !important;
    line-height: 1.75 !important;
    margin: 0 !important;
}

/* Features section — revert icon images back (light bg, no invert needed) */
.business-home .features-section .feat-row-icon img {
    filter: none !important;
    opacity: 1 !important;
}
.business-home .features-section .section-title {
    color: rgb(var(--secondary_color)) !important;
}
.business-home .features-section .section-text {
    color: rgb(var(--text_muted_color)) !important;
}
.business-home .features-section .hiw-eyebrow {
    color: rgb(var(--primary_color)) !important;
}


/* ============================================================
   WHY SECTION - NUCLEAR TITLE FIX
   Last updated: 2026-04-19 / v1.3.194
   ============================================================ */

.business-home .why-rc-section .why-rc-grid .why-rc-item h4.why-rc-title {
    color: rgba(255,255,255,0.95) !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    line-height: 1.4 !important;
    letter-spacing: -0.01em !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.business-home .why-rc-section .why-rc-grid .why-rc-item p.why-rc-text {
    color: rgba(255,255,255,0.60) !important;
    font-size: 0.875rem !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}


/* ============================================================
   WHY SECTION - WORD-BY-WORD SPEECH ANIMATION
   Last updated: 2026-04-19 / v1.3.196
   ============================================================ */

@keyframes word-speak {
    0% {
        opacity: 0;
        transform: translateY(14px);
        filter: blur(4px);
    }
    60% {
        opacity: 1;
        filter: blur(0px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0px);
    }
}

.business-home .why-rc-animated-words {
    display: inline;
    white-space: normal;
}

.business-home .why-word {
    display: inline-block;
    opacity: 0;
    animation: word-speak 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
    animation-delay: var(--d);
    animation-play-state: paused;
    color: #5BE6C9;
    margin-left: 0.18em;
}


/* ============================================================
   NAVBAR - BREAKPOINT OVERRIDE (1400px → 1200px)
   + BUSINESS MOBILE DRAWER DARK TREATMENT
   Last updated: 2026-04-19 / v1.3.199
   ============================================================ */

/* Force full desktop navbar at 1200px+ — vendor default is 1400px */
@media (min-width: 1200px) {
    .nav-bar .nav-bar-menu-btn {
        display: none !important;
    }
    .nav-bar .nav-bar-menu {
        display: flex !important;
        position: static !important;
        flex: 1 !important;
        overflow: visible !important;
    }
    .nav-bar .nav-bar-menu-inner {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex: 1 !important;
        background: transparent !important;
        padding: 0 !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
    }
    .nav-bar .nav-bar-menu-header {
        display: none !important;
    }
    .nav-bar .nav-bar-links {
        display: flex !important;
        align-items: center !important;
        margin-inline-start: auto !important;
        flex-wrap: nowrap !important;
    }
    .nav-bar .nav-bar-buttons {
        display: flex !important;
        align-items: center !important;
        padding-inline-start: 20px !important;
    }
    .nav-bar .nav-bar-menu .overlay {
        display: none !important;
    }
    .nav-bar .link:not(:last-child) {
        margin-right: 20px !important;
        margin-bottom: 0 !important;
        width: auto !important;
    }
    .nav-bar .link {
        width: auto !important;
        margin-bottom: 0 !important;
    }
}

/* Business navbar mobile drawer — dark background */
@media (max-width: 1199.98px) {
    .business-home .nav-bar .nav-bar-menu-inner {
        background-color: rgba(5, 4, 20, 0.98) !important;
    }
    .business-home .nav-bar .nav-bar-menu-close {
        color: rgba(255, 255, 255, 0.7) !important;
    }
    .business-home .nav-bar .nav-bar-menu-close:hover {
        color: rgba(255, 255, 255, 1) !important;
    }
    .business-home .nav-bar .nav-bar-links .link {
        color: rgba(255, 255, 255, 0.72) !important;
        border-color: rgba(255, 255, 255, 0.08) !important;
    }
    .business-home .nav-bar .nav-bar-links .link:hover {
        color: rgba(255, 255, 255, 1) !important;
    }
    .business-home .nav-bar .nav-bar-buttons {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        padding: 20px 0 10px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
        margin-top: 10px !important;
    }
    .business-home .nav-bar .btn-navbar-login,
    .business-home .nav-bar .btn-navbar-cta {
        width: 100% !important;
        justify-content: center !important;
        border-radius: 50px !important;
        padding: 11px 20px !important;
        font-size: 14px !important;
    }
    .business-home .nav-bar .btn-navbar-login {
        background: transparent !important;
        border: 1px solid rgba(255, 255, 255, 0.25) !important;
        color: rgba(255, 255, 255, 0.82) !important;
    }
    .business-home .nav-bar .btn-navbar-cta {
        background: #5BE6C9 !important;
        border: none !important;
        color: #0c0a28 !important;
        font-weight: 700 !important;
    }

    /* Consumer navbar mobile drawer already handled but ensure same breakpoint */
    body:not(.business-home) .nav-bar .nav-bar-menu-inner {
        background-color: rgba(5, 4, 20, 0.98) !important;
    }
}


/* ============================================================
   BUSINESS DASHBOARD - INLINE SYSTEM BANNER
   Last updated: 2026-04-20 / v1.3.200
   ============================================================ */

.biz-system-banner {
    border-radius: 12px;
    border: 1.5px solid;
    padding: 14px 18px;
}
.biz-system-banner--warning {
    background: #fff8e1;
    border-color: #ffc107;
    color: #92400e;
}
.biz-system-banner--error {
    background: #fef2f2;
    border-color: #f87171;
    color: #991b1b;
}
.biz-system-banner--success {
    background: #f0fdf4;
    border-color: #4ade80;
    color: #166534;
}
.biz-system-banner--info {
    background: #eff6ff;
    border-color: #60a5fa;
    color: #1e40af;
}
.biz-system-banner-inner {
    display: flex;
    align-items: center;
    gap: 12px;
}
.biz-system-banner-icon {
    font-size: 18px;
    flex-shrink: 0;
}
.biz-system-banner-text {
    flex: 1;
    margin: 0;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5;
}
.biz-system-banner-close {
    background: none;
    border: none;
    cursor: pointer;
    opacity: 0.5;
    font-size: 14px;
    padding: 0;
    flex-shrink: 0;
    transition: opacity 0.2s ease;
}
.biz-system-banner-close:hover {
    opacity: 1;
}


/* ============================================================
   BUSINESS DASHBOARD - FULL SIDEBAR REDESIGN
   Last updated: 2026-04-20 / v1.3.203
   ============================================================ */

/* Override vendor sidebar background — deep navy, not near-black */
.body-dashboard {
    --sidebar_background_color: 26, 31, 54;
    --sidebar_border_color: 36, 40, 64;
}

/* Sidebar container */
.dashboard-sidebar {
    border-right: 1px solid rgba(255,255,255,0.06) !important;
}

/* Header — logo area */
.dashboard-sidebar .dashboard-sidebar-header {
    padding: 20px 20px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    background: rgba(0,0,0,0.12) !important;
}

/* Business selector dropdown */
.dashboard-sidebar-selective .drop-down-btn {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    margin: 12px 4px 4px !important;
    transition: all 0.2s ease !important;
}
.dashboard-sidebar-selective .drop-down-btn:hover {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.14) !important;
}
.dashboard-sidebar-selective .drop-down-btn .item-title {
    color: rgba(255,255,255,0.88) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
}
.dashboard-sidebar-selective .drop-down-btn .item-meta {
    color: rgba(255,255,255,0.40) !important;
    font-size: 11px !important;
}
.dashboard-sidebar-selective .drop-down-menu {
    background: #1e2442 !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.35) !important;
    margin-top: 4px !important;
}
.dashboard-sidebar-selective .drop-down-menu .drop-down-item {
    color: rgba(255,255,255,0.65) !important;
    padding: 10px 14px !important;
    font-size: 12px !important;
    border-radius: 6px !important;
    margin: 2px 4px !important;
    transition: all 0.15s ease !important;
}
.dashboard-sidebar-selective .drop-down-menu .drop-down-item:hover,
.dashboard-sidebar-selective .drop-down-menu .drop-down-item.active {
    background: rgba(255,255,255,0.07) !important;
    color: rgba(255,255,255,0.92) !important;
}

/* Section group labels */
.dashboard-sidebar-section-label {
    padding: 16px 20px 6px !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.25) !important;
    display: block !important;
}

/* Nav links — default state */
.dashboard-sidebar-link .dashboard-sidebar-link-title {
    color: rgba(255,255,255,0.55) !important;
    padding: 9px 16px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin: 1px 8px !important;
    transition: all 0.15s ease !important;
}
.dashboard-sidebar-link .dashboard-sidebar-link-title i {
    color: rgba(255,255,255,0.40) !important;
    transition: color 0.15s ease !important;
    font-size: 14px !important;
    width: 18px !important;
}

/* Nav links — hover */
.dashboard-sidebar-link .dashboard-sidebar-link-title:hover {
    background: rgba(255,255,255,0.06) !important;
    color: rgba(255,255,255,0.90) !important;
}
.dashboard-sidebar-link .dashboard-sidebar-link-title:hover i {
    color: rgba(255,255,255,0.70) !important;
}
.dashboard-sidebar-link .dashboard-sidebar-link-title:hover::before {
    visibility: hidden !important;
}

/* Nav links — active/current */
.dashboard-sidebar-link.current .dashboard-sidebar-link-title {
    background: rgba(91,230,201,0.10) !important;
    color: #5BE6C9 !important;
}
.dashboard-sidebar-link.current .dashboard-sidebar-link-title i {
    color: #5BE6C9 !important;
}
.dashboard-sidebar-link.current .dashboard-sidebar-link-title::before {
    visibility: hidden !important;
}

/* Sub-menu links */
.dashboard-sidebar-link .dashboard-sidebar-link .dashboard-sidebar-link-title {
    padding: 7px 16px 7px 36px !important;
    font-size: 12px !important;
    color: rgba(255,255,255,0.45) !important;
    margin: 1px 8px !important;
    border-radius: 6px !important;
}
.dashboard-sidebar-link .dashboard-sidebar-link .dashboard-sidebar-link-title:hover {
    background: rgba(255,255,255,0.05) !important;
    color: rgba(255,255,255,0.80) !important;
}
.dashboard-sidebar-link .dashboard-sidebar-link.current .dashboard-sidebar-link-title {
    background: rgba(91,230,201,0.08) !important;
    color: #5BE6C9 !important;
}

/* Toggle arrow */
.dashboard-toggle .toggle-title::after {
    color: rgba(255,255,255,0.30) !important;
    font-size: 11px !important;
}

/* Nav link separator between sections */
.dashboard-sidebar-links:not(:last-child) {
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    padding-bottom: 8px !important;
    margin-bottom: 4px !important;
}

/* Sidebar body padding */
.dashboard-sidebar-body {
    padding: 8px 0 !important;
}

/* Sidebar footer */
.dashboard-sidebar-footer {
    padding: 12px 16px !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
}

/* Upgrade button — free user */
.biz-sidebar-upgrade-btn {
    width: 100%;
    border: none;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.biz-sidebar-upgrade-btn--upgrade {
    background: linear-gradient(135deg, #3A43D1, #5BE6C9);
    color: #0f0c2e;
}
.biz-sidebar-upgrade-btn--upgrade:hover {
    opacity: 0.9;
    color: #0f0c2e;
}
.biz-sidebar-upgrade-btn--manage {
    background: rgba(255,255,255,0.06);
    color: rgba(255,255,255,0.65);
    border: 1px solid rgba(255,255,255,0.10);
}
.biz-sidebar-upgrade-btn--manage:hover {
    background: rgba(255,255,255,0.10);
    color: rgba(255,255,255,0.90);
}
.biz-sidebar-upgrade-btn--resubscribe {
    background: rgba(245,158,11,0.12);
    color: #f59e0b;
    border: 1px solid rgba(245,158,11,0.25);
}
.biz-sidebar-upgrade-btn--resubscribe:hover {
    background: rgba(245,158,11,0.20);
}

/* Add business button */
.biz-sidebar-add-btn {
    width: 100%;
    margin-bottom: 8px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    padding: 9px 14px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-decoration: none;
    background: transparent;
    color: rgba(255,255,255,0.60);
    transition: all 0.2s ease;
}
.biz-sidebar-add-btn:hover {
    background: rgba(255,255,255,0.06);
    color: rgba(255,255,255,0.90);
    border-color: rgba(255,255,255,0.20);
}

/* Badge on nav items */
.dashboard-sidebar-link-counter {
    background: rgba(91,230,201,0.15) !important;
    color: #5BE6C9 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 2px 7px !important;
    border-radius: 20px !important;
    margin-inline-start: auto !important;
}

/* New badge */
.biz-nav-badge-new {
    background: rgba(239,68,68,0.15);
    color: #ef4444;
    font-size: 9px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 20px;
    margin-inline-start: auto;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Dashboard nav topbar */
.dashboard-nav {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    box-shadow: none !important;
    height: 64px !important;
}


/* ============================================================
   BUSINESS DASHBOARD - REDESIGNED COMPONENTS
   Last updated: 2026-04-20 / v1.3.204
   ============================================================ */

/* Stat grid */
.biz-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}
@media (max-width: 1199.98px) { .biz-stat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575.98px)  { .biz-stat-grid { grid-template-columns: 1fr; } }

.biz-stat-card {
    background: #ffffff;
    border: 1px solid rgb(var(--border_color));
    border-radius: 14px;
    padding: 20px;
    transition: box-shadow 0.2s ease;
}
.biz-stat-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}
.biz-stat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.biz-stat-label {
    font-size: 12px;
    font-weight: 600;
    color: rgb(var(--text_muted_color));
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.biz-stat-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
}
.biz-stat-icon--yellow { background: rgba(245,158,11,0.10); color: #d97706; }
.biz-stat-icon--blue   { background: rgba(58,67,209,0.10);  color: #3A43D1; }
.biz-stat-icon--teal   { background: rgba(91,230,201,0.12); color: #0d9488; }
.biz-stat-icon--green  { background: rgba(34,197,94,0.10);  color: #16a34a; }
.biz-stat-icon--orange { background: rgba(249,115,22,0.10); color: #ea580c; }

.biz-stat-value {
    font-size: 28px;
    font-weight: 800;
    color: rgb(var(--secondary_color));
    letter-spacing: -0.03em;
    line-height: 1;
    margin-bottom: 8px;
}
.biz-stat-meta { display: flex; align-items: center; gap: 6px; }
.biz-stat-delta { font-size: 12px; font-weight: 500; display: flex; align-items: center; gap: 4px; }
.biz-stat-delta--up      { color: #16a34a; }
.biz-stat-delta--down    { color: #dc2626; }
.biz-stat-delta--neutral { color: rgb(var(--text_muted_color)); }

/* Quick actions */
.biz-quick-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}
@media (max-width: 991.98px) { .biz-quick-actions { grid-template-columns: 1fr; } }

.biz-qa-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #ffffff;
    border: 1px solid rgb(var(--border_color));
    border-radius: 12px;
    padding: 16px 18px;
    text-decoration: none;
    color: inherit;
    transition: all 0.2s ease;
}
.biz-qa-card:hover {
    border-color: rgb(var(--primary_color));
    box-shadow: 0 4px 16px rgba(var(--primary_color), 0.08);
    transform: translateY(-1px);
    color: inherit;
    text-decoration: none;
}
.biz-qa-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.biz-qa-icon--teal   { background: rgba(91,230,201,0.12); color: #0d9488; }
.biz-qa-icon--blue   { background: rgba(58,67,209,0.10);  color: #3A43D1; }
.biz-qa-icon--purple { background: rgba(139,92,246,0.10); color: #7c3aed; }
.biz-qa-body { flex: 1; min-width: 0; }
.biz-qa-title { font-size: 13px; font-weight: 600; color: rgb(var(--secondary_color)); margin-bottom: 2px; }
.biz-qa-desc  { font-size: 11.5px; color: rgb(var(--text_muted_color)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.biz-qa-arrow { color: rgb(var(--text_muted_color)); font-size: 13px; flex-shrink: 0; }

/* Dashboard grid */
.biz-dashboard-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
}
@media (max-width: 991.98px) { .biz-dashboard-grid { grid-template-columns: 1fr; } }

.biz-chart-card,
.biz-latest-card {
    background: #ffffff;
    border: 1px solid rgb(var(--border_color));
    border-radius: 14px;
    padding: 20px;
}
.biz-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.biz-card-title {
    font-size: 14px;
    font-weight: 700;
    color: rgb(var(--secondary_color));
    margin: 0;
}
.biz-card-link {
    font-size: 12px;
    color: rgb(var(--primary_color));
    text-decoration: none;
    font-weight: 500;
}
.biz-card-link:hover { text-decoration: underline; }

/* Review list */
.biz-review-list { display: flex; flex-direction: column; gap: 2px; }
.biz-review-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 8px;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s ease;
}
.biz-review-item:hover { background: rgb(var(--background_color)); color: inherit; text-decoration: none; }
.biz-review-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}
.biz-review-avatar img { width: 100%; height: 100%; object-fit: cover; }
.biz-review-info { flex: 1; min-width: 0; }
.biz-review-name { font-size: 12.5px; font-weight: 600; color: rgb(var(--secondary_color)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.biz-review-time { font-size: 11px; color: rgb(var(--text_muted_color)); }
.biz-review-rating { display: flex; align-items: center; gap: 4px; flex-shrink: 0; font-size: 12px; color: rgb(var(--text_muted_color)); }
.biz-review-rating img { height: 14px; }


/* ============================================================
   BUSINESS DASHBOARD - UI POLISH
   Last updated: 2026-04-20 / v1.3.205
   ============================================================ */

/* Business selector — fix all-caps vendor override */
.dashboard-sidebar-selective .drop-down-btn .item-title {
    text-transform: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

/* Quick action cards — more substantial padding */
.biz-qa-card {
    padding: 18px 20px !important;
}

/* Quick action arrow — subtle, not competing */
.biz-qa-arrow {
    opacity: 0.35;
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.biz-qa-card:hover .biz-qa-arrow {
    opacity: 0.7;
    transform: translateX(3px);
}

/* Stat label — slightly larger */
.biz-stat-label {
    font-size: 11.5px !important;
}

/* Stat value — empty state */
.biz-stat-empty {
    font-size: 18px !important;
    color: rgb(var(--text_muted_color)) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

/* Stat card — tighter visual when no data */
.biz-stat-card:has(.biz-stat-empty) {
    opacity: 0.8;
}

/* Chart card — period select alignment */
.biz-chart-card .biz-card-header {
    align-items: center;
}

/* Latest reviews card — min height so it doesn't collapse when empty */
.biz-latest-card {
    min-height: 300px;
}

/* Review item hover state — cleaner */
.biz-review-item:hover .biz-review-name {
    color: rgb(var(--primary_color));
}


/* ============================================================
   BUSINESS DASHBOARD - PERIOD SELECTOR
   Last updated: 2026-04-20 / v1.3.207
   ============================================================ */

.biz-period-select {
    position: relative;
    display: inline-block;
}

.biz-period-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgb(var(--background_color));
    border: 1px solid rgb(var(--border_color));
    border-radius: 8px;
    padding: 7px 12px;
    font-size: 12.5px;
    font-weight: 500;
    color: rgb(var(--secondary_color));
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}
.biz-period-btn:hover {
    border-color: rgb(var(--primary_color));
    color: rgb(var(--primary_color));
}
.biz-period-btn .bi-calendar3 {
    color: rgb(var(--text_muted_color));
    font-size: 13px;
}
.biz-period-btn:hover .bi-calendar3 {
    color: rgb(var(--primary_color));
}
.biz-period-chevron {
    font-size: 10px;
    color: rgb(var(--text_muted_color));
    transition: transform 0.2s ease;
}
.biz-period-btn:has(+ .biz-period-dropdown.show) .biz-period-chevron {
    transform: rotate(180deg);
}

.biz-period-dropdown {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    background: #ffffff;
    border: 1px solid rgb(var(--border_color));
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.10);
    z-index: 100;
    min-width: 160px;
    max-height: 280px;
    overflow-y: auto;
    padding: 4px;
}
.biz-period-dropdown.show {
    display: block;
}
.biz-period-option {
    display: block;
    padding: 8px 12px;
    font-size: 12.5px;
    color: rgb(var(--text_color));
    text-decoration: none;
    border-radius: 6px;
    transition: background 0.12s ease;
    white-space: nowrap;
}
.biz-period-option:hover {
    background: rgb(var(--background_color));
    color: rgb(var(--secondary_color));
    text-decoration: none;
}
.biz-period-option.active {
    background: rgba(var(--primary_color), 0.08);
    color: rgb(var(--primary_color));
    font-weight: 600;
}


/* ============================================================
   BIZ REVIEWS PAGE — biz-review-row-* & biz-filter-*
   ============================================================ */

.biz-review-row {
    padding: 24px;
}
.biz-review-row--bordered {
    border-bottom: 1px solid #f0f2f8;
}
.biz-review-row-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}
.biz-review-row-user {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.biz-review-row-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    display: block;
}
.biz-review-row-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.biz-review-row-name {
    font-size: 14px;
    font-weight: 700;
    color: #1a1f36;
    margin-bottom: 3px;
}
.biz-review-row-meta {
    font-size: 12px;
    color: #8a8fa8;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
}
.biz-review-row-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.biz-review-row-stars {
    font-size: 14px;
    font-weight: 800;
    color: #1a1f36;
}
.biz-review-row-body {
    margin-bottom: 14px;
}
.biz-review-row-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a1f36;
    margin-bottom: 6px;
    letter-spacing: -0.01em;
}
.biz-review-row-text {
    font-size: 13px;
    color: #5a6080;
    line-height: 1.7;
}
.biz-review-row-attachments {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    flex-wrap: wrap;
}
.biz-review-row-attachment {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #eaecf4;
}
.biz-review-row-attachment img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.biz-review-row-footer {
    display: flex;
    align-items: center;
    gap: 8px;
}
.biz-review-action-btn {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid #e5e7f0;
    background: #f8f9fb;
    color: #3A43D1;
    cursor: pointer;
    transition: all 0.15s;
    text-decoration: none;
}
.biz-review-action-btn:hover {
    background: #3A43D1;
    color: #fff;
    border-color: #3A43D1;
}
.biz-review-action-btn--muted {
    color: #8a8fa8;
}
.biz-review-action-btn--muted:hover {
    background: #8a8fa8;
    border-color: #8a8fa8;
    color: #fff;
}
.biz-review-reply {
    display: flex;
    align-items: flex-start;
    gap: 0;
    padding: 16px 24px 20px;
    background: #f8f9fb;
    border-top: 1px solid #f0f2f8;
}
.biz-review-reply-body {
    flex: 1;
}
.biz-review-reply-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.biz-review-reply-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
}
.biz-review-reply-name {
    font-size: 13px;
    font-weight: 700;
    color: #1a1f36;
}
.biz-review-reply-time {
    font-size: 11px;
    color: #8a8fa8;
    margin-left: auto;
}
.biz-review-reply-text {
    font-size: 13px;
    color: #5a6080;
    line-height: 1.65;
}

/* Filter sidebar */
.biz-filter-group {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f2f8;
}
.biz-filter-group:last-of-type {
    border-bottom: none;
}
.biz-filter-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8a8fa8;
    display: block;
    margin-bottom: 10px;
}
.biz-filter-search {
    position: relative;
}
.biz-filter-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #8a8fa8;
    font-size: 13px;
}
.biz-filter-input {
    width: 100%;
    padding: 9px 12px 9px 36px;
    border: 1px solid #e5e7f0;
    border-radius: 8px;
    font-size: 13px;
    color: #1a1f36;
    background: #f8f9fb;
    outline: none;
    transition: border-color 0.15s;
}
.biz-filter-input:focus {
    border-color: #3A43D1;
    background: #fff;
}
.biz-filter-group input[type="text"].biz-filter-input,
.biz-filter-group input[type="date"].biz-filter-input {
    padding-left: 12px;
}
.biz-filter-search .biz-filter-input,
.biz-filter-group .biz-filter-search input[type="text"].biz-filter-input {
    padding-left: 36px !important;
}
.biz-filter-check {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    cursor: pointer;
}
.biz-filter-check input[type="checkbox"] {
    margin-right: 10px;
    width: 15px;
    height: 15px;
    cursor: pointer;
    flex-shrink: 0;
}
.biz-filter-check-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 1;
    gap: 8px;
}
.biz-filter-check-text {
    font-size: 13px;
    color: #5a6080;
}
.biz-filter-submit {
    width: 100%;
    padding: 10px;
    background: #3A43D1;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.biz-filter-submit:hover {
    opacity: 0.88;
}


/* ============================================================
   BIZ SETTINGS PAGE
   ============================================================ */

.biz-settings-wrap {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 24px;
    align-items: start;
}

.biz-settings-nav {
    position: sticky;
    top: 80px;
}

.biz-settings-nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #5a6080;
    text-decoration: none;
    transition: all 0.15s;
    margin-bottom: 2px;
}
.biz-settings-nav-item i:first-child {
    font-size: 15px;
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}
.biz-settings-nav-item:hover {
    background: #f0f2f8;
    color: #1a1f36;
}
.biz-settings-nav-item.active {
    background: #eef0fd;
    color: #3A43D1;
    font-weight: 700;
}
.biz-settings-nav-item--danger { color: #dc2626; }
.biz-settings-nav-item--danger:hover { background: #fef2f2; color: #dc2626; }

.biz-settings-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.biz-settings-section {
    scroll-margin-top: 80px;
}

.biz-settings-label {
    font-size: 12px;
    font-weight: 700;
    color: #1a1f36;
    display: block;
    margin-bottom: 6px;
    letter-spacing: 0.01em;
}

.biz-settings-hint {
    font-size: 12px;
    color: #8a8fa8;
    margin-top: 5px;
    line-height: 1.5;
}

.biz-settings-hint-inline {
    font-size: 11px;
    font-weight: 400;
    color: #8a8fa8;
    margin-left: 6px;
}

.biz-settings-input {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #e5e7f0;
    border-radius: 8px;
    font-size: 13px;
    color: #1a1f36;
    background: #f8f9fb;
    outline: none;
    transition: border-color 0.15s, background 0.15s;
    font-family: inherit;
}
.biz-settings-input:focus {
    border-color: #3A43D1;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(58,67,209,0.08);
}
select.biz-settings-input { cursor: pointer; }
textarea.biz-settings-input { resize: vertical; line-height: 1.65; }

.biz-settings-save-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 28px;
    background: #3A43D1;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: opacity 0.15s;
    text-decoration: none;
    width: 100%;
}
.biz-settings-save-btn:hover { opacity: 0.88; color: #fff !important; text-decoration: none !important; }
.biz-settings-save-btn--outline:hover { color: #1a1f36 !important; }

/* Logo upload */
.biz-logo-upload {
    display: flex;
    align-items: center;
    gap: 24px;
}
.biz-logo-preview {
    width: 100px;
    height: 100px;
    border-radius: 12px;
    object-fit: cover;
    border: 1px solid #eaecf4;
    flex-shrink: 0;
}
.biz-logo-upload-name {
    font-size: 15px;
    font-weight: 700;
    color: #1a1f36;
    margin-bottom: 4px;
}

/* Social row */
.biz-social-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.biz-social-row .biz-settings-input { flex: 1; }

/* Alerts */
.biz-settings-alert {
    padding: 14px 18px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
}
.biz-settings-alert--success {
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}
.biz-settings-alert--warning {
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
}

/* Verification list */
.biz-settings-verify-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.biz-settings-verify-item {
    font-size: 13px;
    color: #5a6080;
    display: flex;
    align-items: flex-start;
    gap: 4px;
    line-height: 1.6;
}

@media (max-width: 900px) {
    .biz-settings-wrap {
        grid-template-columns: 1fr;
    }
    .biz-settings-nav {
        position: static;
    }
    .biz-settings-nav .biz-chart-card {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        padding: 12px;
    }
    .biz-settings-nav-item {
        margin-bottom: 0;
    }
}

/* API key input group spacing */
#section-api .input-group {
    gap: 8px;
}
#section-api .input-group .form-control {
    border-radius: 8px !important;
    border: 1px solid #e5e7f0;
    background: #f8f9fb;
    font-size: 13px;
    font-family: monospace;
}
#section-api .input-group .btn {
    border-radius: 8px !important;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 18px;
    white-space: nowrap;
}
#section-api .input-group {
    flex-wrap: nowrap;
}


/* ============================================================
   BIZ GALLERY PAGE
   ============================================================ */

.biz-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.biz-gallery-card {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #eaecf4;
    overflow: hidden;
    transition: box-shadow 0.15s, transform 0.15s;
}
.biz-gallery-card:hover {
    box-shadow: 0 4px 20px rgba(58,67,209,0.10);
    transform: translateY(-2px);
}

.biz-gallery-thumb {
    position: relative;
    display: block;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: #f4f5f9;
}
.biz-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}
.biz-gallery-card:hover .biz-gallery-thumb img {
    transform: scale(1.04);
}
.biz-gallery-type-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: rgba(15,13,53,0.75);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
    backdrop-filter: blur(4px);
}

.biz-gallery-body {
    padding: 12px 14px 8px;
}
.biz-gallery-title {
    font-size: 13px;
    font-weight: 700;
    color: #1a1f36;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.biz-gallery-meta {
    display: flex;
    gap: 12px;
    font-size: 11px;
    color: #8a8fa8;
}

.biz-gallery-actions {
    display: flex;
    gap: 6px;
    padding: 8px 14px 12px;
    border-top: 1px solid #f0f2f8;
}
.biz-gallery-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    border: 1px solid #e5e7f0;
    background: #f8f9fb;
    color: #3A43D1;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.15s;
    text-decoration: none;
}
.biz-gallery-action-btn:hover {
    background: #3A43D1;
    border-color: #3A43D1;
    color: #fff;
}
.biz-gallery-action-btn--danger { color: #dc2626; }
.biz-gallery-action-btn--danger:hover {
    background: #dc2626;
    border-color: #dc2626;
    color: #fff;
}


/* ============================================================
   BIZ EMPLOYEES PAGE
   ============================================================ */

.biz-employee-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
}
.biz-employee-row--bordered {
    border-bottom: 1px solid #f0f2f8;
}

.biz-employee-user {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}
.biz-employee-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid #eaecf4;
}
.biz-employee-name {
    font-size: 14px;
    font-weight: 700;
    color: #1a1f36;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.biz-employee-email {
    font-size: 12px;
    color: #8a8fa8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.biz-employee-role {
    flex-shrink: 0;
}
.biz-employee-role-badge {
    background: #eef0fd;
    color: #3A43D1;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.biz-employee-status {
    flex-shrink: 0;
}
.biz-employee-status-badge {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
}
.biz-employee-status-badge--active {
    background: #f0fdf4;
    color: #166534;
}
.biz-employee-status-badge--pending {
    background: #fffbeb;
    color: #92400e;
}

.biz-employee-actions {
    flex-shrink: 0;
}


/* ============================================================
   BIZ CATEGORIES PAGE
   ============================================================ */

.biz-category-row {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 18px 24px;
    flex-wrap: wrap;
}
.biz-category-row--bordered {
    border-bottom: 1px solid #f0f2f8;
}
.biz-category-main {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 180px;
    flex-shrink: 0;
}
.biz-category-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #eef0fd;
    color: #3A43D1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}
.biz-category-name {
    font-size: 14px;
    font-weight: 700;
    color: #1a1f36;
}
.biz-category-subs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    flex: 1;
}
.biz-category-sub-badge {
    background: #f4f5f9;
    color: #5a6080;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 6px;
    border: 1px solid #eaecf4;
    display: inline-flex;
    align-items: center;
}
.biz-category-actions {
    flex-shrink: 0;
    margin-left: auto;
}


/* ============================================================
   BIZ INTEGRATION / REPUTATION WIDGET PAGE
   ============================================================ */

.biz-widget-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 20px;
}
.biz-widget-card--wide {
    grid-column: 1 / -1;
}

.biz-widget-card {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #eaecf4;
    padding: 20px;
    display: flex;
    flex-direction: column;
}

.biz-widget-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.biz-widget-label {
    font-size: 13px;
    font-weight: 800;
    color: #1a1f36;
    letter-spacing: -0.01em;
}

.biz-widget-plan-badge {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
}
.biz-widget-plan-badge--free { background: #f0fdf4; color: #166534; }
.biz-widget-plan-badge--premium { background: #eef0fd; color: #3A43D1; }
.biz-widget-plan-badge--enterprise { background: #fdf4ff; color: #7c3aed; }

.biz-widget-preview {
    background: #f8f9fb;
    border-radius: 10px;
    border: 1px solid #eaecf4;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    min-height: 120px;
}
.biz-widget-preview--dark {
    background: #0f0d35;
}

.biz-widget-code-wrap {
    background: #f8f9fb;
    border: 1px solid #eaecf4;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 12px;
    overflow-x: auto;
}
.biz-widget-code {
    font-size: 11px;
    color: #3A43D1;
    font-family: monospace;
    white-space: pre-wrap;
    word-break: break-all;
    display: block;
}

.biz-widget-copy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px;
    background: #f4f5f9;
    color: #1a1f36;
    border: 1px solid #e5e7f0;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s;
    margin-top: auto;
}
.biz-widget-copy-btn:hover {
    background: #3A43D1;
    color: #fff;
    border-color: #3A43D1;
}

/* ── WhatsApp Link Page ── */
.wl-channel-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border-radius: 8px;
    border: 1.5px solid #eaecf4;
    background: #fff;
    font-size: 12px;
    font-weight: 600;
    color: #5a6080;
    cursor: pointer;
    transition: all 0.15s;
}
.wl-channel-btn:hover {
    border-color: rgb(var(--primary_color));
    color: rgb(var(--primary_color));
}
.wl-channel-btn.active {
    background: rgb(var(--primary_color));
    border-color: rgb(var(--primary_color));
    color: #fff;
}
.wl-tag-pill {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 20px;
    background: #eef0fd;
    color: rgb(var(--primary_color));
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}
.wl-tag-pill:hover { background: #d6daff; }

/* ── Review Cards Page ── */
.rc-tpl-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 8px;
    border: 2px solid #eaecf4;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: all 0.15s;
    min-width: 80px;
}
.rc-tpl-btn:hover { border-color: rgb(var(--primary_color)); }
.rc-tpl-btn.active { border-color: rgb(var(--primary_color)); background: #eef0fd; }
.rc-tpl-thumb {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}
.rc-tpl-thumb--minimal { background: #fff; color: #0D1B4B; border: 1px solid #eaecf4; }
.rc-tpl-thumb--bold { background: #3A43D1; color: #fff; }
.rc-tpl-thumb--dark { background: #0D1B4B; color: #5BE6C9; }
.rc-tpl-thumb--teal { background: #5BE6C9; color: #0D1B4B; }
.rc-tpl-name { font-size: 11px; font-weight: 600; color: #5a6080; }
.rc-size-btn {
    display: flex;
    flex-direction: column;
    padding: 10px 16px;
    border: 1.5px solid #eaecf4;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: #1a1f36;
    transition: all 0.15s;
    text-align: left;
}
.rc-size-btn:hover { border-color: rgb(var(--primary_color)); }
.rc-size-btn.active { border-color: rgb(var(--primary_color)); background: #eef0fd; color: rgb(var(--primary_color)); }
.rc-milestone-btn {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid #eaecf4;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    color: #1a1f36;
    cursor: pointer;
    transition: all 0.15s;
    text-align: left;
}
.rc-milestone-btn:hover { border-color: rgb(var(--primary_color)); background: #eef0fd; }
.rc-milestone-btn.disabled { opacity: 0.5; cursor: not-allowed; }

.rc-density-btn {
    padding: 6px 14px;
    border: 1.5px solid #eaecf4;
    border-radius: 8px;
    background: #fff;
    font-size: 12px;
    font-weight: 600;
    color: #5a6080;
    cursor: pointer;
    transition: all 0.15s;
}
.rc-density-btn:hover { border-color: rgb(var(--primary_color)); color: rgb(var(--primary_color)); }
.rc-density-btn.active { background: rgb(var(--primary_color)); border-color: rgb(var(--primary_color)); color: #fff; }

.rc-milestone-btn.active { border-color: rgb(var(--primary_color)); background: #eef0fd; color: rgb(var(--primary_color)); }

/* ── Insights Pages Design System ── */
.ins-stat-card {
    background: #fff;
    border: 1px solid rgb(var(--border_color));
    border-radius: 14px;
    padding: 20px;
    height: 100%;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ins-stat-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.07);
    transform: translateY(-1px);
}
.ins-stat-top {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}
.ins-stat-mid {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.ins-stat-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.ins-stat-icon--purple { background: #7c3aed; color: #fff; }
.ins-stat-icon--teal   { background: #0d9488; color: #fff; }
.ins-stat-icon--blue   { background: #3A43D1; color: #fff; }
.ins-stat-icon--green  { background: #16a34a; color: #fff; }
.ins-stat-icon--red    { background: #dc2626; color: #fff; }
.ins-stat-icon--orange { background: #ea580c; color: #fff; }
.ins-sparkline {
    display: block;
    overflow: visible;
}
.ins-stat-label {
    font-size: 13px;
    font-weight: 500;
    color: rgb(var(--text_muted_color));
    flex: 1;
    padding: 0 10px;
    align-self: center;
}
.ins-stat-value {
    font-size: 32px;
    font-weight: 800;
    color: rgb(var(--secondary_color));
    letter-spacing: -0.03em;
    line-height: 1;
    flex: 0 0 auto;
}
.ins-stat-delta {
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 2px;
}
.ins-stat-delta--up   { color: #16a34a; }
.ins-stat-delta--down { color: #dc2626; }
.ins-stat-delta i { font-size: 16px; }

/* Insight card */
.ins-card {
    background: #fff;
    border: 1px solid rgb(var(--border_color));
    border-radius: 14px;
    padding: 24px;
}
.ins-card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; flex-wrap: wrap; }
.ins-card-title {
    font-size: 17px;
    font-weight: 700;
    color: rgb(var(--secondary_color));
    margin: 0 0 4px 0;
}
.ins-card-subtitle {
    font-size: 13px;
    color: rgb(var(--text_muted_color));
    margin: 0;
}

/* Dot grid decoration */
.ins-dot-grid {
    position: absolute;
    top: 16px;
    right: 16px;
    display: grid;
    grid-template-columns: repeat(10, 8px);
    gap: 5px;
    opacity: 0.18;
    pointer-events: none;
    z-index: 0;
}
.ins-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgb(var(--primary_color));
    display: block;
}

/* Donut wrap */
.ins-donut-wrap {
    position: relative;
    width: 220px;
    height: 220px;
}
.ins-donut-wrap canvas {
    width: 100% !important;
    height: 100% !important;
}
.ins-donut-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    pointer-events: none;
}
.ins-donut-value {
    font-size: 28px;
    font-weight: 800;
    color: rgb(var(--secondary_color));
    letter-spacing: -0.03em;
    line-height: 1;
}
.ins-donut-label {
    font-size: 11px;
    color: rgb(var(--text_muted_color));
    line-height: 1.4;
    margin-top: 4px;
}
.ins-donut-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    width: 100%;
}
.ins-donut-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.ins-donut-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: rgb(var(--text_muted_color));
}
.ins-donut-legend-sq {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
}

/* Sentiment rows */
.ins-sentiment-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.ins-sentiment-emoji {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.ins-sentiment-emoji--positive { background: rgba(34,197,94,0.12);  color: #16a34a; }
.ins-sentiment-emoji--neutral  { background: rgba(234,179,8,0.12);   color: #ca8a04; }
.ins-sentiment-emoji--negative { background: rgba(239,68,68,0.12);   color: #dc2626; }
.ins-sentiment-name {
    font-size: 14px;
    font-weight: 700;
    color: rgb(var(--secondary_color));
    margin-bottom: 1px;
}
.ins-sentiment-desc {
    font-size: 11px;
    color: rgb(var(--text_muted_color));
}
.ins-sentiment-pct {
    font-size: 15px;
    font-weight: 800;
}
.ins-sentiment-pct--positive { color: #16a34a; }
.ins-sentiment-pct--neutral  { color: #ca8a04; }
.ins-sentiment-pct--negative { color: #dc2626; }
.ins-sentiment-count {
    font-size: 12px;
    color: rgb(var(--text_muted_color));
    white-space: nowrap;
}
.ins-progress-track {
    height: 5px;
    background: rgb(var(--elements_inner_background_color));
    border-radius: 99px;
    overflow: hidden;
    margin-top: 8px;
}
.ins-progress-fill {
    height: 100%;
    border-radius: 99px;
    transition: width 1s ease-out;
}
.ins-progress-fill--positive { background: #22c55e; }
.ins-progress-fill--neutral  { background: #eab308; }
.ins-progress-fill--negative { background: #ef4444; }

/* AI Insight Strip */
.ins-ai-strip {
    background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 45%, #e0e7ff 100%);
    border: 1px solid rgba(124,58,237,0.15);
    border-radius: 14px;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    position: relative;
    overflow: hidden;
}
.ins-ai-icon {
    width: 44px;
    height: 44px;
    background: rgba(58,67,209,0.10);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(var(--primary_color));
    font-size: 20px;
    flex-shrink: 0;
}
.ins-ai-body { flex: 1; min-width: 0; }
.ins-ai-title {
    font-size: 13px;
    font-weight: 700;
    color: rgb(var(--primary_color));
    margin-bottom: 3px;
}
.ins-ai-text {
    font-size: 13px;
    color: rgb(var(--text_color));
    line-height: 1.5;
}
.ins-ai-btn {
    display: inline-flex;
    align-items: center;
    padding: 9px 18px;
    border: 1.5px solid rgba(58,67,209,0.3);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: rgb(var(--primary_color));
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.2s ease;
    background: #fff;
}
.ins-ai-btn:hover {
    background: rgb(var(--primary_color));
    color: #fff;
    border-color: rgb(var(--primary_color));
}
.ins-ai-deco {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 160px;
    height: 80px;
    opacity: 1;
    pointer-events: none;
}

/* Insights tab bar override */
.sub-tabs .sub-tab.active {
    background: rgb(var(--primary_color)) !important;
    color: #fff !important;
    border-color: rgb(var(--primary_color)) !important;
}

/* Nigerian flag map watermark */
.ins-ng-flag {
    position: absolute;
    top: 50%;
    right: 60px;
    transform: translateY(-50%);
    width: 180px;
    height: 180px;
    pointer-events: none;
    z-index: 0;
    opacity: 0.07;
}
.ins-ng-flag img { width: 100%; height: 100%; object-fit: contain; }

/* AI strip right zone */
.ins-ai-right {
    position: relative;
    width: 200px;
    min-width: 160px;
    height: 100px;
    flex-shrink: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 8px;
}
@media (max-width: 1200px) { .ins-ai-right { display: none; } }
.ins-ai-deco {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.ins-ai-deco svg { width: 100%; height: 100%; }
.ins-ai-btn {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    padding: 9px 18px;
    border: 1.5px solid rgba(58,67,209,0.3);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: rgb(var(--primary_color));
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s ease;
    background: #fff;
    box-shadow: 0 2px 12px rgba(58,67,209,0.12);
}
.ins-ai-btn:hover {
    background: rgb(var(--primary_color));
    color: #fff;
    border-color: rgb(var(--primary_color));
}

/* Trend summary panel */
.ins-trend-summary-row {
    display: flex;
    align-items: center;
    gap: 12px;
}
.ins-trend-summary-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.ins-trend-summary-icon--positive { background: rgba(34,197,94,0.12); color: #16a34a; }
.ins-trend-summary-icon--neutral  { background: rgba(234,179,8,0.12);  color: #ca8a04; }
.ins-trend-summary-icon--negative { background: rgba(239,68,68,0.12);  color: #dc2626; }
.ins-trend-summary-label {
    font-size: 13px;
    font-weight: 600;
    color: rgb(var(--secondary_color));
}
.ins-trend-summary-sub {
    font-size: 12px;
    color: rgb(var(--text_muted_color));
}
.ins-trend-summary-pct {
    font-size: 16px;
    font-weight: 700;
    flex-shrink: 0;
}
.ins-trend-summary-pct--positive { color: #16a34a; }
.ins-trend-summary-pct--neutral  { color: #ca8a04; }
.ins-trend-summary-pct--negative { color: #dc2626; }

/* Trend alerts */
.ins-trend-alert {
    background: #fff;
    padding: 20px 24px;
    border-radius: 12px;
    border-left: 4px solid #e5e7eb;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    cursor: default;
}
.ins-trend-alert:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.09);
    transform: translateX(4px);
}
.ins-trend-alert--warning { border-left-color: #eab308; }
.ins-trend-alert--danger  { border-left-color: #ef4444; }
.ins-trend-alert--success { border-left-color: #22c55e; }
.ins-trend-alert--info    { border-left-color: #3A43D1; }
.ins-trend-alert-title {
    font-size: 14px;
    font-weight: 700;
    color: rgb(var(--secondary_color));
    margin-bottom: 5px;
}
.ins-trend-alert-prefix { color: #eab308; }
.ins-trend-alert--danger  .ins-trend-alert-prefix { color: #ef4444; }
.ins-trend-alert--success .ins-trend-alert-prefix { color: #22c55e; }
.ins-trend-alert--info    .ins-trend-alert-prefix { color: #3A43D1; }
.ins-trend-alert-desc {
    font-size: 13px;
    color: rgb(var(--text_muted_color));
    line-height: 1.6;
}
.ins-trend-alert-time {
    font-size: 12px;
    color: rgb(var(--text_muted_color));
    white-space: nowrap;
    flex-shrink: 0;
    opacity: 0.7;
}
.ins-trend-deco {
    width: 200px;
    height: 160px;
    opacity: 0.9;
}
.ins-trend-deco svg { width: 100%; height: 100%; }
.ins-summary-card {
    background: #fff;
    border: 1px solid rgb(var(--border_color));
    border-radius: 14px;
    padding: 24px;
    height: 100%;
}
.ins-summary-card-title {
    font-size: 16px;
    font-weight: 700;
    color: rgb(var(--secondary_color));
    margin-bottom: 20px;
}

/* Aspect-based sentiment table v2 */
.ins-aspect-table { width: 100%; border-collapse: collapse; }
.ins-aspect-table thead th {
    font-size: 12px;
    font-weight: 600;
    color: rgb(var(--text_muted_color));
    padding: 10px 16px;
    border-bottom: 1px solid rgb(var(--border_color));
    white-space: nowrap;
}
.ins-aspect-table tbody tr {
    border-bottom: 1px solid rgb(var(--border_color));
    transition: background 0.15s ease;
}
.ins-aspect-table tbody tr:last-child { border-bottom: none; }
.ins-aspect-table tbody tr:hover { background: #fafafa; }
.ins-aspect-table tbody td { padding: 14px 16px; vertical-align: middle; }

.ins-aspect-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(124,58,237,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #7c3aed;
    font-size: 16px;
    border: 1px solid rgba(124,58,237,0.12);
}
.ins-aspect-name-cell {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    font-size: 14px;
    color: rgb(var(--secondary_color));
}
.ins-aspect-score-badge {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: 6px 14px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.2;
    min-width: 64px;
}
.ins-aspect-score-badge span {
    font-size: 10px;
    font-weight: 500;
    margin-top: 2px;
    opacity: 0.8;
}
.ins-aspect-score--excellent { background: rgba(34,197,94,0.1);  color: #16a34a; }
.ins-aspect-score--positive  { background: rgba(34,197,94,0.1);  color: #16a34a; }
.ins-aspect-score--good      { background: rgba(58,67,209,0.08); color: #3A43D1; }
.ins-aspect-score--poor      { background: rgba(239,68,68,0.08); color: #dc2626; }

.ins-aspect-dist-bar {
    display: flex;
    height: 8px;
    border-radius: 99px;
    overflow: hidden;
    width: 100%;
    margin-bottom: 4px;
}
.ins-aspect-dist-seg { height: 100%; }
.ins-aspect-dist-seg:first-child { border-radius: 99px 0 0 99px; }
.ins-aspect-dist-seg:last-child  { border-radius: 0 99px 99px 0; }
.ins-aspect-dist-seg--pos { background: #22c55e; }
.ins-aspect-dist-seg--neu { background: #eab308; }
.ins-aspect-dist-seg--neg { background: #ef4444; }
.ins-aspect-dist-seg--unk { background: #e5e7eb; }

.ins-aspect-dist-labels {
    position: relative;
    width: 100%;
    height: 14px;
    margin-top: 4px;
}
.ins-aspect-dist-labels span {
    position: absolute;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1;
}

.ins-aspect-search-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgb(var(--border_color));
    border-radius: 8px;
    background: #fff;
    min-width: 200px;
}
.ins-aspect-search-bar input {
    border: none;
    outline: none;
    font-size: 13px;
    color: rgb(var(--text_color));
    background: transparent;
    width: 100%;
}
.ins-aspect-search-bar i { color: rgb(var(--text_muted_color)); font-size: 14px; }

.ins-aspect-trend-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}
.ins-aspect-sparkline { flex-shrink: 0; }
.ins-aspect-trend-text { font-size: 13px; font-weight: 600; }
.ins-aspect-trend-sub  { font-size: 11px; color: rgb(var(--text_muted_color)); }

.ins-aspect-summary-card {
    background: #fff;
    border: 1px solid rgb(var(--border_color));
    border-radius: 14px;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    height: 100%;
}
.ins-aspect-summary-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.ins-aspect-summary-label { font-size: 13px; color: rgb(var(--text_muted_color)); font-weight: 500; margin-bottom: 4px; }
.ins-aspect-summary-value { font-size: 26px; font-weight: 800; color: rgb(var(--secondary_color)); letter-spacing: -0.03em; line-height: 1; }
.ins-aspect-summary-value--sm { font-size: 20px; }
.ins-aspect-summary-sub { font-size: 12px; margin-top: 3px; font-weight: 500; }

/* Aspect-based sentiment v3 — distribution layout */
.ins-dist-table { width: 100%; border-collapse: collapse; }
.ins-dist-table thead th {
    font-size: 12px;
    font-weight: 600;
    color: rgb(var(--text_muted_color));
    padding: 8px 12px;
    border-bottom: 1px solid rgb(var(--border_color));
    white-space: nowrap;
}
.ins-dist-table tbody tr {
    border-bottom: 1px solid rgba(0,0,0,0.06);
    transition: background 0.15s ease;
}
.ins-dist-table tbody tr:last-child { border-bottom: none; }
.ins-dist-table tbody tr:hover { background: #fafafa; }
.ins-dist-table tbody td { padding: 12px; vertical-align: middle; font-size: 13px; }

.ins-dist-label-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 8px;
    flex-shrink: 0;
}
.ins-dist-label-cell {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 13px;
    color: rgb(var(--secondary_color));
}
.ins-dist-mini-bar-track {
    width: 100%;
    height: 6px;
    background: rgb(var(--elements_inner_background_color));
    border-radius: 99px;
    overflow: hidden;
    min-width: 120px;
}
.ins-dist-mini-bar-fill {
    height: 100%;
    border-radius: 99px;
    transition: width 1s ease-out;
}
.ins-dist-change--up   { color: #16a34a; font-weight: 600; font-size: 12px; }
.ins-dist-change--down { color: #dc2626; font-weight: 600; font-size: 12px; }
.ins-dist-change--flat { color: rgb(var(--text_muted_color)); font-size: 12px; }

.ins-sent-summary-card {
    background: #fff;
    border: 1px solid rgb(var(--border_color));
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 16px;
}
.ins-sent-summary-title {
    font-size: 15px;
    font-weight: 700;
    color: rgb(var(--secondary_color));
    margin-bottom: 16px;
}
.ins-sent-score-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.ins-sent-score-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(13,148,136,0.1);
    color: #0d9488;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.ins-sent-score-value {
    font-size: 28px;
    font-weight: 800;
    color: rgb(var(--secondary_color));
    letter-spacing: -0.03em;
    line-height: 1;
}
.ins-sent-score-tier {
    font-size: 12px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 99px;
    background: rgba(34,197,94,0.1);
    color: #16a34a;
    margin-left: 4px;
}
.ins-sent-score-sub {
    font-size: 12px;
    color: rgb(var(--text_muted_color));
}

.ins-pvn-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
}
.ins-pvn-donut-wrap {
    position: relative;
    width: 100px;
    height: 100px;
    flex-shrink: 0;
}
.ins-pvn-donut-wrap canvas { width: 100% !important; height: 100% !important; }
.ins-pvn-donut-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    pointer-events: none;
}
.ins-pvn-donut-pct {
    font-size: 16px;
    font-weight: 800;
    color: rgb(var(--secondary_color));
    line-height: 1;
}
.ins-pvn-donut-sub {
    font-size: 9px;
    color: rgb(var(--text_muted_color));
    line-height: 1.3;
}
.ins-pvn-legend { flex: 1; }
.ins-pvn-legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    margin-bottom: 6px;
}
.ins-pvn-legend-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.ins-pvn-legend-label { color: rgb(var(--text_muted_color)); flex: 1; }
.ins-pvn-legend-val { font-weight: 700; color: rgb(var(--secondary_color)); }

.ins-takeaway-list { list-style: none; padding: 0; margin: 0; }
.ins-takeaway-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12px;
    color: rgb(var(--text_muted_color));
    line-height: 1.5;
    padding: 6px 0;
    border-bottom: 1px solid rgb(var(--border_color));
}
.ins-takeaway-list li:last-child { border-bottom: none; }
.ins-takeaway-list li i { color: #16a34a; font-size: 14px; margin-top: 1px; flex-shrink: 0; }

.ins-dist-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    background: rgba(58,67,209,0.03);
    border-radius: 10px;
    margin-top: 16px;
}
.ins-dist-footer-text { font-size: 12px; color: rgb(var(--text_muted_color)); line-height: 1.5; flex: 1; }
.ins-dist-footer-text strong { color: rgb(var(--secondary_color)); }

/* Animate stat cards on load */
@keyframes ins-fadein {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}
.ins-stat-card {
    animation: ins-fadein 0.4s ease both;
}
.ins-stat-card:nth-child(1) { animation-delay: 0.05s; }
.ins-stat-card:nth-child(2) { animation-delay: 0.10s; }
.ins-stat-card:nth-child(3) { animation-delay: 0.15s; }
.ins-stat-card:nth-child(4) { animation-delay: 0.20s; }

/* Animate progress bars */

/* ─── Emotions & Experience Page ─────────────────────────────────────────── */
.ins-emo-card {
    background: #fff;
    border: 1px solid rgb(var(--border_color));
    border-radius: 14px;
    padding: 18px;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}
.ins-emo-card-top { display: flex; align-items: center; gap: 10px; }
.ins-emo-icon {
    width: 38px; height: 38px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 17px; flex-shrink: 0;
}
.ins-emo-name { font-size: 14px; font-weight: 600; color: rgb(var(--secondary_color)); }
.ins-emo-pct { font-size: 30px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.ins-emo-count { font-size: 12px; color: rgb(var(--text_muted_color)); margin-top: 2px; }
.ins-emo-footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 8px; }
.ins-emo-delta { font-size: 12px; font-weight: 600; display: flex; align-items: center; gap: 2px; }
.ins-emo-delta--up   { color: #16a34a; }
.ins-emo-delta--down { color: #dc2626; }
.ins-emo-delta--flat { color: rgb(var(--text_muted_color)); }
.ins-emo-sparkline { width: 72px; height: 32px; display: block; }

/* Distribution card */
.ins-emo-dist-legend { display: flex; flex-direction: column; gap: 10px; flex: 1; }
.ins-emo-legend-row { display: flex; align-items: center; justify-content: space-between; font-size: 13px; gap: 8px; }
.ins-emo-legend-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.ins-emo-legend-name { flex: 1; color: rgb(var(--text_color)); }
.ins-emo-legend-pct { font-weight: 700; color: rgb(var(--secondary_color)); }
.ins-emo-info-note {
    background: rgba(58,67,209,0.04);
    border: 1px solid rgba(58,67,209,0.1);
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 12px;
    color: rgb(var(--text_muted_color));
    display: flex; align-items: flex-start; gap: 8px;
    margin-top: 16px;
}

/* Insights bottom card */
.ins-emo-insights-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 992px) { .ins-emo-insights-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 576px) { .ins-emo-insights-grid { grid-template-columns: 1fr; } }
.ins-emo-insight-panel {
    background: rgb(var(--elements_inner_background_color));
    border-radius: 12px;
    padding: 18px;
    display: flex; flex-direction: column; gap: 10px;
}
.ins-emo-insight-icon {
    width: 42px; height: 42px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; flex-shrink: 0;
}
.ins-emo-insight-badge {
    display: inline-block; font-size: 11px; font-weight: 600;
    padding: 2px 10px; border-radius: 99px;
}
.ins-emo-insight-title { font-size: 14px; font-weight: 700; color: rgb(var(--secondary_color)); }
.ins-emo-insight-text { font-size: 12px; color: rgb(var(--text_muted_color)); line-height: 1.5; flex: 1; }
.ins-emo-cta-panel {
    background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
    border: 1px solid rgba(124,58,237,0.15);
    border-radius: 12px;
    padding: 18px;
    display: flex; flex-direction: column; gap: 10px; justify-content: center;
}
.ins-emo-cta-title { font-size: 15px; font-weight: 700; color: #3A43D1; }
.ins-emo-cta-text { font-size: 12px; color: rgb(var(--text_muted_color)); line-height: 1.5; }

/* ─── Drivers & Topics Page ──────────────────────────────────────────────── */
.ins-topic-table { width:100%; border-collapse:collapse; }
.ins-topic-table thead th { font-size:12px; font-weight:600; color:rgb(var(--text_muted_color)); padding:8px 12px; border-bottom:1px solid rgb(var(--border_color)); white-space:nowrap; }
.ins-topic-table tbody tr { border-bottom:1px solid rgba(0,0,0,0.06); transition:background 0.15s ease; }
.ins-topic-table tbody tr:last-child { border-bottom:none; }
.ins-topic-table tbody tr:hover { background:#fafafa; }
.ins-topic-table tbody td { padding:12px; vertical-align:middle; font-size:13px; }

.ins-topic-rank { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:6px; background:rgba(58,67,209,0.08); color:#3A43D1; font-size:12px; font-weight:700; }
.ins-topic-name { font-weight:600; color:rgb(var(--secondary_color)); }
.ins-topic-tag { display:inline-block; font-size:10px; font-weight:600; padding:2px 8px; border-radius:99px; }
.ins-topic-tag--stable   { background:rgba(58,67,209,0.08);  color:#3A43D1; }
.ins-topic-tag--emerging { background:rgba(34,197,94,0.10);  color:#16a34a; }
.ins-topic-tag--new      { background:rgba(124,58,237,0.10); color:#7c3aed; }

.ins-topic-bar-track { width:100%; height:6px; background:rgb(var(--elements_inner_background_color)); border-radius:99px; overflow:hidden; min-width:80px; }
.ins-topic-bar-fill  { height:100%; border-radius:99px; background:#3A43D1; transition:width 1s ease-out; }

.ins-topic-trend--up   { color:#16a34a; font-weight:600; font-size:12px; white-space:nowrap; }
.ins-topic-trend--down { color:#dc2626; font-weight:600; font-size:12px; white-space:nowrap; }
.ins-topic-trend--flat { color:rgb(var(--text_muted_color)); font-size:12px; white-space:nowrap; }

/* Impact on Sentiment bars */
.ins-impact-row { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.ins-impact-name { font-size:13px; color:rgb(var(--text_color)); width:140px; flex-shrink:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ins-impact-bar-track { flex:1; height:8px; background:rgb(var(--elements_inner_background_color)); border-radius:99px; overflow:hidden; }
.ins-impact-bar-fill { height:100%; border-radius:99px; transition:width 1s ease-out; }
.ins-impact-bar-fill--pos { background:#22c55e; }
.ins-impact-bar-fill--neg { background:#ef4444; }
.ins-impact-score { font-size:12px; font-weight:700; padding:2px 10px; border-radius:99px; min-width:46px; text-align:center; flex-shrink:0; }
.ins-impact-score--pos { background:rgba(34,197,94,0.12);  color:#16a34a; }
.ins-impact-score--neg { background:rgba(239,68,68,0.12);  color:#dc2626; }

/* Emerging Topics */
.ins-emerging-row { display:flex; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px solid rgba(0,0,0,0.06); gap:8px; }
.ins-emerging-row:last-of-type { border-bottom:none; }
.ins-emerging-name { font-size:13px; font-weight:600; color:rgb(var(--secondary_color)); flex:1; }
.ins-emerging-growth { font-size:13px; font-weight:700; color:#16a34a; white-space:nowrap; }
.ins-emerging-mentions { font-size:12px; color:rgb(var(--text_muted_color)); white-space:nowrap; }

/* ─── Language & Tone Page ───────────────────────────────────────────────── */
.ins-tone-card { background:#fff; border:1px solid rgb(var(--border_color)); border-radius:14px; padding:18px; height:100%; display:flex; flex-direction:column; gap:8px; }
.ins-tone-card-top { display:flex; align-items:center; gap:10px; }
.ins-tone-icon { width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0; }
.ins-tone-name { font-size:14px; font-weight:600; color:rgb(var(--secondary_color)); }
.ins-tone-pct { font-size:30px; font-weight:800; letter-spacing:-0.03em; line-height:1; }
.ins-tone-footer { display:flex; align-items:center; justify-content:space-between; margin-top:4px; }
.ins-tone-delta { font-size:12px; font-weight:600; display:flex; align-items:center; gap:2px; white-space:nowrap; }
.ins-tone-delta--up   { color:#16a34a; }
.ins-tone-delta--down { color:#dc2626; }
.ins-tone-delta--flat { color:rgb(var(--text_muted_color)); }
.ins-tone-bar-track { width:100%; height:6px; background:rgb(var(--elements_inner_background_color)); border-radius:99px; overflow:hidden; margin-top:4px; }
.ins-tone-bar-fill { height:100%; border-radius:99px; transition:width 1s ease-out; }
.ins-tone-count { font-size:12px; color:rgb(var(--text_muted_color)); margin-top:2px; }

/* Key insights list */
.ins-tone-insight-item { display:flex; align-items:flex-start; gap:10px; padding:10px 0; border-bottom:1px solid rgba(0,0,0,0.06); }
.ins-tone-insight-item:last-child { border-bottom:none; }
.ins-tone-insight-check { width:20px; height:20px; border-radius:50%; background:rgba(58,67,209,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.ins-tone-insight-title { font-size:13px; font-weight:600; color:rgb(var(--secondary_color)); margin-bottom:2px; }
.ins-tone-insight-text { font-size:12px; color:rgb(var(--text_muted_color)); line-height:1.5; }

/* Recommended actions */
.ins-tone-action-item { display:flex; align-items:flex-start; gap:12px; padding:12px 0; border-bottom:1px solid rgba(0,0,0,0.06); }
.ins-tone-action-item:last-child { border-bottom:none; }
.ins-tone-action-icon { width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; }
.ins-tone-action-title { font-size:13px; font-weight:600; color:rgb(var(--secondary_color)); margin-bottom:2px; }
.ins-tone-action-text { font-size:12px; color:rgb(var(--text_muted_color)); line-height:1.5; }

/* ─── Response Impact Page ───────────────────────────────────────────────── */
.ins-resp-bar-row { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.ins-resp-bar-label { width:120px; flex-shrink:0; }
.ins-resp-bar-label-title { font-size:13px; font-weight:600; color:rgb(var(--secondary_color)); display:flex; align-items:center; gap:6px; }
.ins-resp-bar-label-sub { font-size:11px; color:rgb(var(--text_muted_color)); margin-top:2px; }
.ins-resp-bar-track { flex:1; height:28px; background:rgb(var(--elements_inner_background_color)); border-radius:99px; overflow:hidden; position:relative; }
.ins-resp-bar-fill { height:100%; border-radius:99px; transition:width 1s ease-out; display:flex; align-items:center; }
.ins-resp-bar-fill--before { background:#f59e0b; }
.ins-resp-bar-fill--after  { background:#22c55e; }
.ins-resp-bar-score { width:60px; text-align:center; font-size:16px; font-weight:800; color:rgb(var(--secondary_color)); flex-shrink:0; }
.ins-resp-bar-tag { width:80px; font-size:12px; font-weight:600; flex-shrink:0; }
.ins-resp-axis { display:flex; justify-content:space-between; font-size:11px; color:rgb(var(--text_muted_color)); padding:0 4px; margin-top:4px; position:relative; }
.ins-resp-axis::before { content:''; position:absolute; left:50%; top:-32px; width:1px; height:32px; border-left:1px dashed rgba(0,0,0,0.15); }

.ins-resp-stat-card { background:#fff; border:1px solid rgb(var(--border_color)); border-radius:14px; padding:20px; height:100%; display:flex; align-items:center; gap:16px; }
.ins-resp-stat-icon { width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.ins-resp-stat-body { flex:1; min-width:0; }
.ins-resp-stat-label { font-size:12px; color:rgb(var(--text_muted_color)); margin-bottom:4px; display:flex; align-items:center; gap:4px; }
.ins-resp-stat-value { font-size:28px; font-weight:800; color:rgb(var(--secondary_color)); line-height:1; letter-spacing:-0.03em; }
.ins-resp-stat-sub { font-size:12px; margin-top:4px; }

.ins-resp-table { width:100%; border-collapse:collapse; }
.ins-resp-table thead th { font-size:12px; font-weight:600; color:rgb(var(--text_muted_color)); padding:8px 12px; border-bottom:1px solid rgb(var(--border_color)); white-space:nowrap; }
.ins-resp-table tbody tr { border-bottom:1px solid rgba(0,0,0,0.06); transition:background 0.15s ease; }
.ins-resp-table tbody tr:last-child { border-bottom:none; }
.ins-resp-table tbody tr:hover { background:#fafafa; }
.ins-resp-table tbody td { padding:14px 12px; vertical-align:middle; font-size:13px; }

/* ─── Response Impact Page ───────────────────────────────────────────────── */
.ins-resp-bar-row { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.ins-resp-bar-label { width:120px; flex-shrink:0; }
.ins-resp-bar-label-title { font-size:13px; font-weight:600; color:rgb(var(--secondary_color)); display:flex; align-items:center; gap:6px; }
.ins-resp-bar-label-sub { font-size:11px; color:rgb(var(--text_muted_color)); margin-top:2px; }
.ins-resp-bar-track { flex:1; height:28px; background:rgb(var(--elements_inner_background_color)); border-radius:99px; overflow:hidden; position:relative; }
.ins-resp-bar-fill { height:100%; border-radius:99px; transition:width 1s ease-out; display:flex; align-items:center; }
.ins-resp-bar-fill--before { background:#f59e0b; }
.ins-resp-bar-fill--after  { background:#22c55e; }
.ins-resp-bar-score { width:60px; text-align:center; font-size:16px; font-weight:800; color:rgb(var(--secondary_color)); flex-shrink:0; }
.ins-resp-bar-tag { width:80px; font-size:12px; font-weight:600; flex-shrink:0; }
.ins-resp-axis { display:flex; justify-content:space-between; font-size:11px; color:rgb(var(--text_muted_color)); padding:0 4px; margin-top:4px; position:relative; }
.ins-resp-axis::before { content:''; position:absolute; left:50%; top:-32px; width:1px; height:32px; border-left:1px dashed rgba(0,0,0,0.15); }

.ins-resp-stat-card { background:#fff; border:1px solid rgb(var(--border_color)); border-radius:14px; padding:20px; height:100%; display:flex; align-items:center; gap:16px; }
.ins-resp-stat-icon { width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.ins-resp-stat-body { flex:1; min-width:0; }
.ins-resp-stat-label { font-size:12px; color:rgb(var(--text_muted_color)); margin-bottom:4px; display:flex; align-items:center; gap:4px; }
.ins-resp-stat-value { font-size:28px; font-weight:800; color:rgb(var(--secondary_color)); line-height:1; letter-spacing:-0.03em; }
.ins-resp-stat-sub { font-size:12px; margin-top:4px; }

.ins-resp-table { width:100%; border-collapse:collapse; }
.ins-resp-table thead th { font-size:12px; font-weight:600; color:rgb(var(--text_muted_color)); padding:8px 12px; border-bottom:1px solid rgb(var(--border_color)); white-space:nowrap; }
.ins-resp-table tbody tr { border-bottom:1px solid rgba(0,0,0,0.06); transition:background 0.15s ease; }
.ins-resp-table tbody tr:last-child { border-bottom:none; }
.ins-resp-table tbody tr:hover { background:#fafafa; }
.ins-resp-table tbody td { padding:14px 12px; vertical-align:middle; font-size:13px; }

/* ─── Alerts Page ────────────────────────────────────────────────────────── */
.ins-alert-stat-card { background:#fff; border:1px solid rgb(var(--border_color)); border-radius:12px; padding:16px 20px; display:flex; align-items:center; gap:14px; flex:1; }
.ins-alert-stat-icon { width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.ins-alert-stat-value { font-size:24px; font-weight:800; color:rgb(var(--secondary_color)); line-height:1; }
.ins-alert-stat-label { font-size:12px; font-weight:600; margin-top:2px; }

.ins-alert-row { background:#fff; border:1px solid rgb(var(--border_color)); border-radius:12px; overflow:hidden; display:flex; align-items:stretch; margin-bottom:16px; transition:box-shadow 0.2s ease; }
.ins-alert-row:hover { box-shadow:0 4px 16px rgba(0,0,0,0.08); }
.ins-alert-row:last-of-type { margin-bottom:0; }
.ins-alert-border { width:4px; flex-shrink:0; }
.ins-alert-border--high   { background:#ef4444; }
.ins-alert-border--medium { background:#f59e0b; }
.ins-alert-border--low    { background:#22c55e; }
.ins-alert-border--info   { background:#3A43D1; }
.ins-alert-body { flex:1; padding:20px 24px; min-width:0; }
.ins-alert-priority-badge { display:inline-block; font-size:11px; font-weight:600; padding:3px 10px; border-radius:99px; margin-bottom:10px; }
.ins-alert-priority-badge--high   { background:rgba(239,68,68,0.1);  color:#dc2626; }
.ins-alert-priority-badge--medium { background:rgba(245,158,11,0.1); color:#d97706; }
.ins-alert-priority-badge--low    { background:rgba(34,197,94,0.1);  color:#16a34a; }
.ins-alert-priority-badge--info   { background:rgba(58,67,209,0.1);  color:#3A43D1; }
.ins-alert-title { font-size:16px; font-weight:700; color:rgb(var(--secondary_color)); margin-bottom:6px; }
.ins-alert-desc { font-size:13px; color:rgb(var(--text_muted_color)); line-height:1.6; margin-bottom:12px; }
.ins-alert-tags { display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:12px; color:rgb(var(--text_muted_color)); }
.ins-alert-tag { display:flex; align-items:center; gap:4px; }
.ins-alert-side { width:200px; flex-shrink:0; background:rgb(var(--elements_inner_background_color)); padding:20px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:4px; position:relative; }
.ins-alert-side-label { font-size:11px; color:rgb(var(--text_muted_color)); }
.ins-alert-side-value { font-size:20px; font-weight:800; color:#f59e0b; }
.ins-alert-side-sub { font-size:11px; color:rgb(var(--text_muted_color)); }
.ins-alert-side-chevron { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:rgb(var(--text_muted_color)); font-size:16px; }

/* ─── Filter Dropdown ────────────────────────────────────────────────────── */
.ins-filter-wrap { position:relative; display:inline-block; }
.ins-filter-btn { display:flex; align-items:center; gap:6px; cursor:pointer; background:#fff; border:1px solid rgb(var(--border_color)); border-radius:8px; padding:7px 12px; font-size:13px; font-weight:500; color:rgb(var(--text_color)); user-select:none; white-space:nowrap; transition:border-color 0.15s ease; }
.ins-filter-btn:hover { border-color:#3A43D1; }
.ins-filter-btn.active { border-color:#3A43D1; color:#3A43D1; }
.ins-filter-dropdown { position:absolute; right:0; top:calc(100% + 6px); background:#fff; border:1px solid rgb(var(--border_color)); border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,0.1); min-width:180px; z-index:999; overflow:hidden; display:none; }
.ins-filter-dropdown.open { display:block; }
.ins-filter-option { padding:10px 14px; font-size:13px; cursor:pointer; display:flex; align-items:center; gap:8px; color:rgb(var(--text_color)); transition:background 0.1s ease; }
.ins-filter-option:hover { background:rgba(58,67,209,0.05); }
.ins-filter-option.selected { color:#3A43D1; font-weight:600; }
.ins-filter-option.selected::after { content:'✓'; margin-left:auto; font-size:12px; }
.ins-filter-hidden { display:none !important; }

/* ─── Premium Intelligence Landing Page ──────────────────────────────────── */
.ins-landing-wrap { position: fixed; top: 0; left: 260px; right: 0; bottom: 0; z-index: 1040; display: flex; align-items: center; justify-content: center; padding: 32px 32px; background: rgb(var(--elements_background_color)); overflow-y: auto; }
.ins-landing-card { background: #fff; border-radius: 24px; overflow: hidden; width: 100%; max-width: 1100px; min-height: 520px; display: grid; grid-template-columns: 5fr 7fr; box-shadow: 0 8px 40px rgba(21,0,109,0.12); }
@media (max-width: 768px) { .ins-landing-card { grid-template-columns: 1fr; } }

/* Left illustration panel */
.ins-landing-left { background: #15006D; display: flex; align-items: center; justify-content: center; padding: 40px 24px; position: relative; overflow: hidden; }
.ins-landing-left::before { content: ''; position: absolute; width: 360px; height: 360px; border-radius: 50%; border: 1px dashed rgba(91,230,201,0.2); top: 50%; left: 50%; transform: translate(-50%, -50%); animation: ins-spin-slow 30s linear infinite; }
.ins-landing-left::after { content: ''; position: absolute; width: 240px; height: 240px; border-radius: 50%; border: 1px dashed rgba(91,230,201,0.15); top: 50%; left: 50%; transform: translate(-50%, -50%); animation: ins-spin-slow 20s linear infinite reverse; }

/* Floating decorative dots */
.ins-landing-dot { position: absolute; border-radius: 50%; background: #5BE6C9; animation: ins-float 3s ease-in-out infinite; }
.ins-landing-dot:nth-child(1) { width: 8px; height: 8px; top: 20%; left: 15%; opacity: 0.4; animation-delay: 0s; }
.ins-landing-dot:nth-child(2) { width: 5px; height: 5px; top: 35%; right: 18%; opacity: 0.3; animation-delay: 1s; }
.ins-landing-dot:nth-child(3) { width: 6px; height: 6px; bottom: 25%; left: 20%; opacity: 0.35; animation-delay: 2s; }
.ins-landing-dot:nth-child(4) { width: 4px; height: 4px; bottom: 35%; right: 15%; opacity: 0.25; animation-delay: 0.5s; }

/* Main illustration circle */
.ins-landing-circle { width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #3A43D1, #15006D); display: flex; align-items: center; justify-content: center; position: relative; z-index: 2; box-shadow: 0 0 0 8px rgba(91,230,201,0.08), 0 0 40px 8px rgba(91,230,201,0.2), 0 0 80px 16px rgba(58,67,209,0.3), 0 0 120px 24px rgba(21,0,109,0.4); animation: ins-glow-pulse 3s ease-in-out infinite; }
.ins-landing-circle i { font-size: 64px; color: #fff; }

/* Mini floating cards */
.ins-landing-mini-card { position: absolute; background: #fff; border-radius: 12px; padding: 10px 14px; box-shadow: 0 4px 16px rgba(0,0,0,0.1); z-index: 3; animation: ins-float 4s ease-in-out infinite; }
.ins-landing-mini-card:nth-of-type(1) { bottom: 15%; left: 8%; animation-delay: 0.5s; }
.ins-landing-mini-card:nth-of-type(2) { top: 15%; right: 8%; animation-delay: 1.5s; }

/* Right content panel */
.ins-landing-right { padding: 28px 40px; display: flex; flex-direction: column; justify-content: flex-start; gap: 12px; }
@media (max-width: 768px) { .ins-landing-right { padding: 32px 24px; } }

.ins-landing-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(91,230,201,0.08); color: #0d9488; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; padding: 6px 16px; border-radius: 99px; border: 1px solid rgba(91,230,201,0.3); width: fit-content; }
.ins-landing-title { font-size: 26px; font-weight: 800; color: #15006D; line-height: 1.2; letter-spacing: -0.02em; margin: 0; text-transform: none !important; }
.ins-landing-subtitle { font-size: 13px; color: rgb(var(--text_muted_color)); line-height: 1.6; margin: 0; }

.ins-landing-features { display: flex; flex-direction: column; gap: 0; border-top: 1px solid rgba(0,0,0,0.06); border-bottom: 1px solid rgba(0,0,0,0.06); padding: 8px 0; }
.ins-landing-feature { display: flex; align-items: center; gap: 12px; padding: 6px 0; }
.ins-landing-feature-icon { width: 40px; height: 40px; border-radius: 10px; background: rgba(21,0,109,0.06); display: flex; align-items: center; justify-content: center; color: #3A43D1; font-size: 17px; flex-shrink: 0; border: 1px solid rgba(21,0,109,0.08); }
.ins-landing-feature-title { font-size: 13px; font-weight: 700; color: rgb(var(--secondary_color)); }
.ins-landing-feature-sub { font-size: 12px; color: rgb(var(--text_muted_color)); }

.ins-landing-period-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ins-landing-period-label { font-size: 13px; font-weight: 600; color: rgb(var(--text_color)); }
.ins-landing-select { border: 1px solid rgb(var(--border_color)); border-radius: 8px; padding: 8px 12px; font-size: 13px; color: rgb(var(--text_color)); background: #fff; cursor: pointer; }
.ins-landing-meta { font-size: 12px; color: rgb(var(--text_muted_color)); display: flex; align-items: center; gap: 6px; }

.ins-landing-btn { display: flex; align-items: center; justify-content: center; gap: 10px; background: #5BE6C9; color: #15006D; padding: 13px 32px; border-radius: 12px; font-size: 15px; font-weight: 800; text-decoration: none; transition: all 0.2s ease; letter-spacing: 0.01em; }
.ins-landing-btn:hover { background: #3dd6b5; color: #15006D; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(91,230,201,0.4); }
.ins-landing-footer-note { font-size: 12px; color: rgb(var(--text_muted_color)); display: flex; align-items: center; justify-content: center; gap: 6px; }

/* Keyframe animations */
@keyframes ins-spin-slow { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes ins-float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-8px); } }
@keyframes ins-pulse-ring { 0%, 100% { box-shadow: 0 0 0 0 rgba(58,67,209,0.25); } 50% { box-shadow: 0 0 0 20px rgba(58,67,209,0); } }
@keyframes ins-bar-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes ins-fade-in-up { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
.ins-landing-right > * { animation: ins-fade-in-up 0.5s ease both; }
.ins-landing-right > *:nth-child(1) { animation-delay: 0.1s; }
.ins-landing-right > *:nth-child(2) { animation-delay: 0.2s; }
.ins-landing-right > *:nth-child(3) { animation-delay: 0.3s; }
.ins-landing-right > *:nth-child(4) { animation-delay: 0.4s; }
.ins-landing-right > *:nth-child(5) { animation-delay: 0.5s; }
.ins-landing-right > *:nth-child(6) { animation-delay: 0.6s; }
.ins-landing-right > *:nth-child(7) { animation-delay: 0.7s; }

/* ─── Orbit Animation System ─────────────────────────────────────────────── */
.ins-orbit-system { position: relative; width: 360px; height: 360px; display: flex; align-items: center; justify-content: center; }

.ins-orbit-ring { position: absolute; border-radius: 50%; border: 1px dashed rgba(91,230,201,0.25); display: flex; align-items: center; justify-content: center; }
.ins-orbit-ring--1 { width: 170px; height: 170px; animation: ins-orbit-cw 10s linear infinite; }
.ins-orbit-ring--2 { width: 260px; height: 260px; animation: ins-orbit-ccw 14s linear infinite; }
.ins-orbit-ring--3 { width: 350px; height: 350px; animation: ins-orbit-cw 18s linear infinite; }
.ins-orbit-icon { position: absolute; width: 38px; height: 38px; border-radius: 50%; background: #15006D; border: 1.5px solid rgba(91,230,201,0.6); display: flex; align-items: center; justify-content: center; color: #5BE6C9; font-size: 14px; box-shadow: 0 0 12px rgba(91,230,201,0.2), 0 2px 8px rgba(0,0,0,0.4); }
.ins-orbit-ring--1 .ins-orbit-icon:nth-child(1) { transform: translateY(-85px); animation: ins-counter-cw-1a 10s linear infinite; }
.ins-orbit-ring--1 .ins-orbit-icon:nth-child(2) { transform: translateY(85px); animation: ins-counter-cw-1b 10s linear infinite; }
.ins-orbit-ring--2 .ins-orbit-icon:nth-child(1) { transform: translateY(-130px); animation: ins-counter-ccw-2a 14s linear infinite; }
.ins-orbit-ring--2 .ins-orbit-icon:nth-child(2) { transform: translateY(130px); animation: ins-counter-ccw-2b 14s linear infinite; }
.ins-orbit-ring--3 .ins-orbit-icon:nth-child(1) { transform: translateY(-175px); animation: ins-counter-cw-3a 18s linear infinite; }
.ins-orbit-ring--3 .ins-orbit-icon:nth-child(2) { transform: translateY(175px); animation: ins-counter-cw-3b 18s linear infinite; }
.ins-orbit-ring--3 .ins-orbit-icon--right { transform: translateX(175px); animation: ins-counter-cw-3r 18s linear infinite; }
.ins-orbit-ring--3 .ins-orbit-icon--left  { transform: translateX(-175px); animation: ins-counter-cw-3l 18s linear infinite; }
@keyframes ins-orbit-cw  { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes ins-orbit-ccw { from { transform: rotate(0deg); } to { transform: rotate(-360deg); } }
@keyframes ins-counter-cw-1a  { from { transform: translateY(-85px) rotate(0deg); } to { transform: translateY(-85px) rotate(-360deg); } }
@keyframes ins-counter-cw-1b  { from { transform: translateY(85px) rotate(0deg); } to { transform: translateY(85px) rotate(-360deg); } }
@keyframes ins-counter-ccw-2a { from { transform: translateY(-130px) rotate(0deg); } to { transform: translateY(-130px) rotate(360deg); } }
@keyframes ins-counter-ccw-2b { from { transform: translateY(130px) rotate(0deg); } to { transform: translateY(130px) rotate(360deg); } }
@keyframes ins-counter-cw-3a  { from { transform: translateY(-175px) rotate(0deg); } to { transform: translateY(-175px) rotate(-360deg); } }
@keyframes ins-counter-cw-3b  { from { transform: translateY(175px) rotate(0deg); } to { transform: translateY(175px) rotate(-360deg); } }
@keyframes ins-counter-cw-3r  { from { transform: translateX(175px) rotate(0deg); } to { transform: translateX(175px) rotate(-360deg); } }
@keyframes ins-counter-cw-3l  { from { transform: translateX(-175px) rotate(0deg); } to { transform: translateX(-175px) rotate(-360deg); } }

/* Landing period selector custom */
.ins-landing-period-wrap { display:flex; align-items:center; gap:12px; background:rgba(21,0,109,0.04); border:1px solid rgba(21,0,109,0.1); border-radius:12px; padding:12px 16px; flex-wrap:wrap; }
.ins-landing-period-label { font-size:12px; font-weight:700; color:#15006D; letter-spacing:0.05em; text-transform:uppercase; white-space:nowrap; }
.ins-landing-period-select { background:transparent; border:none; font-size:14px; font-weight:700; color:#3A43D1; cursor:pointer; outline:none; padding:0 4px; }
.ins-landing-period-meta { font-size:12px; color:#0d9488; font-weight:600; display:flex; align-items:center; gap:4px; margin-left:auto; }
.ins-landing-divider { width:1px; height:20px; background:rgba(21,0,109,0.1); }

/* Landing period select */
.ins-period-select { width:100%; padding:10px 36px 10px 14px; border:1.5px solid rgba(58,67,209,0.2); border-radius:10px; font-size:14px; font-weight:600; color:#15006D; background:#fff; cursor:pointer; outline:none; transition:border-color 0.15s; }
.ins-period-select:focus { border-color:#3A43D1; }
@keyframes ins-load-counter-r { from { transform: translateX(120px) rotate(0deg); } to { transform: translateX(120px) rotate(-360deg); } }
@keyframes ins-load-counter-l { from { transform: translateX(-120px) rotate(0deg); } to { transform: translateX(-120px) rotate(-360deg); } }

/* Fix verified badge clipping */
.review-item .item-img { overflow: visible !important; }
.review-item .item-verified { bottom: 0px !important; right: -4px !important; z-index: 2; }

/* Fix single business display in sidebar */
.dashboard-sidebar .dashboard-sidebar-selective .item-title { color: #fff !important; }
.dashboard-sidebar .dashboard-sidebar-selective .item-meta { color: rgba(255,255,255,0.5) !important; }

/* ─── Competitor Benchmarking Landing State (Session 11) ──────────────── */
.cb-landing-wrap { width:100%; max-width:780px; margin:0 auto; padding:24px 20px 28px; display:flex; flex-direction:column; align-items:center; gap:12px; }
.cb-landing-header { text-align:center; }
.cb-landing-icon-wrap { position:relative; width:80px; height:80px; margin:0 auto 12px; display:flex; align-items:center; justify-content:center; }
.cb-landing-icon { width:72px; height:72px; border-radius:20px; background:#3A43D1; display:flex; align-items:center; justify-content:center; }
.cb-landing-icon i { color:#5BE6C9; font-size:30px; }
.cb-landing-sparkle { position:absolute; color:#3A43D1; opacity:0.5; line-height:1; }
.cb-landing-title { font-size:28px; font-weight:800; color:#15006D; letter-spacing:-0.02em; margin:0 0 12px; text-transform:none !important; }
.cb-landing-subtitle { font-size:14px; color:rgb(var(--text_muted_color)); line-height:1.6; max-width:560px; margin:0 auto; }
.cb-selector-card { width:100%; background:#fff; border-radius:20px; border:1px solid rgba(58,67,209,0.1); box-shadow:0 4px 24px rgba(21,0,109,0.07); padding:18px; }
.cb-selector-header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:20px; }
.cb-selector-header-left { display:flex; align-items:flex-start; gap:10px; }
.cb-selector-header-icon { width:36px; height:36px; border-radius:10px; background:rgba(58,67,209,0.08); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cb-selector-header-icon i { color:#3A43D1; font-size:16px; }
.cb-selector-title { font-size:15px; font-weight:700; color:#15006D; }
.cb-selector-subtitle { font-size:12px; color:rgb(var(--text_muted_color)); margin-top:2px; }
.cb-selector-pill { display:inline-flex; align-items:center; padding:3px 10px; background:rgba(58,67,209,0.08); border-radius:99px; font-size:11px; font-weight:700; color:#3A43D1; margin-left:8px; vertical-align:middle; }
.cb-selector-counter { display:flex; flex-direction:column; align-items:flex-end; flex-shrink:0; }
.cb-selector-counter-value { font-size:20px; font-weight:800; color:#15006D; line-height:1; }
.cb-selector-counter-label { font-size:11px; color:rgb(var(--text_muted_color)); margin-top:3px; }
.cb-search-wrap { position:relative; margin-bottom:16px; }
.cb-search-input { width:100%; padding:11px 44px 11px 40px; border:1.5px solid rgba(58,67,209,0.15); border-radius:10px; font-size:13px; color:#15006D; background:#f8f8fc; outline:none; box-sizing:border-box; transition:border-color 0.15s; }
.cb-search-input:focus { border-color:#3A43D1; background:#fff; }
.cb-search-icon-left { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:rgba(21,0,109,0.35); font-size:14px; pointer-events:none; }
.cb-search-icon-right { position:absolute; right:13px; top:50%; transform:translateY(-50%); color:rgba(21,0,109,0.35); font-size:14px; }
.cb-search-results { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border:1.5px solid rgba(58,67,209,0.15); border-radius:10px; margin-top:4px; z-index:100; box-shadow:0 8px 24px rgba(21,0,109,0.1); max-height:240px; overflow-y:auto; }
.cb-comp-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }
@media (max-width:576px) { .cb-comp-grid { grid-template-columns:1fr; } }
.cb-comp-card { display:flex; align-items:flex-start; gap:12px; padding:14px; border:1.5px solid rgba(58,67,209,0.12); border-radius:14px; cursor:pointer; background:#fff; transition:all 0.15s; user-select:none; }
.cb-comp-card:hover { border-color:rgba(58,67,209,0.3); background:rgba(58,67,209,0.02); }
.cb-comp-card.cb-comp-selected { border-color:#3A43D1; background:rgba(58,67,209,0.04); }
.cb-comp-checkbox { width:20px; height:20px; border-radius:6px; border:2px solid rgba(58,67,209,0.25); background:#fff; flex-shrink:0; display:flex; align-items:center; justify-content:center; margin-top:2px; transition:all 0.15s; }
.cb-comp-card.cb-comp-selected .cb-comp-checkbox { background:#3A43D1; border-color:#3A43D1; }
.cb-comp-body { flex:1; min-width:0; }
.cb-comp-top { display:flex; align-items:flex-start; gap:10px; margin-bottom:8px; }
.cb-comp-icon { width:36px; height:36px; border-radius:10px; background:rgba(58,67,209,0.08); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cb-comp-icon i { color:#3A43D1; font-size:16px; }
.cb-comp-name { font-size:13px; font-weight:700; color:#15006D; display:flex; align-items:center; gap:5px; flex-wrap:wrap; line-height:1.4; overflow:visible; }
.cb-comp-location { font-size:11px; color:rgb(var(--text_muted_color)); margin-top:3px; display:flex; align-items:center; gap:4px; }
.cb-comp-stats { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.cb-comp-rating { font-size:12px; font-weight:700; color:#d97706; display:flex; align-items:center; gap:3px; }
.cb-comp-rating i { font-size:11px; }
.cb-comp-reviews { font-size:12px; color:rgb(var(--text_muted_color)); }
.cb-comp-sep { font-size:12px; color:rgba(21,0,109,0.2); }
.cb-comp-sentiment { font-size:12px; font-weight:700; display:flex; align-items:center; gap:2px; }
.cb-comp-sentiment--up { color:#16a34a; }
.cb-comp-sentiment--down { color:#dc2626; }
.cb-selected-panel { display:flex; align-items:stretch; gap:16px; padding:16px; background:rgba(21,0,109,0.02); border:1px solid rgba(21,0,109,0.07); border-radius:12px; min-height:76px; }
.cb-selected-left { flex-shrink:0; min-width:170px; }
.cb-selected-left-title { font-size:13px; font-weight:700; color:#15006D; }
.cb-selected-left-count { font-size:12px; color:rgb(var(--text_muted_color)); margin-top:3px; }
.cb-selected-left-warn { font-size:11px; color:#d97706; margin-top:5px; }
.cb-selected-right { flex:1; border:1.5px dashed rgba(58,67,209,0.2); border-radius:10px; display:flex; align-items:center; justify-content:flex-start; padding:8px 12px; gap:8px; flex-wrap:wrap; min-height:52px; }
.cb-selected-placeholder { display:flex; align-items:center; gap:8px; color:rgba(21,0,109,0.3); width:100%; justify-content:center; }
.cb-selected-placeholder i { font-size:20px; }
.cb-selected-placeholder span { font-size:12px; }
.cb-selected-chip { display:inline-flex; align-items:center; gap:6px; padding:5px 8px 5px 10px; background:#fff; border:1px solid rgba(58,67,209,0.2); border-radius:99px; font-size:12px; font-weight:600; color:#15006D; }
.cb-selected-chip button { background:none; border:none; padding:0; cursor:pointer; color:rgba(21,0,109,0.4); font-size:14px; line-height:1; display:flex; align-items:center; transition:color 0.1s; }
.cb-selected-chip button:hover { color:#dc2626; }
.cb-period-card { width:100%; background:#fff; border-radius:16px; border:1px solid rgba(58,67,209,0.1); padding:14px 18px; display:flex; align-items:center; gap:16px; box-shadow:0 2px 12px rgba(21,0,109,0.05); }
.cb-period-icon { width:44px; height:44px; border-radius:12px; background:rgba(58,67,209,0.08); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cb-period-icon i { color:#3A43D1; font-size:20px; }
.cb-period-info { flex:1; }
.cb-period-title { font-size:13px; font-weight:700; color:#15006D; }
.cb-period-sub { font-size:12px; color:rgb(var(--text_muted_color)); margin-top:2px; }
.cb-period-select-wrap { display:flex; align-items:center; gap:8px; }
.cb-period-select-wrap i { color:rgba(21,0,109,0.3); font-size:14px; }
.cb-period-select { padding:9px 14px; border:1.5px solid rgba(58,67,209,0.15); border-radius:10px; font-size:13px; font-weight:600; color:#15006D; background:#fff; outline:none; cursor:pointer; min-width:150px; }
.cb-run-btn { width:100%; padding:16px 32px; border:none; border-radius:14px; font-size:15px; font-weight:800; background:#15006D; color:#fff; cursor:pointer; transition:all 0.2s; letter-spacing:0.01em; display:flex; align-items:center; justify-content:center; gap:10px; }
.cb-run-btn:hover:not(:disabled) { background:#3A43D1; transform:translateY(-1px); box-shadow:0 8px 24px rgba(21,0,109,0.25); }
.cb-run-btn:disabled { opacity:0.45; cursor:not-allowed; transform:none !important; box-shadow:none !important; }
.cb-footer-note { font-size:12px; color:rgb(var(--text_muted_color)); display:flex; align-items:center; justify-content:center; gap:6px; }

/* ─── Competitor Benchmarking Results (Session 12) ─────────────────────── */
.cb-change-btn { font-size:13px; color:#3A43D1; font-weight:600; text-decoration:none; white-space:nowrap; display:inline-flex; align-items:center; gap:6px; }
.cb-change-btn:hover { color:#15006D; }

/* Results comparison table */
.cb-results-table { width:100%; border-collapse:collapse; font-size:13px; }
.cb-results-th { padding:10px 14px; font-size:11px; font-weight:700; color:rgb(var(--text_muted_color)); letter-spacing:0.06em; text-transform:uppercase; border-bottom:2px solid rgba(21,0,109,0.08); text-align:left; white-space:nowrap; }
.cb-results-th--center { text-align:center; }
.cb-results-tr { border-bottom:1px solid rgba(21,0,109,0.06); transition:background 0.15s; }
.cb-results-tr:hover { background:rgba(21,0,109,0.02); }
.cb-results-tr--mine { border-bottom:1px solid rgba(21,0,109,0.06); background:rgba(58,67,209,0.03); }
.cb-results-td { padding:14px; vertical-align:middle; }
.cb-results-td--center { text-align:center; vertical-align:middle; }
.cb-results-you-badge { background:#3A43D1; color:#fff; font-size:10px; font-weight:700; padding:2px 8px; border-radius:99px; white-space:nowrap; flex-shrink:0; }

/* Performance leaderboard cards */
.cb-lb-card { display:flex; align-items:center; gap:16px; padding:20px 24px; border-radius:14px; border:2px solid; margin-bottom:0; }
.cb-lb-card--mine { border-color:#3A43D1; background:rgba(58,67,209,0.04); }
.cb-lb-card--other { border-color:rgba(21,0,109,0.1); background:#fff; }
.cb-lb-rank { font-size:28px; font-weight:800; color:#15006D; width:52px; flex-shrink:0; font-variant-numeric:tabular-nums; }
.cb-lb-rank--gold { color:#d97706; }
.cb-lb-body { flex:1; min-width:0; }
.cb-lb-name { font-size:15px; font-weight:700; color:#15006D; margin-bottom:4px; }
.cb-lb-desc { font-size:12px; color:rgb(var(--text_muted_color)); line-height:1.5; }
.cb-lb-breakdown { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.cb-lb-dim { display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border-radius:99px; font-size:11px; font-weight:600; }
.cb-lb-dim--lead { background:rgba(22,163,74,0.1); color:#16a34a; }
.cb-lb-dim--mid { background:rgba(58,67,209,0.08); color:#3A43D1; }
.cb-lb-dim--lag { background:rgba(217,119,6,0.08); color:#d97706; }
.cb-lb-score-wrap { text-align:right; flex-shrink:0; }
.cb-lb-score { font-size:32px; font-weight:800; color:#15006D; line-height:1; }
.cb-lb-score-label { font-size:11px; color:rgb(var(--text_muted_color)); margin-top:4px; }

/* Gap alerts */
.cb-gap-alert { display:flex; align-items:flex-start; gap:14px; padding:16px 18px; border-radius:12px; border:1px solid; margin-bottom:0; }
.cb-gap-alert--opportunity { background:rgba(22,163,74,0.03); border-color:rgba(22,163,74,0.15); border-left:4px solid #16a34a; }
.cb-gap-alert--watch { background:rgba(217,119,6,0.03); border-color:rgba(217,119,6,0.15); border-left:4px solid #d97706; }
.cb-gap-alert-icon { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cb-gap-alert-icon--opportunity { background:rgba(22,163,74,0.1); }
.cb-gap-alert-icon--watch { background:rgba(217,119,6,0.1); }
.cb-gap-alert-competitor { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:4px; }
.cb-gap-alert-competitor--opportunity { color:#16a34a; }
.cb-gap-alert-competitor--watch { color:#d97706; }
.cb-gap-alert-title { font-size:13px; font-weight:700; color:#15006D; margin-bottom:3px; }
.cb-gap-alert-text { font-size:12px; color:rgb(var(--text_muted_color)); line-height:1.6; }

/* Momentum cards */
.cb-momentum-card { padding:16px; background:rgba(58,67,209,0.02); border:1px solid rgba(58,67,209,0.08); border-radius:12px; height:100%; }

/* == BUSINESS LANDING: blog section hide meta =============== */
.business-home .biz-blog-section .blog-post-meta { display: none !important; }
.business-home .biz-blog-section .blog-post-text { display: none !important; }

/* == SUB-TABS (insights navigation) ======================== */
.sub-tabs { display: flex !important; width: 100%; gap: 0.5rem; padding-bottom: 1rem; overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; }
.sub-tabs .sub-tab { padding: 0.6rem 1.25rem !important; background: rgb(var(--elements_background_color)) !important; border: 1px solid rgb(var(--border_color)) !important; border-radius: var(--border_radius) !important; font-size: 0.85rem !important; font-weight: 500 !important; color: rgb(var(--text_muted_color)) !important; cursor: pointer !important; transition: all 0.2s ease !important; white-space: nowrap !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; }
.sub-tabs .sub-tab:hover { color: rgb(var(--text_color)) !important; }
.sub-tabs .sub-tab.active { background: rgb(var(--secondary_color)) !important; color: #fff !important; border-color: rgb(var(--secondary_color)) !important; }

/* == INSIGHT PAGES: PRINT / PDF EXPORT ==================== */
@media print {
    /* Hide everything except content */
    .dashboard-sidebar,
    .dashboard-nav,
    .dashboard-footer,
    .sub-tabs,
    .ins-export-btn,
    .biz-settings-save-btn,
    [data-bs-toggle="modal"],
    .btn,
    form,
    .modal,
    .dashboard-header,
    .alert,
    .ins-landing-wrap,
    .ins-options-bar { display: none !important; }

    /* Reset layout */
    body { background: #fff !important; }
    .dashboard { display: block !important; }
    .dashboard-body { margin: 0 !important; padding: 0 !important; }
    .dashboard-container,
    .dashboard-container-xl,
    .dashboard-container-xxl { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }

    /* Cards print cleanly */
    .ins-card,
    .biz-chart-card { border: 1px solid #e0e0e0 !important; box-shadow: none !important; break-inside: avoid; margin-bottom: 16px !important; }

    /* Page setup */
    @page { size: A4 landscape; margin: 15mm; }

    /* Show print header */
    .ins-print-header { display: block !important; }
}

.ins-print-header {
    display: none;
    padding: 0 0 16px 0;
    border-bottom: 2px solid #15006D;
    margin-bottom: 20px;
}
.ins-print-header-title { font-size: 20px; font-weight: 800; color: #15006D; }
.ins-print-header-sub { font-size: 13px; color: #5a6080; margin-top: 4px; }

/* =============================================================
   PRICING CARDS -- pc-* namespace -- Session 16 -- v1.5.23
   Single canonical block -- all previous patches removed
   ============================================================= */

body.business-home {
    --pc-purple:        #4B39EF;
    --pc-purple-dark:   #3B2AD0;
    --pc-purple-light:  #EEF0FF;
    --pc-teal:          #5BE6C9;
    --pc-teal-faint:    rgba(91, 230, 201, 0.18);
    --pc-teal-text:     #0BA08A;
    --pc-check-color:   #10B981;
    --pc-navy:          #0F0050;
    --pc-dark:          #111827;
    --pc-muted:         #9CA3AF;
    --pc-border:        #E5E7EB;
    --pc-radius-card:   28px;
    --pc-radius-btn:    16px;
    --pc-radius-icon:   12px;
    --pc-icon-size:     56px;
}
body.business-home .pc-pricing-wrapper { padding: 72px 0 88px; }
body.business-home .pc-toggle-section { display: flex; justify-content: center; margin-bottom: 52px; }
body.business-home .pc-toggle-row { display: flex; align-items: center; gap: 16px; position: relative; }
body.business-home .pc-toggle-pill { display: inline-flex; align-items: center; gap: 12px; background: #F1F3F9; border-radius: 999px; padding: 8px 20px; }
body.business-home .pc-billing-label { font-size: 15px; font-weight: 600; color: var(--pc-dark); user-select: none; line-height: 1; }
body.business-home .pc-switch { position: relative; display: inline-block; width: 52px; height: 28px; flex-shrink: 0; cursor: pointer; margin: 0; }
body.business-home .pc-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
body.business-home .pc-switch-slider { position: absolute; inset: 0; background: #CBD5E0; border-radius: 999px; transition: background 0.25s ease; box-shadow: inset 0 2px 5px rgba(0,0,0,0.18); }
body.business-home .pc-switch-slider::before { content: ''; position: absolute; width: 22px; height: 22px; left: 3px; bottom: 3px; background: #ffffff; border-radius: 50%; transition: transform 0.25s ease; box-shadow: 0 2px 6px rgba(0,0,0,0.28); }
body.business-home .pc-switch input:checked + .pc-switch-slider { background: var(--pc-purple); }
body.business-home .pc-switch input:checked + .pc-switch-slider::before { transform: translateX(24px); }
body.business-home .pc-save-badge { display: inline-flex; align-items: center; gap: 5px; background: var(--pc-teal); color: #065f46; font-size: 12px; font-weight: 700; padding: 5px 13px; border-radius: 999px; line-height: 1; white-space: nowrap; }
body.business-home .pc-annotation { position: absolute; top: -42px; right: -130px; display: flex; flex-direction: column; align-items: flex-start; font-size: 11px; font-weight: 700; color: var(--pc-teal-text); line-height: 1.45; white-space: nowrap; pointer-events: none; }
body.business-home .pc-annotation svg { margin-top: 3px; }
body.business-home .pc-cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; align-items: stretch; padding-bottom: 24px; }
body.business-home .pc-card { position: relative; background: #ffffff; border: 1px solid var(--pc-border); border-radius: var(--pc-radius-card); padding: 32px 28px; display: flex; flex-direction: column; height: 100%; min-width: 0; }
body.business-home .pc-card--premium { background: var(--pc-navy); border: 2px solid var(--pc-teal); color: #ffffff; padding-top: 48px; }
body.business-home .pc-featured-badge { position: absolute; top: -16px; left: 50%; transform: translateX(-50%); background: var(--pc-teal); color: #065f46; font-size: 10px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; padding: 5px 18px; border-radius: 999px; white-space: nowrap; z-index: 1; }
body.business-home .pc-card-header--stacked { display: flex; flex-direction: column; margin-bottom: 16px; }
body.business-home .pc-card-header--stacked .pc-icon-wrap { margin-bottom: 20px; }
body.business-home .pc-card-header--side { display: flex; flex-direction: row; align-items: center; gap: 16px; margin-bottom: 16px; }
body.business-home .pc-card-header--side .pc-header-text { display: flex; flex-direction: column; justify-content: center; }
body.business-home .pc-card-header--side .pc-plan-name { margin-bottom: 6px; }
body.business-home .pc-icon-wrap { width: var(--pc-icon-size); height: var(--pc-icon-size); min-width: var(--pc-icon-size); background: var(--pc-purple-light); border-radius: var(--pc-radius-icon); display: flex; align-items: center; justify-content: center; font-size: 22px; color: var(--pc-purple); flex-shrink: 0; }
body.business-home .pc-card--premium .pc-icon-wrap { background: rgba(255,255,255,0.10); color: var(--pc-teal); }
body.business-home .pc-plan-name { font-size: 28px; font-weight: 900; color: var(--pc-dark); line-height: 1.1; margin-bottom: 10px; }
body.business-home .pc-card--premium .pc-plan-name { color: #ffffff; }
body.business-home .pc-plan-badge { display: inline-block; background: var(--pc-purple-light); color: var(--pc-purple); font-size: 11px; font-weight: 700; padding: 4px 12px; border-radius: 999px; margin-bottom: 14px; width: fit-content; line-height: 1.6; white-space: nowrap; }
body.business-home .pc-card--premium .pc-plan-badge { background: rgba(255,255,255,0.12); color: rgba(255,255,255,0.85); }
body.business-home .pc-plan-desc { font-size: 14px; color: #6B7280; line-height: 1.55; margin-bottom: 20px; }
body.business-home .pc-card--premium .pc-plan-desc { color: rgba(255,255,255,0.65); }
body.business-home .pc-price-block { margin-bottom: 24px; }
body.business-home .pc-price { display: flex; align-items: baseline; margin-bottom: 10px; line-height: 1; }
body.business-home .pc-currency { font-size: 22px; font-weight: 900; color: var(--pc-dark); align-self: flex-start; margin-top: 7px; margin-right: 1px; line-height: 1; }
body.business-home .pc-amount { font-size: 40px; font-weight: 900; color: var(--pc-dark); letter-spacing: -0.025em; line-height: 1; }
body.business-home .pc-period { font-size: 14px; font-weight: 500; color: var(--pc-muted); margin-left: 4px; align-self: flex-end; padding-bottom: 6px; }
body.business-home .pc-card--premium .pc-currency,
body.business-home .pc-card--premium .pc-amount { color: #ffffff; }
body.business-home .pc-card--premium .pc-period { color: rgba(255,255,255,0.55); }
body.business-home .pc-savings-pill { display: none; align-items: center; gap: 5px; background: var(--pc-teal-faint); color: var(--pc-teal-text); font-size: 12px; font-weight: 700; padding: 5px 13px; border-radius: 999px; width: fit-content; line-height: 1; }
body.business-home .pc-card--premium .pc-savings-pill { background: var(--pc-teal); color: #065f46; }
body.business-home .pc-divider { border: none; border-top: 1px solid var(--pc-border); margin: 0 0 18px; }
body.business-home .pc-card--premium .pc-divider { border-top-color: rgba(255,255,255,0.14); }
body.business-home .pc-feature-prefix { font-size: 13px; font-weight: 700; color: var(--pc-dark); margin-bottom: 14px; }
body.business-home .pc-card--premium .pc-feature-prefix { color: rgba(255,255,255,0.85); }
body.business-home .pc-features { list-style: none; padding: 0; margin: 0 0 28px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
body.business-home .pc-feature { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.4; color: var(--pc-dark); }
body.business-home .pc-feature--excluded { color: var(--pc-muted); }
body.business-home .pc-check { color: var(--pc-check-color); font-size: 14px; font-weight: 900; flex-shrink: 0; line-height: 1.4; }
body.business-home .pc-cross { color: var(--pc-muted); font-size: 14px; font-weight: 700; flex-shrink: 0; line-height: 1.4; }
body.business-home .pc-card--premium .pc-feature { color: rgba(255,255,255,0.85); }
body.business-home .pc-card--premium .pc-feature--excluded { color: rgba(255,255,255,0.38); }
body.business-home .pc-card--premium .pc-check { color: var(--pc-teal); }
body.business-home .pc-card--premium .pc-cross { color: rgba(255,255,255,0.35); }
body.business-home .pc-cta { margin-top: auto; }
body.business-home .pc-btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 56px; border-radius: var(--pc-radius-btn); font-size: 16px; font-weight: 900; text-decoration: none; transition: filter 0.18s ease, background 0.18s ease; border: none; cursor: pointer; text-align: center; line-height: 1; letter-spacing: 0.01em; }
body.business-home .pc-btn--outline { display: block; width: 100%; text-align: center; background: transparent; border: 2px solid var(--pc-purple); color: var(--pc-purple); }
body.business-home .pc-btn--outline:hover, body.business-home .pc-btn--outline:focus { background: var(--pc-purple-light); color: var(--pc-purple); text-decoration: none; }
body.business-home .pc-btn--purple { background: var(--pc-purple); color: #ffffff; border: 2px solid var(--pc-purple); }
body.business-home .pc-btn--purple:hover, body.business-home .pc-btn--purple:focus { background: var(--pc-purple-dark); border-color: var(--pc-purple-dark); color: #ffffff; text-decoration: none; }
body.business-home .pc-btn--teal { background: var(--pc-teal); color: #065f46; border: 2px solid var(--pc-teal); }
body.business-home .pc-btn--teal:hover, body.business-home .pc-btn--teal:focus { filter: brightness(0.94); color: #065f46; text-decoration: none; }
body.business-home .pc-cta-sub { font-size: 12px; color: var(--pc-muted); text-align: center; margin: 10px 0 0; padding: 0; line-height: 1.4; }
body.business-home .pc-card--premium .pc-cta-sub { color: rgba(255,255,255,0.40); }
body.business-home .pc-trust-bar { margin-top: 56px; background: #ffffff; border: 1px solid var(--pc-border); border-radius: 28px; padding: 32px 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
body.business-home .pc-trust-item { display: flex; align-items: flex-start; gap: 16px; }
body.business-home .pc-trust-icon { width: 48px; height: 48px; min-width: 48px; background: var(--pc-purple-light); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; color: var(--pc-purple); flex-shrink: 0; }
body.business-home .pc-trust-title { font-size: 14px; font-weight: 700; color: var(--pc-dark); margin-bottom: 5px; line-height: 1.3; }
body.business-home .pc-trust-desc { font-size: 13px; color: var(--pc-muted); line-height: 1.55; margin: 0; }
@media (max-width: 1199px) {
    body.business-home .pc-cards-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    body.business-home .pc-card--premium { transform: none; }
    body.business-home .pc-trust-bar { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (max-width: 767px) {
    body.business-home .pc-cards-grid { grid-template-columns: 1fr; }
    body.business-home .pc-trust-bar { grid-template-columns: 1fr; padding: 24px; }
    body.business-home .pc-annotation { display: none; }
    body.business-home .pc-pricing-wrapper { padding: 48px 0 60px; }
}

/* === v1.5.24 targeted fixes === */

/* 1. CTA buttons: full width, pill shape */
body.business-home .pc-btn {
    width: 100% !important;
    min-width: unset !important;
    max-width: unset !important;
    margin-left: unset !important;
    margin-right: unset !important;
    height: 50px !important;
    font-size: 15px !important;
    border-radius: 9999px !important;
    display: flex !important;
}

/* 2. Premium CTA */
/* pc-card--premium .pc-btn intentionally inherits base pc-btn size */

/* 3. Toggle pill more compact */
body.business-home .pc-toggle-pill {
    padding: 5px 16px 5px 20px !important;
    gap: 10px !important;
    height: 38px !important;
}

/* 4. Switch knob smaller */
body.business-home .pc-switch {
    width: 44px !important;
    height: 24px !important;
}
body.business-home .pc-switch-slider::before {
    width: 18px !important;
    height: 18px !important;
    left: 3px !important;
    bottom: 3px !important;
}
body.business-home .pc-switch input:checked + .pc-switch-slider::before {
    transform: translateX(20px) !important;
}

/* 5. Save badge smaller */
body.business-home .pc-save-badge {
    font-size: 11px !important;
    padding: 4px 10px !important;
    font-weight: 700 !important;
}

/* 6. Enterprise badge wraps inside card */
body.business-home .pc-plan-badge {
    white-space: normal !important;
    max-width: 100% !important;
    line-height: 1.4 !important;
}

/* 7. CTA always at bottom */
body.business-home .pc-card {
    display: flex !important;
    flex-direction: column !important;
}
body.business-home .pc-features {
    flex: 1 1 auto !important;
}
body.business-home .pc-cta {
    margin-top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

/* === Integration page styles — restored from original script === */
.integration-page .integration-icon-wrap {
    width: 3.25rem;
    height: 3.25rem;
    background: rgb(var(--primary_color), 0.1);
}
.integration-page .integration-review-link-card {
    overflow: hidden;
}
.integration-page .integration-url-group .form-control {
    font-size: 0.8125rem;
}
.integration-page .integration-widget-preview {
    background: rgb(var(--primary_color), 0.06);
    border: 1px dashed rgb(var(--primary_color));
    padding: clamp(1rem, 3vw, 1.5rem);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.integration-page .integration-widget-preview-inner {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 4rem;
}
.integration-page .integration-widget-preview-inner iframe {
    max-width: 100%;
}
.integration-page .integration-widget-code {
    max-height: 11rem;
    overflow: auto;
    font-size: 0.75rem;
    padding: 0.875rem 1rem;
    background: var(--bs-tertiary-bg, #f8f9fa);
    margin: 0;
}
.integration-page .integration-widget-code code {
    white-space: pre-wrap;
    word-break: break-word;
}
.integration-page .integration-widget-badge {
    background: rgb(var(--primary_color), 0.06);
    color: rgb(var(--primary_color));
    font-weight: 600;
    font-size: 0.7rem;
    padding: 0.35em 0.65em;
}
.integration-page .integration-widget-dim-badge {
    font-weight: 500;
    font-size: 0.7rem;
}
.integration-page .letter-spacing-1 {
    letter-spacing: 0.06em;
}
@media (max-width: 575.98px) {
    .integration-page .integration-widget-copy {
        width: 100%;
    }
}


/* =============================================================
   BUSINESS SHOW PAGE v2 (bsp-*) -- CLEAN MATCHED MOCKUP FIX
   ============================================================= */

body.bsp-page {
    background: #f6f7fb !important;
}

body.bsp-page .bsp-page-wrap {
    background: #f6f7fb;
    padding: 22px 0 0;
}

body.bsp-page .bsp-body {
    background: #f6f7fb;
    padding: 22px 0 56px;
}

body.bsp-page .breadcrumb,
body.bsp-page .breadcrumbs {
    margin-bottom: 20px;
}

/* Header */
body.bsp-page .bsp-header-card {
    background: #ffffff;
    border: 1px solid rgba(21,0,109,0.06);
    border-radius: 24px;
    padding: 30px 34px;
    box-shadow: 0 22px 60px rgba(21,0,109,0.08);
    margin-bottom: 18px;
}

body.bsp-page .bsp-header-main {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 390px 260px;
    gap: 34px;
    align-items: center;
}

body.bsp-page .bsp-logo-wrap {
    position: relative;
    width: 132px;
    height: 132px;
}

body.bsp-page .bsp-logo {
    width: 132px !important;
    height: 132px !important;
    border-radius: 22px;
    object-fit: cover;
    border: 8px solid #ffffff;
    background: #0f172a;
    box-shadow: 0 14px 35px rgba(15,23,42,0.14);
    display: block;
}



body.bsp-page .bsp-name-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

body.bsp-page .bsp-name {
    margin: 0;
    color: #0b0b2f;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.01em;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}

body.bsp-page .bsp-verified-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(91,230,201,0.22);
    color: #087968;
    border: 1px solid rgba(91,230,201,0.42);
    font-size: 13px;
    font-weight: 800;
}

body.bsp-page .bsp-meta-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    color: #4f5875;
    margin-bottom: 12px;
    overflow: hidden;
}

body.bsp-page .bsp-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    font-weight: 600;
}

body.bsp-page .bsp-meta-item i {
    color: #3A43D1;
    font-size: 16px;
}

body.bsp-page .bsp-meta-dot {
    color: #c8ccdb;
}

/* Rating */
body.bsp-page .bsp-rating-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 10px;
}

body.bsp-page .bsp-avg-num {
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.02em;
}

body.bsp-page .bsp-stars-img {
    height: 42px !important;
    width: auto !important;
    max-width: none !important;
    display: block;
}

body.bsp-page .bsp-label-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

body.bsp-page .bsp-rating-pill {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}
body.bsp-page .bsp-rating-label--excellent { background: #dcfce7 !important; color: #15803d !important; }
body.bsp-page .bsp-rating-label--great { background: #d1fae5 !important; color: #065f46 !important; }
body.bsp-page .bsp-rating-label--good { background: #dbeafe !important; color: #1d4ed8 !important; }
body.bsp-page .bsp-rating-label--average { background: #fef9c3 !important; color: #a16207 !important; }
body.bsp-page .bsp-rating-label--below { background: #ffedd5 !important; color: #c2410c !important; }
body.bsp-page .bsp-rating-label--poor { background: #fee2e2 !important; color: #b91c1c !important; }

body.bsp-page .bsp-rating-info {
    color: #8b91a8;
    font-size: 14px;
}

body.bsp-page .bsp-rated-row {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #4f5875;
    font-size: 14px;
    font-weight: 600;
}

body.bsp-page .bsp-rated-row i,
body.bsp-page .bsp-rated-row strong {
    color: #3A43D1;
}

/* Sentiment */
body.bsp-page .bsp-header-sentiment {
    border-left: 1px solid #e8eaf3;
    padding-left: 34px;
    min-width: 0;
}

body.bsp-page .bsp-sentiment-heading {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #0b0b2f;
    font-size: 15px;
    font-weight: 850;
    margin: 0 0 16px;
}

body.bsp-page .bsp-sent-row {
    display: grid;
    grid-template-columns: 28px 76px 1fr 44px;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
}

body.bsp-page .bsp-sent-icon {
    font-size: 19px;
}

body.bsp-page .bsp-sent-icon--pos { color: #10B981; }
body.bsp-page .bsp-sent-icon--neu { color: #6b7280; }
body.bsp-page .bsp-sent-icon--neg { color: #EF4444; }

body.bsp-page .bsp-sent-label {
    font-size: 14px;
    font-weight: 700;
    color: #20243a;
}

body.bsp-page .bsp-sent-track {
    height: 9px;
    border-radius: 999px;
    overflow: hidden;
    background: #e9ebf2;
}

body.bsp-page .bsp-sent-bar {
    height: 100%;
    border-radius: 999px;
}

body.bsp-page .bsp-sent-bar--pos { background: #10B981; }
body.bsp-page .bsp-sent-bar--neu { background: #7b8195; }
body.bsp-page .bsp-sent-bar--neg { background: #EF4444; }

body.bsp-page .bsp-sent-pct {
    color: #0b0b2f;
    font-size: 14px;
    font-weight: 800;
    text-align: right;
}

/* Actions */
body.bsp-page .bsp-actions {
    border-left: 1px solid #e8eaf3;
    padding-left: 34px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.bsp-page .bsp-btn-primary,
body.bsp-page .bsp-btn-outline,
body.bsp-page .bsp-btn-sm {
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-weight: 850;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

body.bsp-page .bsp-btn-primary {
    height: 58px;
    background: #15006D;
    color: #ffffff !important;
    box-shadow: 0 14px 30px rgba(21,0,109,0.18);
    font-size: 16px;
}

body.bsp-page .bsp-btn-outline {
    height: 58px;
    border: 1.5px solid rgba(58,67,209,0.35);
    color: #3A43D1 !important;
    background: #ffffff;
    font-size: 16px;
}

body.bsp-page .bsp-actions-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

body.bsp-page .bsp-btn-sm {
    min-height: 50px;
    border: 1px solid #e4e7f0;
    color: #2b3048 !important;
    background: #ffffff;
    font-size: 14px;
}

body.bsp-page .bsp-btn-primary:hover,
body.bsp-page .bsp-btn-outline:hover,
body.bsp-page .bsp-btn-sm:hover {
    transform: translateY(-1px);
}

/* Tabs */
body.bsp-page .bsp-tabs-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 28px;
    border-radius: 22px;
    background: #ffffff;
    border: 1px solid rgba(21,0,109,0.05);
    box-shadow: 0 14px 35px rgba(21,0,109,0.05);
    margin-bottom: 0;
    flex-wrap: wrap;
}

body.bsp-page .bsp-tab {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    border: 1px solid #e4e7f0;
    background: #ffffff;
    color: #2f3754 !important;
    font-size: 14px;
    font-weight: 850;
    text-decoration: none !important;
}

body.bsp-page .bsp-tab--active {
    background: #15006D;
    border-color: #15006D;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(21,0,109,0.18);
}

body.bsp-page .bsp-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 26px;
    padding: 0 9px;
    border-radius: 999px;
    background: rgba(58,67,209,0.12);
    color: #3A43D1;
    font-size: 12px;
    font-weight: 900;
}

body.bsp-page .bsp-tab--active .bsp-tab-count {
    background: rgba(255,255,255,0.18);
    color: #ffffff;
}

/* Body cards */
body.bsp-page .bsp-content-grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 22px;
    align-items: start;
}

body.bsp-page .bsp-card {
    background: #ffffff;
    border: 1px solid rgba(21,0,109,0.06);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 16px 44px rgba(21,0,109,0.06);
}

body.bsp-page .bsp-card-header {
    padding: 26px 30px 10px;
    border: 0;
}

body.bsp-page .bsp-card-title {
    color: #0b0b2f;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -0.035em;
    margin: 0 0 4px;
}

body.bsp-page .bsp-card-subtitle {
    color: #586079;
    font-size: 13.5px;
    margin: 0;
}

/* At a glance */
body.bsp-page .bsp-glance-grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 34px;
    align-items: center;
    padding: 20px 30px 22px;
}

body.bsp-page .bsp-glance-box {
    border-radius: 18px;
    padding: 30px 22px;
    align-items: center;
    text-align: center;
    min-height: 216px;
}

body.bsp-page .bsp-glance-avg {
    font-size: 52px;
    font-weight: 950;
    letter-spacing: -0.06em;
    line-height: .95;
}

body.bsp-page .bsp-glance-denom {
    font-size: 22px;
    font-weight: 850;
}

body.bsp-page .bsp-sparkline {
    width: 140px;
    height: 48px;
    margin-top: 10px;
}
body.bsp-page .bsp-barchart { width: 100%; max-width: 160px; height: 60px; overflow: visible; margin-top: 8px; }

body.bsp-page .bsp-glance-count {
    font-size: 13px;
    color: #586079;
    margin: 4px 0 0;
}

body.bsp-page .bsp-glance-bars {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.bsp-page .bsp-star-row {
    display: grid;
    grid-template-columns: 74px 1fr 42px;
    align-items: center;
    gap: 14px;
}

body.bsp-page .bsp-star-label {
    font-size: 13px;
    font-weight: 750;
    color: #303750;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

body.bsp-page .bsp-star-track {
    height: 10px;
    border-radius: 999px;
    background: #e7e9f0;
    overflow: hidden;
}

body.bsp-page .bsp-star-fill {
    height: 100%;
    border-radius: 999px;
    background: #F5A400;
}

body.bsp-page .bsp-star-pct {
    font-size: 13px;
    font-weight: 800;
    color: #0b0b2f;
    text-align: right;
}

body.bsp-page .bsp-insight-row {
    margin: 0 30px 30px;
    min-height: 56px;
    padding: 14px 18px;
    border-radius: 14px;
    background: rgba(58,67,209,0.05);
    color: #20243a;
}

body.bsp-page .bsp-insight-icon {
    color: #3A43D1;
}

body.bsp-page .bsp-insight-text {
    font-size: 13px;
    color: #2b3048;
}

body.bsp-page .bsp-insight-link {
    color: #3A43D1 !important;
    font-weight: 900;
}

/* Business details */
body.bsp-page .bsp-details-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

body.bsp-page .bsp-details-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 17px;
}

body.bsp-page .bsp-details-item {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 12px;
    align-items: start;
}

body.bsp-page .bsp-details-icon {
    color: #3A43D1;
    font-size: 22px;
    margin-top: 2px;
}

body.bsp-page .bsp-details-label {
    color: #0b0b2f;
    font-size: 13px;
    font-weight: 900;
    margin: 0 0 2px;
    text-transform: none;
    letter-spacing: 0;
}

body.bsp-page .bsp-details-value {
    color: #3e4661;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    word-break: break-word;
}

body.bsp-page .bsp-details-right {
    border-radius: 20px;
    background: #f7f7ff;
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

body.bsp-page .bsp-trust-badge {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 13px;
    align-items: start;
}

body.bsp-page .bsp-trust-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

body.bsp-page .bsp-trust-icon--verified { background: rgba(91,230,201,0.28); color: #0BA08A; }
body.bsp-page .bsp-trust-icon--fast { background: rgba(58,67,209,0.12); color: #3A43D1; }
body.bsp-page .bsp-trust-icon--active { background: rgba(16,185,129,0.14); color: #10B981; }

body.bsp-page .bsp-trust-title {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 900;
    color: #0b0b2f;
}

body.bsp-page .bsp-trust-desc {
    margin: 0;
    color: #586079;
    font-size: 12.5px;
    line-height: 1.55;
}

@media (max-width: 1200px) {
    body.bsp-page .bsp-header-main {
        grid-template-columns: 132px minmax(0, 1fr);
    }

    body.bsp-page .bsp-header-sentiment,
    body.bsp-page .bsp-actions {
        grid-column: 1 / -1;
        border-left: 0;
        padding-left: 0;
    }

    body.bsp-page .bsp-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    body.bsp-page .bsp-actions-row {
        grid-column: 1 / -1;
    }

    body.bsp-page .bsp-content-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    body.bsp-page .bsp-header-card {
        padding: 22px;
    }

    body.bsp-page .bsp-header-main {
        grid-template-columns: 1fr;
        text-align: left;
    }

    body.bsp-page .bsp-logo-wrap {
        width: 108px;
        height: 108px;
    }

    body.bsp-page .bsp-logo {
        width: 108px !important;
        height: 108px !important;
    }

    body.bsp-page .bsp-stars-img {
        height: 32px !important;
    }

    body.bsp-page .bsp-actions {
        grid-template-columns: 1fr;
    }

    body.bsp-page .bsp-glance-grid,
    body.bsp-page .bsp-details-grid {
        grid-template-columns: 1fr;
    }

    body.bsp-page .bsp-tabs-row {
        padding: 14px;
    }
}



/* =============================================================
   BUSINESS SHOW PAGE v2 — PRECISION HEADER FIX v1.5.38
   Fix name/verified alignment, one-line meta row, social-style badge
   ============================================================= */

/* Wider business info column so meta does not break */

/* Business name + verified must sit on same line */
body.bsp-page .bsp-name-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
    margin-bottom: 10px !important;
}

body.bsp-page .bsp-name {
    margin: 0 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* Verified pill: social-style check badge */
body.bsp-page .bsp-verified-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    height: 34px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    background: rgba(91,230,201,0.22) !important;
    border: 1px solid rgba(91,230,201,0.48) !important;
    color: #087968 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body.bsp-page .bsp-verified-pill i {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    border-radius: 999px !important;
    background: #0BA08A !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
    margin: 0 !important;
}

/* Meta row: must be directly under name and NEVER box/wrap on desktop */
body.bsp-page .bsp-meta-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    margin: 0 0 20px !important;
    white-space: nowrap !important;
    overflow: visible !important;
}

body.bsp-page .bsp-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #4f5875 !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

body.bsp-page .bsp-meta-item i {
    color: #3A43D1 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

body.bsp-page .bsp-meta-dot {
    display: inline-flex !important;
    color: #9aa0b8 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    margin: 0 2px !important;
}

/* Make logo verification look like social blue badge */




/* Rating should start directly below meta, not beside it */
body.bsp-page .bsp-rating-row {
    margin-top: 0 !important;
}

/* Desktop only: keep mockup spacing */
@media (min-width: 1201px) {
    body.bsp-page .bsp-info {
        min-width: 520px !important;
    }
}

/* Tablet/mobile can wrap safely */
@media (max-width: 1200px) {
    body.bsp-page .bsp-header-main {
        grid-template-columns: 132px minmax(0, 1fr) !important;
    }

    body.bsp-page .bsp-name-row,
    body.bsp-page .bsp-meta-row {
        flex-wrap: wrap !important;
        white-space: normal !important;
    }

    body.bsp-page .bsp-name {
        white-space: normal !important;
    }
}



/* BUSINESS SHOW PAGE — SAFE HEADER FIT FIX v1.5.41 */
body.bsp-page .bsp-header-card {
    overflow: hidden !important;
}


body.bsp-page .bsp-actions {
    width: 100% !important;
    max-width: 250px !important;
    min-width: 0 !important;
    justify-self: end !important;
    box-sizing: border-box !important;
    padding-left: 26px !important;
}

body.bsp-page .bsp-btn-primary,
body.bsp-page .bsp-btn-outline,
body.bsp-page .bsp-btn-sm {
    width: 100% !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

body.bsp-page .bsp-actions-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
}

body.bsp-page .bsp-name-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}

body.bsp-page .bsp-meta-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}

body.bsp-page .bsp-meta-item {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
}

@media (max-width: 1300px) {
    body.bsp-page .bsp-header-main {
        grid-template-columns: 132px minmax(0, 1fr) !important;
    }

    body.bsp-page .bsp-header-sentiment,
    body.bsp-page .bsp-actions {
        grid-column: 1 / -1 !important;
        max-width: none !important;
        width: 100% !important;
        padding-left: 0 !important;
        border-left: 0 !important;
        justify-self: stretch !important;
    }

    body.bsp-page .bsp-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    body.bsp-page .bsp-actions-row {
        grid-column: 1 / -1 !important;
    }
}


/* BUSINESS SHOW PAGE — SAVE BUTTON + META PRECISION FIX v1.5.42 */

/* Keep meta exactly like mockup */
body.bsp-page .bsp-meta-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
}

body.bsp-page .bsp-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    line-height: 1 !important;
}

body.bsp-page .bsp-meta-dot {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
    margin: 0 2px !important;
}

/* Fix Livewire favorite/save button */
body.bsp-page .bsp-actions-row > * {
    min-width: 0 !important;
}

body.bsp-page .bsp-actions-row a,
body.bsp-page .bsp-actions-row button,
body.bsp-page .bsp-actions-row .btn,
body.bsp-page .bsp-actions-row [wire\:click] {
    width: 100% !important;
    min-height: 50px !important;
    border: 1px solid #e4e7f0 !important;
    border-radius: 13px !important;
    background: #ffffff !important;
    color: #2b3048 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    box-shadow: none !important;
    padding: 0 16px !important;
}

/* If Livewire favorite only shows a heart icon, visually add Save text */
body.bsp-page .bsp-actions-row > :first-child a:not(.bsp-btn-sm)::after,
body.bsp-page .bsp-actions-row > :first-child button:not(.bsp-btn-sm)::after {
    content: "Save";
    font-size: 14px;
    font-weight: 850;
}

/* Make Share match Save exactly */
body.bsp-page .bsp-actions-row .bsp-btn-sm {
    min-height: 50px !important;
    border-radius: 13px !important;
    border: 1px solid #e4e7f0 !important;
    background: #ffffff !important;
    color: #2b3048 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}


/* BUSINESS SHOW PAGE — META ROW TIGHTEN v1.5.43 */

body.bsp-page .bsp-meta-row {
    font-size: 12.5px !important;
    gap: 10px !important;
}

body.bsp-page .bsp-meta-item {
    font-size: 12.5px !important;
    gap: 6px !important;
}

body.bsp-page .bsp-meta-item i {
    font-size: 13px !important;
}


/* BUSINESS SHOW PAGE — META ROW TIGHTEN v1.5.43 */

body.bsp-page .bsp-meta-row {
    font-size: 12.5px !important;
    gap: 10px !important;
}

body.bsp-page .bsp-meta-item {
    font-size: 12.5px !important;
    gap: 6px !important;
}

body.bsp-page .bsp-meta-item i {
    font-size: 13px !important;
}


/* BUSINESS SHOW PAGE — VERIFIED BADGE PRECISION v1.5.44 */

/* Verified pill beside business name: closer to mockup */
body.bsp-page .bsp-verified-pill {
    height: 30px !important;
    padding: 0 13px !important;
    gap: 7px !important;
    border-radius: 999px !important;
    background: rgba(91,230,201,0.24) !important;
    border: 1px solid rgba(91,230,201,0.55) !important;
    color: #087968 !important;
    font-size: 12.5px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

body.bsp-page .bsp-verified-pill i {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    border-radius: 999px !important;
    background: #0BA08A !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
    margin: 0 !important;
}

/* Logo verified badge: social-media style blue checkmark */





/* BUSINESS SHOW PAGE — VERIFIED + SAVE FINAL POLISH v1.5.45 */

/* Slightly calmer Verified pill */
body.bsp-page .bsp-verified-pill {
    height: 28px !important;
    padding: 0 12px !important;
    gap: 6px !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    background: rgba(91,230,201,0.20) !important;
    border: 1px solid rgba(91,230,201,0.48) !important;
}

body.bsp-page .bsp-verified-pill i {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    font-size: 9px !important;
    background: #0BA08A !important;
}

/* Social-style blue logo verified badge */




/* Make Livewire Save button match Share button and show text */
body.bsp-page .bsp-actions-row > :first-child a,
body.bsp-page .bsp-actions-row > :first-child button,
body.bsp-page .bsp-actions-row > :first-child .btn {
    min-height: 50px !important;
    border: 1px solid #e4e7f0 !important;
    border-radius: 13px !important;
    background: #ffffff !important;
    color: #2b3048 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    padding: 0 16px !important;
    width: 100% !important;
}

body.bsp-page .bsp-actions-row > :first-child a::after,
body.bsp-page .bsp-actions-row > :first-child button::after,
body.bsp-page .bsp-actions-row > :first-child .btn::after {
    content: "Save";
    font-size: 14px;
    font-weight: 850;
}


/* BSP FINAL BADGE + META OVERRIDE v1.5.54 */

/* keep meta clean and compact */
body.bsp-page .bsp-header-card .bsp-meta-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
}

body.bsp-page .bsp-header-card .bsp-meta-item {
    font-size: 11.5px !important;
    font-weight: 650 !important;
    gap: 5px !important;
    line-height: 1 !important;
}

body.bsp-page .bsp-header-card .bsp-meta-item i {
    font-size: 12px !important;
}

body.bsp-page .bsp-header-card .bsp-meta-dot {
    font-size: 9px !important;
    margin: 0 !important;
}

/* social-media style verified badge on logo */


/* hide Bootstrap patch icon and draw a clean social check */




/* verified pill beside business name */
body.bsp-page .bsp-header-card .bsp-verified-pill {
    height: 27px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    gap: 6px !important;
}


/* BSP verified badge — single source of truth */
body.bsp-page .bsp-verified-dot {
    position: absolute;
    right: -8px;
    bottom: -8px;
    width: 22px;
    height: 22px;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,0.25));
}
body.bsp-page .bsp-verified-dot::before {
    content: none !important;
}
body.bsp-page .bsp-verified-dot i {
    display: none !important;
}

/* BSP item-verified size override */
body.bsp-page .bsp-logo-wrap .item-verified {
    font-size: 16px;
    right: -6px;
    bottom: -6px;
    padding: 3px;
}


/* BSP VERIFIED BADGE POSITION FIX v1.5.56 */

/* Ensure logo container is the anchor */
body.bsp-page .bsp-logo-wrap {
    position: relative !important;
    display: inline-block !important;
}

/* DO NOT change icon style — only position */
body.bsp-page .bsp-logo-wrap .bsp-verified-dot {
    position: absolute !important;
    right: -6px !important;
    bottom: 10px !important;

    width: 28px !important;
    height: 28px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;
    border: 3px solid #ffffff !important;

    z-index: 5 !important;
}

/* Keep your existing icon intact */
body.bsp-page .bsp-logo-wrap .bsp-verified-dot i {
    font-size: 14px !important;
}




/* BSP VERIFIED BADGE INSIDE LOGO CORNER v1.5.57 */

body.bsp-page .bsp-logo-wrap {
    position: relative !important;
    overflow: visible !important;
}

body.bsp-page .bsp-logo-wrap .bsp-verified-dot {
    position: absolute !important;
    right: -2px !important;
    bottom: 18px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    border: 4px solid #ffffff !important;
    z-index: 10 !important;
}

body.bsp-page .bsp-logo-wrap .bsp-verified-dot i {
    font-size: 17px !important;
}




/* BSP VERIFIED BADGE INWARD POSITION ONLY v1.5.58 */
body.bsp-page .bsp-logo-wrap .bsp-verified-dot {
    right: 2px !important;
    bottom: 18px !important;
}


body.bsp-page .bsp-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Sidebar card padding reduction + details text handling */
body.bsp-page .bsp-sidebar .bsp-card .px-4 {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
body.bsp-page .bsp-details-value {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
body.bsp-page .bsp-details-value.bsp-details-value--wrap {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    word-break: break-word;
}
body.bsp-page .bsp-details-item {
    min-width: 0;
}

/* ── Review Aspect Tags ────────────────────────────────────────────── */
.review-aspect-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.review-aspect-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    color: var(--tag-color, #4f46e5);
    background: color-mix(in srgb, var(--tag-color, #4f46e5) 10%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--tag-color, #4f46e5) 25%, #ffffff);
    text-decoration: none;
    transition: all 0.15s ease;
    cursor: pointer;
}
.review-aspect-tag:hover {
    background: color-mix(in srgb, var(--tag-color, #4f46e5) 18%, #ffffff);
    color: var(--tag-color, #4f46e5);
    text-decoration: none;
    transform: translateY(-1px);
}
.review-aspect-tag--active {
    background: var(--tag-color, #4f46e5) !important;
    color: #ffffff !important;
    border-color: var(--tag-color, #4f46e5) !important;
}
.review-aspect-tag i {
    font-size: 11px;
}

/* ── Top Reviewer badge ─────────────────────────────────────── */
.item-review-top-reviewer-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    background: linear-gradient(135deg, #fef9c3, #fef3c7);
    color: #92400e;
    border: 1px solid #fde68a;
    cursor: help;
}
.item-review-top-reviewer-badge i {
    font-size: 9px;
    color: #d97706;
}

/* ── Doesn't Recommend pill ─────────────────────────────────── */
.item-review-pill--no-recommend {
    background: #f9fafb;
    color: #6b7280;
    border: 1px solid #e5e7eb;
}

/* ── Recommend buttons on form ──────────────────────────────── */
.recommend-btn {
    transition: all 0.2s ease;
    font-weight: 600;
}

/* ── Star rating — Ratecrest brand colours per rating ───────── */
.ratings-selective .rating { background-color: #DCDCE6 !important; }
.ratings-selective .rating::before { background-color: transparent !important; }

/* Hover preview */
.ratings-selective:has(.rating:nth-child(1):hover) .rating:nth-child(1) { background-color: #ef4444 !important; }
.ratings-selective:has(.rating:nth-child(2):hover) .rating:nth-child(-n+2) { background-color: #f97316 !important; }
.ratings-selective:has(.rating:nth-child(3):hover) .rating:nth-child(-n+3) { background-color: #84cc16 !important; }
.ratings-selective:has(.rating:nth-child(4):hover) .rating:nth-child(-n+4) { background-color: #7c3aed !important; }
.ratings-selective:has(.rating:nth-child(5):hover) .rating:nth-child(-n+5) { background-color: #3b4fd8 !important; }

/* Selected state */
.ratings-selective:has(.rating:nth-child(1) input:checked) .rating:nth-child(1) { background-color: #ef4444 !important; }
.ratings-selective:has(.rating:nth-child(2) input:checked) .rating:nth-child(-n+2) { background-color: #f97316 !important; }
.ratings-selective:has(.rating:nth-child(3) input:checked) .rating:nth-child(-n+3) { background-color: #84cc16 !important; }
.ratings-selective:has(.rating:nth-child(4) input:checked) .rating:nth-child(-n+4) { background-color: #7c3aed !important; }
.ratings-selective:has(.rating:nth-child(5) input:checked) .rating:nth-child(-n+5) { background-color: #3b4fd8 !important; }

/* Reset hover when a selection exists */
.ratings-selective:has(input:checked):hover .rating { background-color: #DCDCE6 !important; }
.ratings-selective:has(.rating:nth-child(1) input:checked):hover .rating:nth-child(1) { background-color: #ef4444 !important; }
.ratings-selective:has(.rating:nth-child(2) input:checked):hover .rating:nth-child(-n+2) { background-color: #f97316 !important; }
.ratings-selective:has(.rating:nth-child(3) input:checked):hover .rating:nth-child(-n+3) { background-color: #84cc16 !important; }
.ratings-selective:has(.rating:nth-child(4) input:checked):hover .rating:nth-child(-n+4) { background-color: #7c3aed !important; }
.ratings-selective:has(.rating:nth-child(5) input:checked):hover .rating:nth-child(-n+5) { background-color: #3b4fd8 !important; }

body.bsp-page .bsp-sidebar { display: flex; flex-direction: column; gap: 20px; }

/* Similar businesses item spacing */
body.bsp-page .bsp-sidebar .bsp-card ul.list-unstyled li {
    border-bottom: 1px solid #f3f4f6;
}
body.bsp-page .bsp-sidebar .bsp-card ul.list-unstyled li:last-child {
    border-bottom: none;
}
body.bsp-page .bsp-sidebar .bsp-card ul.list-unstyled li a {
    padding: 12px 0 !important;
}

/* ── Twemoji flag size constraints ─────────────────────────────────────────── */
.country-card img.emoji { width: 28px !important; height: 28px !important; margin-right: 6px; vertical-align: middle; }
.bsp-sidebar img.emoji { width: 18px !important; height: 18px !important; vertical-align: middle; margin-right: 2px; }
.form-check-label img.emoji { width: 20px !important; height: 20px !important; vertical-align: middle; }
.item-review-meta-row img.emoji { width: 14px !important; height: 14px !important; vertical-align: middle; }
.rc-review-country img.emoji { width: 16px !important; height: 16px !important; vertical-align: middle !important; display: inline !important; }

/* ── Custom country picker ───────────────────────────────────────────────────── */
.rc-country-picker { position: relative; }
.rc-country-selected { user-select: none; }
.rc-country-option:hover { background: #f0f4ff; }
.rc-country-option img.emoji { width: 20px !important; height: 20px !important; vertical-align: middle; }
.rc-opt-flag img.emoji { width: 20px !important; height: 20px !important; vertical-align: middle; }
#rc-country-display img.emoji { width: 18px !important; height: 18px !important; vertical-align: middle; margin-right: 4px; }

.rc-country-option { list-style: none !important; }

/** ── Country picker dot fix ─────────────────────────────────────────────────── */
#rc-country-list,
#rc-country-list li,
#rc-country-list li.rc-country-option {
    list-style: none !important;
    list-style-type: none !important;
}
#rc-country-list li::before,
#rc-country-list li::after {
    content: none !important;
    display: none !important;
}


*/\n\n
/* RC HOME HERO V2 PREMIUM POLISH v1.5.97 */

.rc-home-hero-v2 {
    background: #f8f8ff;
    padding: 86px 0 74px;
    overflow: hidden;
}

.rc-home-hero-v2__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(480px, 1fr);
    gap: 72px;
    align-items: center;
}

.rc-home-hero-v2__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(58,67,209,.16);
    color: #15006D;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 22px;
}

.rc-home-hero-v2__title {
    max-width: 650px;
    font-size: clamp(54px, 5.2vw, 82px);
    line-height: .96;
    letter-spacing: -0.065em;
    font-weight: 950;
    color: #060817;
    margin: 0;
}

.rc-home-hero-v2__title span {
    color: #15006D;
}

.rc-home-hero-v2__text {
    max-width: 600px;
    margin: 24px 0 0;
    font-size: 19px;
    line-height: 1.7;
    color: #586174;
}

.rc-home-hero-v2__search {
    margin-top: 30px;
    max-width: 680px;
    height: 72px;
    display: grid;
    grid-template-columns: 58px 1fr 132px;
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(21,0,109,.08);
    border-radius: 24px;
    padding: 8px;
    box-shadow: 0 24px 70px rgba(21,0,109,.10);
}

.rc-home-hero-v2__search i {
    text-align: center;
    font-size: 22px;
    color: #667085;
}

.rc-home-hero-v2__search input {
    height: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 16px;
    color: #111827;
}

.rc-home-hero-v2__search button {
    height: 56px;
    border: 0;
    border-radius: 18px;
    background: #15006D;
    color: #ffffff;
    font-size: 15px;
    font-weight: 850;
    box-shadow: 0 12px 28px rgba(21,0,109,.20);
}

.rc-home-hero-v2__popular {
    margin-top: 18px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 660px;
}

.rc-home-hero-v2__popular span {
    color: #111827;
    font-size: 14px;
    font-weight: 800;
}

.rc-home-hero-v2__popular a {
    text-decoration: none;
    color: #3A43D1;
    background: #ffffff;
    border: 1px solid #e4e6f2;
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 700;
}

.rc-home-hero-v2__visual {
    position: relative;
    min-height: 520px;
}

.rc-home-hero-v2__orb {
    position: absolute;
    inset: 42px 28px 30px 10px;
    border-radius: 999px;
    background: rgba(58,67,209,.075);
    animation: rcHeroV2Orb 9s ease-in-out infinite;
}

.rc-home-hero-v2__orb::after {
    content: "";
    position: absolute;
    inset: 28px;
    border-radius: inherit;
    border: 1px dashed rgba(58,67,209,.28);
    animation: rcHeroV2Spin 18s linear infinite;
}

.rc-home-hero-v2__review,
.rc-home-hero-v2__business {
    position: absolute;
    z-index: 2;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(21,0,109,.08);
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 28px 70px rgba(21,0,109,.13);
    backdrop-filter: blur(12px);
}

.rc-home-hero-v2__review--one {
    top: 0;
    left: 26px;
    width: 300px;
    animation: rcHeroV2Float 6s ease-in-out infinite;
}

.rc-home-hero-v2__business {
    left: 0;
    bottom: 68px;
    width: 390px;
    min-height: 200px;
    background:
        linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.72)),
        url("https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=900&q=80");
    background-size: cover;
    background-position: center;
    overflow: hidden;
    animation: rcHeroV2Float 7s ease-in-out infinite;
}

.rc-home-hero-v2__review--two {
    right: 0;
    bottom: 34px;
    width: 285px;
    animation: rcHeroV2Float 6.5s ease-in-out infinite;
    animation-delay: 1s;
}

.rc-home-hero-v2__review strong {
    display: block;
    color: #101828;
    font-size: 15px;
    font-weight: 900;
}

.rc-home-hero-v2__review small {
    display: block;
    color: #667085;
    margin-top: 2px;
    font-size: 12px;
}

.rc-home-hero-v2__stars {
    color: #0BA08A;
    font-size: 18px;
    letter-spacing: 1px;
    margin: 14px 0 10px;
}

.rc-home-hero-v2__stars span {
    color: #111827;
    font-size: 13px;
    letter-spacing: 0;
    margin-left: 6px;
}

.rc-home-hero-v2__review p {
    margin: 0;
    color: #111827;
    font-size: 14px;
    line-height: 1.5;
}

.rc-home-hero-v2__verified {
    position: absolute;
    right: 18px;
    top: 18px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(15,23,42,.78);
    color: #ffffff;
    padding: 10px 13px;
    border-radius: 14px;
    font-size: 13px;
    font-weight: 850;
}

.rc-home-hero-v2__verified i {
    color: #5BE6C9;
}

.rc-home-hero-v2__business-info {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 20px;
    color: #ffffff;
}

.rc-home-hero-v2__business-info strong {
    display: block;
    font-size: 18px;
    font-weight: 950;
}

.rc-home-hero-v2__business-info span {
    display: block;
    margin-top: 4px;
    color: rgba(255,255,255,.78);
    font-size: 13px;
}

.rc-home-hero-v2__trust {
    margin-top: 54px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #ffffff;
    border: 1px solid rgba(21,0,109,.06);
    border-radius: 26px;
    box-shadow: 0 24px 70px rgba(21,0,109,.07);
    overflow: hidden;
}

.rc-home-hero-v2__trust div {
    padding: 26px 30px;
    border-right: 1px solid #edf0f7;
}

.rc-home-hero-v2__trust div:last-child {
    border-right: 0;
}

.rc-home-hero-v2__trust strong {
    display: block;
    color: #111827;
    font-size: 15px;
    font-weight: 900;
    margin-bottom: 6px;
}

.rc-home-hero-v2__trust span {
    display: block;
    color: #667085;
    font-size: 13px;
    line-height: 1.55;
}

@keyframes rcHeroV2Float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-13px); }
}

@keyframes rcHeroV2Orb {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-12px) scale(1.035); }
}

@keyframes rcHeroV2Spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 1199px) {
    .rc-home-hero-v2__inner {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .rc-home-hero-v2__visual {
        min-height: 460px;
    }
}

@media (max-width: 768px) {
    .rc-home-hero-v2 {
        padding: 58px 0 46px;
    }

    .rc-home-hero-v2__title {
        font-size: 44px;
    }

    .rc-home-hero-v2__text {
        font-size: 16px;
    }

    .rc-home-hero-v2__search {
        height: auto;
        grid-template-columns: 48px 1fr;
        border-radius: 20px;
    }

    .rc-home-hero-v2__search button {
        grid-column: 1 / -1;
        width: 100%;
        margin-top: 8px;
    }

    .rc-home-hero-v2__visual {
        min-height: auto;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .rc-home-hero-v2__orb {
        display: none;
    }

    .rc-home-hero-v2__review,
    .rc-home-hero-v2__business {
        position: relative;
        width: 100%;
        inset: auto;
    }

    .rc-home-hero-v2__business {
        min-height: 220px;
    }

    .rc-home-hero-v2__trust {
        grid-template-columns: 1fr;
    }

    .rc-home-hero-v2__trust div {
        border-right: 0;
        border-bottom: 1px solid #edf0f7;
    }
}
\n\n\n
/* RC HOME HERO V2 NAV SPACING FIX v1.5.98 */

/* Desktop: push hero below black navbar */
@media (min-width: 992px) {
    .rc-home-hero-v2 {
        padding-top: 118px !important;
    }

    .rc-home-hero-v2__eyebrow {
        margin-top: 0 !important;
    }
}

/* Tablet/mobile keeps current good rendering */
@media (max-width: 991px) {
    .rc-home-hero-v2 {
        padding-top: 64px !important;
    }
}
\n
/* ── review-autosave-v1 (Session 26, BUG-25-B follow-up) ───────────────── */
.rc-autosave-banner {
    margin-bottom: 16px;
    padding: 12px 16px;
    background: #FFF7ED;
    border: 1.5px solid #FB923C;
    border-radius: 12px;
    color: #7C2D12;
}
.rc-autosave-banner[hidden] { display: none !important; }
.rc-autosave-banner-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.rc-autosave-banner-icon { font-size: 20px; color: #C2410C; flex-shrink: 0; }
.rc-autosave-banner-text { flex: 1; min-width: 200px; font-size: 14px; line-height: 1.4; }
.rc-autosave-banner-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}
.rc-autosave-banner-actions .btn {
    min-height: 44px;   /* mobile tap target per brand guide */
    min-width: 88px;
    font-size: 14px;
}
.rc-autosave-status {
    display: inline-block;
    margin-top: 6px;
    margin-left: 4px;
    padding: 2px 10px;
    font-size: 12px;
    color: #16A34A;
    background: #F0FDF4;
    border-radius: 999px;
    transition: opacity 200ms ease;
}
.rc-autosave-status[hidden] { display: none !important; }
@media (max-width: 575px) {
    .rc-autosave-banner-inner { flex-direction: column; align-items: stretch; }
    .rc-autosave-banner-actions { width: 100%; }
    .rc-autosave-banner-actions .btn { flex: 1; }
}
/* ─────────────────────────────────────────────────────────────────────── */

/* verified-badge-sweep */
/* Canonical verified-badge-v2 SVG sizing rules across all contexts.
   Single aurora color sitewide. Each context sizes the SVG to match
   its host element. */

/* Generic safety net: any rc-verified-badge-svg uses currentColor + 1em */
.rc-verified-badge-svg {
    fill: currentColor;
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: -0.125em;
}

/* Logo-corner badges (.item-verified): pin SVG to fill the existing wrapper */
.item-verified .rc-verified-badge-svg {
    color: var(--rc-aurora, #3A43D1);
    width: 18px;
    height: 18px;
}
.item-lg .item-img .item-verified .rc-verified-badge-svg {
    width: 24px;
    height: 24px;
}
body.bsp-page .bsp-logo-wrap .item-verified .rc-verified-badge-svg {
    width: 28px;
    height: 28px;
}

/* Inline-after-name (verified-icon span) */
.verified-icon {
    display: inline-flex;
    align-items: center;
    color: var(--rc-aurora, #3A43D1);
    line-height: 1;
}
.verified-icon .rc-verified-badge-svg {
    width: 0.95em;
    height: 0.95em;
}

/* Business-page hero pill (bsp-verified-pill): keep pill, SVG inside */
body.bsp-page .bsp-verified-pill .rc-verified-badge-svg {
    width: 0.95em;
    height: 0.95em;
    margin-right: 0.3em;
}

/* Locked subscription page Bootstrap badge */
.badge.verified-pill .rc-verified-badge-svg {
    width: 0.85em;
    height: 0.85em;
    margin-right: 0.25em;
    color: #ffffff;
}

/* Competitor benchmarking inline badge: force aurora, kill gold variant */
.biz-inline-badge .rc-verified-badge-svg {
    width: 1em;
    height: 1em;
}
.biz-inline-badge--gold {
    color: var(--rc-aurora, #3A43D1) !important;
}
.biz-inline-badge--blue {
    color: var(--rc-aurora, #3A43D1);
}

/* Home hero v2 verified tag */
.rc-home-hero-v2__verified .rc-verified-badge-svg {
    width: 1em;
    height: 1em;
    margin-right: 0.3em;
}
/* end verified-badge-sweep */

/* 1.8.13.4 — bare verified badge next to business name on detail page */
body.bsp-page .bsp-name-verified {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--rc-aurora, #3A43D1);
    margin-left: 8px;
    vertical-align: middle;
    line-height: 1;
}
body.bsp-page .bsp-name-verified .rc-verified-badge-svg {
    width: 24px;
    height: 24px;
}
@media (max-width: 767.98px) {
    body.bsp-page .bsp-name-verified .rc-verified-badge-svg {
        width: 20px;
        height: 20px;
    }
}

/* 1.8.13.6 — name-row badge gap */
body.bsp-page .bsp-name-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-start;
}
body.bsp-page .bsp-name-verified {
    margin-left: 0;
}

/* 1.8.13.7 fixes */
/* Card logo-corner badge: smaller and tightly positioned inside the logo box */
.items .item-img .item-verified {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
    color: var(--rc-aurora, #3A43D1);
    padding: 0;
    z-index: 2;
}
.items .item-img .item-verified .rc-verified-badge-svg {
    width: 16px;
    height: 16px;
    display: block;
}

/* Sidebar cards — more breathing room between filter sections */
.rc-bv2-sidebar { gap: 16px; }

/* 1.8.13.8 */
/* Badge next to business name on cards */
.items .item-title-row {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}
.items .item-title-row .item-title {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
}
.items .item-name-verified {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--rc-aurora, #3A43D1);
    flex-shrink: 0;
    line-height: 1;
}
.items .item-name-verified .rc-verified-badge-svg {
    width: 14px;
    height: 14px;
}

/* Logos: fill the box completely, no padding/whitespace around image */

/* Sidebar cards — clear visual separation */
.rc-bv2-sidebar { gap: 20px !important; }

/* ============================================================
   1.8.13.9 — Card inline verified badge
   Mirrors the proven .rc-prof-header__name-wrap pattern.
   Unique class names sidestep all prior cascade conflicts.
   ============================================================ */
.rc-bv2-card-name-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    flex-wrap: nowrap;
}
.rc-bv2-card-name-wrap .item-title {
    flex: 1 1 auto;
    min-width: 0;
}
.rc-bv2-card-name-verified {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    color: var(--rc-aurora, #3A43D1);
    flex-shrink: 0;
    line-height: 1;
}
.rc-bv2-card-name-verified .rc-verified-badge-svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* ============================================================
   1.8.14.0 — Card logo fill + sidebar spacing
   ============================================================ */
/* Logo fills the box edge-to-edge.
   Beats legacy .item-img img 44x44 rule at custom.css:2459. 
   contain (not cover) so non-square logos don't get cropped. */
/* Sidebar — bumped gap so filter cards have visible breathing room */
.rc-bv2-sidebar {
    gap: 24px !important;
}

/* ============================================================
   REVIEWS v2 — selectpicker dropdown polish (S54 v31)
   High specificity (.row.g-4.rvw-v2 = 5 classes) to win over
   base bootstrap-select rules and host-theme overrides.
   ============================================================ */
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu,
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu.show {
    background-color: #ffffff !important;
    background: #ffffff !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid #ECEDFB !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 28px -12px rgba(21, 0, 109, .22) !important;
    z-index: 1080 !important;
    padding: 6px !important;
    min-width: 100% !important;
}
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu .inner,
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu .inner.show {
    background-color: #ffffff !important;
    max-height: 260px !important;
    overflow-y: auto !important;
}
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu ul {
    background-color: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu li {
    background-color: #ffffff !important;
    list-style: none !important;
    display: block !important;
}
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu li a,
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu .dropdown-item {
    display: block !important;
    padding: 8px 12px !important;
    font-size: 0.875rem !important;
    line-height: 1.45 !important;
    color: #1f1f3d !important;
    background-color: transparent !important;
    border-radius: 8px !important;
    white-space: normal !important;
    word-break: break-word !important;
}
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu li a:hover,
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu .dropdown-item:hover,
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu li.active a,
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu li.selected a,
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu .dropdown-item.active {
    background-color: #ECEDFB !important;
    color: #3A43D1 !important;
    font-weight: 600 !important;
}
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu .bs-searchbox {
    padding: 6px 8px !important;
    background-color: #ffffff !important;
}
.row.g-4.rvw-v2 .bootstrap-select .dropdown-menu .bs-searchbox input {
    background-color: #ffffff !important;
    color: #1f1f3d !important;
    border: 1px solid #e5e7f0 !important;
    border-radius: 8px !important;
    padding: 7px 10px !important;
    font-size: 0.8125rem !important;
    width: 100% !important;
}
.row.g-4.rvw-v2 .bootstrap-select > .dropdown-toggle {
    background-color: #ffffff !important;
    color: #1f1f3d !important;
    border: 1px solid #e5e7f0 !important;
    border-radius: 10px !important;
    padding: 8px 12px !important;
    box-shadow: none !important;
    text-align: left !important;
}
.row.g-4.rvw-v2 .bootstrap-select > .dropdown-toggle:focus,
.row.g-4.rvw-v2 .bootstrap-select.show > .dropdown-toggle,
.row.g-4.rvw-v2 .bootstrap-select[aria-expanded="true"] > .dropdown-toggle {
    border-color: #3A43D1 !important;
    box-shadow: 0 0 0 4px rgba(58, 67, 209, .12) !important;
    outline: none !important;
}
/* Defensive: ensure rating checkboxes always render as proper boxes */
.row.g-4.rvw-v2 .form-check .form-check-input[type="checkbox"],
.row.g-4.rvw-v2 input.form-check-input[type="checkbox"][name="stars"] {
    display: inline-block !important;
    width: 1em !important;
    height: 1em !important;
    min-width: 1em !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}

/* ============================================================
   REVIEWS v2 — Rating filter row star sizing (S54 v31b)
   Forces tighter, refined stars in the filter sidebar only.
   Review-card stars (.ratings.ratings-lg) untouched.
   ============================================================ */
.row.g-4.rvw-v2 .form-check .ratings {
    gap: 2px !important;
    flex-shrink: 0 !important;
}
.row.g-4.rvw-v2 .form-check .ratings img {
    height: 16px !important;
    width: auto !important;
    max-width: 100px !important;
    object-fit: contain !important;
    display: inline-block !important;
}
.row.g-4.rvw-v2 .form-check.d-flex {
    gap: 10px !important;
    padding: 4px 0 !important;
}
.row.g-4.rvw-v2 .form-check .form-check-label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 0.875rem !important;
    color: #1f1f3d !important;
    gap: 8px !important;
    cursor: pointer !important;
}
.row.g-4.rvw-v2 .form-check .form-check-label .text-muted {
    color: #5b5b7a !important;
    font-weight: 500 !important;
}

/* ============================================================
   RECOVERED FROM VENDOR app.css — location-card-demo rules
   missing from ratecrest's local copy of app.css (stripped
   during prior cleanup). Sourced verbatim from trustbob.net's
   live app.css?v=1.5 on 2026-05-21.
   ============================================================ */
.location-card-demo {
    display: flex;
    flex-direction: column;
    padding: 0.875rem;
    gap: 0.875rem;
    border-radius: var(--border_radius);
    overflow: visible;
    border: 1px solid rgb(var(--border_color));
    transition: transform 0.3s ease;
    border-radius: var(--border_radius);
}

.location-card-demo:hover {
    transform: translateY(-2px);
}

.location-card-demo-map {
    height: 180px;
    width: 100%;
    flex-shrink: 0;
    border-radius: var(--border_radius);
    overflow: hidden;
    background: linear-gradient(145deg, #e8eaed 0%, #f1f3f4 100%);
    border: 1px solid rgb(var(--border_color));
}

.location-card-demo-map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    vertical-align: middle;
}

.location-card-demo-body {
    padding: 0;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.location-card-demo-title {
    font-weight: 600;
    color: #222;
    margin-bottom: 0.35rem;
    font-size: 1rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.location-card-demo-address {
    line-height: 1.45;
    margin-bottom: 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}

.location-card-demo-meta {
    margin-top: auto;
    padding-top: 0.25rem;
}

.location-card-demo .ratings img {
    width: auto;
    height: 22px;
    display: block;
}

/* ============================================================
   S57 — Sticky business-profile tab nav
   Lifts .bsp-tabs-row out of .bsp-page-wrap into a body-level
   .bsp-tabs-strip with viewport-sticky behavior. Mobile:
   horizontal scroll-snap, >=44px tap targets, hidden scrollbar,
   safe-area inset for notched devices.
   ============================================================ */
body.bsp-page .bsp-tabs-strip {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #ffffff;
    border-bottom: 1px solid rgba(21,0,109,0.06);
    box-shadow: 0 2px 12px rgba(21,0,109,0.04);
    margin-bottom: 18px;
}

/* Override the rounded-card chrome that .bsp-tabs-row previously
   had when it sat inside .bsp-header-card scope. Inside the strip
   it becomes a flat row that inherits the strip's surface. */
body.bsp-page .bsp-tabs-strip .bsp-tabs-row {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding: 8px 0;
    margin-bottom: 0;
    gap: 8px;
}

/* Defensive baseline for .bsp-tab so tap targets and spacing are
   consistent regardless of vendor styling. */
body.bsp-page .bsp-tabs-strip .bsp-tab {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 14px;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 10px;
}

/* Mobile: tabs become a swipeable strip — flex-nowrap with
   horizontal scroll, scroll-snap on each tab, hidden scrollbar,
   safe-area inset padding for notched/curved displays. */
@media (max-width: 767.98px) {
    body.bsp-page .bsp-tabs-strip .bsp-tabs-row {
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-left: max(env(safe-area-inset-left), 4px);
        padding-right: max(env(safe-area-inset-right), 4px);
    }

    body.bsp-page .bsp-tabs-strip .bsp-tabs-row::-webkit-scrollbar {
        display: none;
    }

    body.bsp-page .bsp-tabs-strip .bsp-tab {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }
}
/* === END S57 sticky tab nav === */

/* ============================================================
   S57 fix - header-card mobile overflow
   Pre-existing @media (max-width:1300px) at L10412 forced a
   4-col grid (min ~1122px) on all viewports below 1300px,
   overflowing on phones. Override at <=767px to stack.
   ============================================================ */
@media (max-width: 767.98px) {
    body.bsp-page .bsp-header-main {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
    body.bsp-page .bsp-header-sentiment,
    body.bsp-page .bsp-actions {
        grid-column: 1 / -1 !important;
        max-width: 100% !important;
    }
}
/* === END S57 header-fix === */

/* ============================================================
   S57 header-fix #2 - comprehensive mobile override for header
   card content. Predecessor rules at L10636 / L10241 forced
   nowrap with !important at .bsp-header-card ancestor depth,
   so previous override didn't reach inner items. This block
   uses matching/higher specificity and addresses 4 issues:
     1. Replies-within-24h text truncation
     2. Sentiment "%" clipped
     3. Visit Website / Share buttons clipped
     4. Whole header overflowing viewport
   Root cause: grid 1fr lets children expand to intrinsic
   min-width; minmax(0,1fr) + min-width:0 on children fixes.
   ============================================================ */
@media (max-width: 767.98px) {
    body.bsp-page .bsp-header-main {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    body.bsp-page .bsp-header-main > * {
        min-width: 0 !important;
    }

    body.bsp-page .bsp-header-card .bsp-name {
        white-space: normal !important;
        font-size: 1.15rem !important;
    }
    body.bsp-page .bsp-header-card .bsp-meta-row {
        flex-wrap: wrap !important;
        white-space: normal !important;
        overflow: visible !important;
        gap: 4px 10px !important;
    }
    body.bsp-page .bsp-header-card .bsp-meta-item {
        white-space: normal !important;
    }
    body.bsp-page .bsp-meta-dot {
        display: none !important;
    }

    body.bsp-page .bsp-header-sentiment {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }
    body.bsp-page .bsp-sent-row {
        gap: 8px !important;
        min-width: 0 !important;
    }
    body.bsp-page .bsp-sent-track {
        min-width: 0 !important;
        flex: 1 1 0 !important;
    }
    body.bsp-page .bsp-sent-pct {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
    }

    body.bsp-page .bsp-actions {
        grid-template-columns: 1fr !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    body.bsp-page .bsp-actions .bsp-btn-primary,
    body.bsp-page .bsp-actions .bsp-btn-outline {
        width: 100% !important;
        justify-content: center !important;
    }
}
/* === END S57 header-fix #2 === */


/* ================================================================
   S57 STAGE A — CONSOLIDATED HEADER CARD (.bsp-page) v1
   ----------------------------------------------------------------
   Single source of truth for header card chrome. Appended at end
   so source-order cascade beats all prior layers (v1.5.38 / .41 /
   .42 / .43 / .44 / .45 / .54 / S57 headerfix #1 / #2 / namewrap).
   Mobile-first; three breakpoints: <768, >=768, >=1200.
   Stage B will delete the now-dead lower layers (host L9596-10801
   + S57 emergency fixes at L11874-11993).
   ================================================================ */

/* === Header card chrome === */
body.bsp-page .bsp-header-card {
    background: #ffffff;
    border: 1px solid rgba(21,0,109,0.06);
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 22px 60px rgba(21,0,109,0.08);
    margin-bottom: 18px;
    overflow: visible;
}

/* === Grid: mobile = stack, tablet = 2-col, desktop = 4-col === */
body.bsp-page .bsp-header-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
body.bsp-page .bsp-header-main > * {
    min-width: 0;
}

/* === Logo === */
body.bsp-page .bsp-logo-wrap {
    position: relative;
    width: 108px;
    height: 108px;
}
body.bsp-page .bsp-logo {
    width: 108px !important;
    height: 108px !important;
    border-radius: 22px;
    object-fit: cover;
    border: 6px solid #ffffff;
    background: #0f172a;
    box-shadow: 0 14px 35px rgba(15,23,42,0.14);
    display: block;
}

/* === Info column === */
body.bsp-page .bsp-info {
    min-width: 0;
}
body.bsp-page .bsp-info > * {
    min-width: 0;
}

/* === Name row + name === */
body.bsp-page .bsp-name-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-bottom: 8px;
    min-width: 0;
}
body.bsp-page .bsp-name {
    margin: 0;
    color: #0b0b2f;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.01em;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    min-width: 0;
}

/* === Verified pill (beside name) === */
body.bsp-page .bsp-verified-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(91,230,201,0.20);
    color: #087968;
    border: 1px solid rgba(91,230,201,0.48);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
}
body.bsp-page .bsp-verified-pill i {
    width: 17px;
    height: 17px;
    min-width: 17px;
    border-radius: 999px;
    background: #0BA08A;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    margin: 0;
}

/* === Meta row (city, claimed, replies-within) === */
body.bsp-page .bsp-meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin: 0 0 12px;
    color: #4f5875;
    min-width: 0;
    overflow: visible;
}
body.bsp-page .bsp-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #4f5875;
    font-size: 12.5px;
    font-weight: 650;
    line-height: 1.3;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
body.bsp-page .bsp-meta-item i {
    color: #3A43D1;
    font-size: 13px;
    line-height: 1;
}
body.bsp-page .bsp-meta-dot {
    color: #9aa0b8;
    font-size: 10px;
    line-height: 1;
}

/* === Rating row === */
body.bsp-page .bsp-rating-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 8px;
    flex-wrap: wrap;
    min-width: 0;
}
body.bsp-page .bsp-avg-num {
    font-size: 1.75rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.02em;
}
body.bsp-page .bsp-stars-img {
    height: 28px !important;
    width: auto !important;
    max-width: 100% !important;
    display: block;
}

/* === Label row (rating-pill + info) === */
body.bsp-page .bsp-label-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
    min-width: 0;
}
body.bsp-page .bsp-rating-pill {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}
body.bsp-page .bsp-rating-label--excellent { background: #dcfce7; color: #15803d; }
body.bsp-page .bsp-rating-label--great { background: #d1fae5; color: #065f46; }
body.bsp-page .bsp-rating-label--good { background: #dbeafe; color: #1d4ed8; }
body.bsp-page .bsp-rating-label--average { background: #fef9c3; color: #a16207; }
body.bsp-page .bsp-rating-label--below { background: #ffedd5; color: #c2410c; }
body.bsp-page .bsp-rating-label--poor { background: #fee2e2; color: #b91c1c; }
body.bsp-page .bsp-rating-info {
    color: #8b91a8;
    font-size: 14px;
}

/* === Rated-by row === */
body.bsp-page .bsp-rated-row {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #4f5875;
    font-size: 13.5px;
    font-weight: 600;
    flex-wrap: wrap;
    min-width: 0;
}
body.bsp-page .bsp-rated-row i,
body.bsp-page .bsp-rated-row strong {
    color: #3A43D1;
}

/* === Sentiment block === */
body.bsp-page .bsp-header-sentiment {
    min-width: 0;
    padding: 0;
    border: 0;
}
body.bsp-page .bsp-sentiment-heading {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #0b0b2f;
    font-size: 14px;
    font-weight: 850;
    margin: 0 0 14px;
}
body.bsp-page .bsp-sent-row {
    display: grid;
    grid-template-columns: 28px minmax(60px, 76px) minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
    min-width: 0;
}
body.bsp-page .bsp-sent-icon { font-size: 19px; }
body.bsp-page .bsp-sent-icon--pos { color: #10B981; }
body.bsp-page .bsp-sent-icon--neu { color: #6b7280; }
body.bsp-page .bsp-sent-icon--neg { color: #EF4444; }
body.bsp-page .bsp-sent-label {
    font-size: 13.5px;
    font-weight: 700;
    color: #20243a;
}
body.bsp-page .bsp-sent-track {
    height: 9px;
    border-radius: 999px;
    overflow: hidden;
    background: #e9ebf2;
    min-width: 0;
}
body.bsp-page .bsp-sent-bar {
    height: 100%;
    border-radius: 999px;
}
body.bsp-page .bsp-sent-bar--pos { background: #10B981; }
body.bsp-page .bsp-sent-bar--neu { background: #7b8195; }
body.bsp-page .bsp-sent-bar--neg { background: #EF4444; }
body.bsp-page .bsp-sent-pct {
    color: #0b0b2f;
    font-size: 13.5px;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
    flex-shrink: 0;
}

/* === Actions column === */
body.bsp-page .bsp-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    padding: 0;
    border: 0;
    max-width: 100%;
    box-sizing: border-box;
}
body.bsp-page .bsp-btn-primary,
body.bsp-page .bsp-btn-outline,
body.bsp-page .bsp-btn-sm {
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-weight: 850;
    box-sizing: border-box;
    width: 100%;
    white-space: nowrap;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
body.bsp-page .bsp-btn-primary {
    min-height: 50px;
    background: #15006D;
    color: #ffffff !important;
    box-shadow: 0 14px 30px rgba(21,0,109,0.18);
    font-size: 15px;
}
body.bsp-page .bsp-btn-outline {
    min-height: 50px;
    border: 1.5px solid rgba(58,67,209,0.35);
    color: #3A43D1 !important;
    background: #ffffff;
    font-size: 15px;
}
body.bsp-page .bsp-btn-sm {
    min-height: 50px;
    border: 1px solid #e4e7f0;
    color: #2b3048 !important;
    background: #ffffff;
    font-size: 14px;
}
body.bsp-page .bsp-actions-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    min-width: 0;
}
body.bsp-page .bsp-actions-row > * {
    min-width: 0;
}
body.bsp-page .bsp-actions-row a,
body.bsp-page .bsp-actions-row button,
body.bsp-page .bsp-actions-row .btn,
body.bsp-page .bsp-actions-row [wire\:click] {
    width: 100%;
    min-height: 50px;
    border: 1px solid #e4e7f0;
    border-radius: 13px;
    background: #ffffff;
    color: #2b3048;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 850;
    padding: 0 16px;
    box-shadow: none;
}
body.bsp-page .bsp-actions-row > :first-child a::after,
body.bsp-page .bsp-actions-row > :first-child button::after,
body.bsp-page .bsp-actions-row > :first-child .btn::after {
    content: "Save";
    font-size: 14px;
    font-weight: 850;
}
body.bsp-page .bsp-btn-primary:hover,
body.bsp-page .bsp-btn-outline:hover,
body.bsp-page .bsp-btn-sm:hover {
    transform: translateY(-1px);
}

/* === Breakpoint: tablet (>=768) — logo + info side-by-side === */
@media (min-width: 768px) {
    body.bsp-page .bsp-header-card {
        padding: 26px 28px;
    }
    body.bsp-page .bsp-header-main {
        grid-template-columns: 132px minmax(0, 1fr);
        gap: 26px;
        align-items: start;
    }
    body.bsp-page .bsp-logo-wrap {
        width: 132px;
        height: 132px;
    }
    body.bsp-page .bsp-logo {
        width: 132px !important;
        height: 132px !important;
    }
    body.bsp-page .bsp-name {
        font-size: 1.35rem;
    }
    body.bsp-page .bsp-header-sentiment,
    body.bsp-page .bsp-actions {
        grid-column: 1 / -1;
    }
    body.bsp-page .bsp-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    body.bsp-page .bsp-actions-row {
        grid-column: 1 / -1;
    }
    body.bsp-page .bsp-avg-num {
        font-size: 2rem;
    }
    body.bsp-page .bsp-stars-img {
        height: 32px !important;
    }
}

/* === Breakpoint: desktop (>=1200) — full 4-column header === */
@media (min-width: 1200px) {
    body.bsp-page .bsp-header-card {
        padding: 30px 34px;
    }
    body.bsp-page .bsp-header-main {
        grid-template-columns: 150px minmax(0, 1fr) minmax(0, 390px) 260px;
        gap: 34px;
        align-items: center;
    }
    body.bsp-page .bsp-header-sentiment {
        grid-column: auto;
        border-left: 1px solid #e8eaf3;
        padding-left: 34px;
    }
    body.bsp-page .bsp-actions {
        grid-column: auto;
        display: flex;
        flex-direction: column;
        gap: 14px;
        border-left: 1px solid #e8eaf3;
        padding-left: 34px;
    }
    body.bsp-page .bsp-actions-row {
        grid-column: auto;
    }
    body.bsp-page .bsp-stars-img {
        height: 42px !important;
    }
    body.bsp-page .bsp-btn-primary,
    body.bsp-page .bsp-btn-outline {
        min-height: 58px;
        font-size: 16px;
    }
}
/* === END S57 STAGE A consolidated header === */

/* ================================================================
   S57 STAGE A v2 — TWO-ROW HEADER LAYOUT (.bsp-page)
   ----------------------------------------------------------------
   Restructured for long-name accommodation. Row 1 = logo + name/meta
   (name has full width to wrap into). Row 2 = rating + sentiment +
   actions side-by-side. Sentiment auto-hides on branches.
   Mobile-first; breakpoints: <768 stacked, >=768 two-row, >=1024 row2 3-col.
   Replaces Stage A v1 + all v1.5.xx legacy + all S57 emergency fixes.
   ================================================================ */

/* === Header card chrome === */
body.bsp-page .bsp-header-card--branch .bsp-header-card {
    background: #ffffff;
    border: 1px solid rgba(21,0,109,0.06);
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 22px 60px rgba(21,0,109,0.08);
    margin-bottom: 18px;
    overflow: visible;
}

/* === Grid (mobile default: stacked single column) === */
body.bsp-page .bsp-header-card--branch .bsp-header-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}
body.bsp-page .bsp-header-card--branch .bsp-header-main > * {
    min-width: 0;
}

/* === Logo === */
body.bsp-page .bsp-header-card--branch .bsp-logo-wrap {
    position: relative;
    width: 108px;
    height: 108px;
}
body.bsp-page .bsp-header-card--branch .bsp-logo {
    width: 108px !important;
    height: 108px !important;
    border-radius: 22px;
    object-fit: cover;
    border: 6px solid #ffffff;
    background: #0f172a;
    box-shadow: 0 14px 35px rgba(15,23,42,0.14);
    display: block;
}

/* === Info-top: name row + meta row === */
body.bsp-page .bsp-header-card--branch .bsp-info-top {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}
body.bsp-page .bsp-header-card--branch .bsp-info-top > * {
    min-width: 0;
}

/* === Name row + name === */
body.bsp-page .bsp-header-card--branch .bsp-name-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin: 0;
    min-width: 0;
}
body.bsp-page .bsp-header-card--branch .bsp-name {
    margin: 0;
    color: #0b0b2f;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.01em;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    min-width: 0;
}

/* === Verified pill (legacy class, still supported) === */
body.bsp-page .bsp-header-card--branch .bsp-verified-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(91,230,201,0.20);
    color: #087968;
    border: 1px solid rgba(91,230,201,0.48);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
}
body.bsp-page .bsp-header-card--branch .bsp-verified-pill i {
    width: 17px;
    height: 17px;
    min-width: 17px;
    border-radius: 999px;
    background: #0BA08A;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    margin: 0;
}

/* === Name-verified inline SVG badge (current renderer) === */
body.bsp-page .bsp-header-card--branch .bsp-name-verified {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    color: var(--rc-aurora, #3A43D1);
    line-height: 1;
}
body.bsp-page .bsp-header-card--branch .bsp-name-verified .rc-verified-badge-svg {
    width: 20px;
    height: 20px;
}

/* === Meta row === */
body.bsp-page .bsp-header-card--branch .bsp-meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 10px;
    margin: 0;
    color: #4f5875;
    min-width: 0;
    overflow: visible;
}
body.bsp-page .bsp-header-card--branch .bsp-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #4f5875;
    font-size: 12.5px;
    font-weight: 650;
    line-height: 1.3;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
body.bsp-page .bsp-header-card--branch .bsp-meta-item i {
    color: #3A43D1;
    font-size: 13px;
    line-height: 1;
}
body.bsp-page .bsp-header-card--branch .bsp-meta-dot {
    color: #9aa0b8;
    font-size: 10px;
    line-height: 1;
}

/* === Header body (row 2 container: rating + sentiment + actions) === */
body.bsp-page .bsp-header-card--branch .bsp-header-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

/* === Rating block (rating row + label row + rated row) === */
body.bsp-page .bsp-header-card--branch .bsp-rating-block {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}
body.bsp-page .bsp-header-card--branch .bsp-rating-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    flex-wrap: wrap;
    min-width: 0;
}
body.bsp-page .bsp-header-card--branch .bsp-avg-num {
    font-size: 1.75rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.02em;
}
body.bsp-page .bsp-header-card--branch .bsp-stars-img {
    height: 28px !important;
    width: auto !important;
    max-width: 100% !important;
    display: block;
}
body.bsp-page .bsp-header-card--branch .bsp-label-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0;
    min-width: 0;
}
body.bsp-page .bsp-rating-pill {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}
body.bsp-page .bsp-rating-label--excellent { background: #dcfce7; color: #15803d; }
body.bsp-page .bsp-rating-label--great { background: #d1fae5; color: #065f46; }
body.bsp-page .bsp-rating-label--good { background: #dbeafe; color: #1d4ed8; }
body.bsp-page .bsp-rating-label--average { background: #fef9c3; color: #a16207; }
body.bsp-page .bsp-rating-label--below { background: #ffedd5; color: #c2410c; }
body.bsp-page .bsp-rating-label--poor { background: #fee2e2; color: #b91c1c; }
body.bsp-page .bsp-rating-info {
    color: #8b91a8;
    font-size: 14px;
}
body.bsp-page .bsp-header-card--branch .bsp-rated-row {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #4f5875;
    font-size: 13.5px;
    font-weight: 600;
    flex-wrap: wrap;
    min-width: 0;
    margin: 0;
}
body.bsp-page .bsp-header-card--branch .bsp-rated-row i,
body.bsp-page .bsp-header-card--branch .bsp-rated-row strong {
    color: #3A43D1;
}

/* === Sentiment block === */
body.bsp-page .bsp-header-card--branch .bsp-header-sentiment {
    min-width: 0;
    padding: 0;
    border: 0;
}
body.bsp-page .bsp-header-card--branch .bsp-sentiment-heading {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #0b0b2f;
    font-size: 14px;
    font-weight: 850;
    margin: 0 0 12px;
}
body.bsp-page .bsp-header-card--branch .bsp-sent-row {
    display: grid;
    grid-template-columns: 24px minmax(56px, 76px) minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    min-width: 0;
}
body.bsp-page .bsp-header-card--branch .bsp-sent-icon { font-size: 18px; }
body.bsp-page .bsp-header-card--branch .bsp-sent-icon--pos { color: #10B981; }
body.bsp-page .bsp-header-card--branch .bsp-sent-icon--neu { color: #6b7280; }
body.bsp-page .bsp-header-card--branch .bsp-sent-icon--neg { color: #EF4444; }
body.bsp-page .bsp-header-card--branch .bsp-sent-label {
    font-size: 13px;
    font-weight: 700;
    color: #20243a;
}
body.bsp-page .bsp-header-card--branch .bsp-sent-track {
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: #e9ebf2;
    min-width: 0;
}
body.bsp-page .bsp-header-card--branch .bsp-sent-bar {
    height: 100%;
    border-radius: 999px;
}
body.bsp-page .bsp-header-card--branch .bsp-sent-bar--pos { background: #10B981; }
body.bsp-page .bsp-header-card--branch .bsp-sent-bar--neu { background: #7b8195; }
body.bsp-page .bsp-header-card--branch .bsp-sent-bar--neg { background: #EF4444; }
body.bsp-page .bsp-header-card--branch .bsp-sent-pct {
    color: #0b0b2f;
    font-size: 13px;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
    flex-shrink: 0;
}

/* === Actions === */
body.bsp-page .bsp-header-card--branch .bsp-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    padding: 0;
    border: 0;
    max-width: 100%;
    box-sizing: border-box;
}
body.bsp-page .bsp-header-card--branch .bsp-btn-primary,
body.bsp-page .bsp-header-card--branch .bsp-btn-outline,
body.bsp-page .bsp-header-card--branch .bsp-btn-sm {
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-weight: 850;
    box-sizing: border-box;
    width: 100%;
    white-space: nowrap;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
body.bsp-page .bsp-header-card--branch .bsp-btn-primary {
    min-height: 48px;
    background: #15006D;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(21,0,109,0.18);
    font-size: 15px;
}
body.bsp-page .bsp-header-card--branch .bsp-btn-outline {
    min-height: 48px;
    border: 1.5px solid rgba(58,67,209,0.35);
    color: #3A43D1 !important;
    background: #ffffff;
    font-size: 15px;
}
body.bsp-page .bsp-header-card--branch .bsp-btn-sm {
    min-height: 46px;
    border: 1px solid #e4e7f0;
    color: #2b3048 !important;
    background: #ffffff;
    font-size: 14px;
}
body.bsp-page .bsp-header-card--branch .bsp-actions-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    min-width: 0;
}
body.bsp-page .bsp-header-card--branch .bsp-actions-row > * {
    min-width: 0;
}
body.bsp-page .bsp-header-card--branch .bsp-actions-row a,
body.bsp-page .bsp-header-card--branch .bsp-actions-row button,
body.bsp-page .bsp-header-card--branch .bsp-actions-row .btn,
body.bsp-page .bsp-header-card--branch .bsp-actions-row [wire\:click] {
    width: 100%;
    min-height: 46px;
    border: 1px solid #e4e7f0;
    border-radius: 13px;
    background: #ffffff;
    color: #2b3048;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 850;
    padding: 0 14px;
    box-shadow: none;
}
body.bsp-page .bsp-header-card--branch .bsp-actions-row > :first-child a::after,
body.bsp-page .bsp-header-card--branch .bsp-actions-row > :first-child button::after,
body.bsp-page .bsp-header-card--branch .bsp-actions-row > :first-child .btn::after {
    content: "Save";
    font-size: 14px;
    font-weight: 850;
}
body.bsp-page .bsp-header-card--branch .bsp-btn-primary:hover,
body.bsp-page .bsp-header-card--branch .bsp-btn-outline:hover,
body.bsp-page .bsp-header-card--branch .bsp-btn-sm:hover {
    transform: translateY(-1px);
}

/* === Breakpoint: tablet (>=768) — row 1 = logo + info-top side-by-side === */
@media (min-width: 768px) {
    body.bsp-page .bsp-header-card--branch .bsp-header-card {
        padding: 24px 26px;
    }
    body.bsp-page .bsp-header-card--branch .bsp-header-main {
        grid-template-columns: 120px minmax(0, 1fr);
        column-gap: 22px;
        row-gap: 18px;
        align-items: start;
    }
    body.bsp-page .bsp-header-card--branch .bsp-logo-wrap {
        width: 120px;
        height: 120px;
        grid-column: 1;
        grid-row: 1;
    }
    body.bsp-page .bsp-header-card--branch .bsp-logo {
        width: 120px !important;
        height: 120px !important;
        border-radius: 20px;
    }
    body.bsp-page .bsp-header-card--branch .bsp-info-top {
        grid-column: 2;
        grid-row: 1;
    }
    body.bsp-page .bsp-header-card--branch .bsp-header-body {
        grid-column: 1 / -1;
        grid-row: 2;
    }
    body.bsp-page .bsp-header-card--branch .bsp-name {
        font-size: 1.35rem;
    }
    body.bsp-page .bsp-header-card--branch .bsp-name-verified .rc-verified-badge-svg {
        width: 22px;
        height: 22px;
    }
    body.bsp-page .bsp-header-card--branch .bsp-avg-num {
        font-size: 1.85rem;
    }
    body.bsp-page .bsp-header-card--branch .bsp-stars-img {
        height: 30px !important;
    }
}

/* === Breakpoint: desktop (>=1024) — row 2 becomes 3-col side-by-side === */
@media (min-width: 1024px) {
    body.bsp-page .bsp-header-card--branch .bsp-header-card {
        padding: 28px 30px;
    }
    body.bsp-page .bsp-header-card--branch .bsp-header-main {
        grid-template-columns: 132px minmax(0, 1fr);
        column-gap: 26px;
        row-gap: 22px;
    }
    body.bsp-page .bsp-header-card--branch .bsp-logo-wrap {
        width: 132px;
        height: 132px;
    }
    body.bsp-page .bsp-header-card--branch .bsp-logo {
        width: 132px !important;
        height: 132px !important;
        border-radius: 22px;
    }
    body.bsp-page .bsp-header-card--branch .bsp-header-body {
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.3fr) 260px;
        column-gap: 26px;
        align-items: start;
    }
    body.bsp-page .bsp-header-card--branch .bsp-rating-block {
        min-width: 0;
    }
    body.bsp-page .bsp-header-card--branch .bsp-header-sentiment {
        border-left: 1px solid #e8eaf3;
        padding-left: 22px;
    }
    body.bsp-page .bsp-header-card--branch .bsp-actions {
        border-left: 1px solid #e8eaf3;
        padding-left: 22px;
    }
    /* On branch pages (no sentiment), row 2 becomes 2-col with wider actions */
    body.bsp-page .bsp-header-card--branch .bsp-header-body:not(:has(.bsp-header-sentiment)) {
        grid-template-columns: minmax(0, 1fr) 260px;
    }
    body.bsp-page .bsp-header-card--branch .bsp-name {
        font-size: 1.45rem;
    }
    body.bsp-page .bsp-header-card--branch .bsp-name-verified .rc-verified-badge-svg {
        width: 24px;
        height: 24px;
    }
    body.bsp-page .bsp-header-card--branch .bsp-stars-img {
        height: 34px !important;
    }
    body.bsp-page .bsp-header-card--branch .bsp-btn-primary,
    body.bsp-page .bsp-header-card--branch .bsp-btn-outline {
        min-height: 52px;
        font-size: 15px;
    }
}
/* === END S57 STAGE A v2 consolidated header === */

/* ================================================================
   S57 STAGE A v3 patch — inline verified badge + branch pill
   Appended after Stage A v2. Higher source-order wins.
   ================================================================ */

/* === Inline name + badge: name becomes inline element, badge sits
   at end of last line of wrapped heading text === */
body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name-row {
    display: block;
    margin: 0 0 6px;
}
body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name {
    display: inline;
    margin: 0;
    color: #0b0b2f;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.01em;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}
body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name-verified {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 6px;
    color: var(--rc-aurora, #3A43D1);
    line-height: 1;
    flex-shrink: 0;
}
body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name-verified .rc-verified-badge-svg {
    width: 18px;
    height: 18px;
}

/* === Branch pill: visual indicator for location pages === */
body.bsp-page .bsp-header-card--branch .bsp-branch-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 22px;
    padding: 0 10px;
    margin-left: 8px;
    border-radius: 999px;
    background: rgba(58,67,209,0.10);
    color: #3A43D1;
    border: 1px solid rgba(58,67,209,0.25);
    font-size: 11px;
    font-weight: 750;
    line-height: 1;
    letter-spacing: 0.02em;
    vertical-align: middle;
    white-space: nowrap;
}
body.bsp-page .bsp-header-card--branch .bsp-branch-pill i {
    font-size: 11px;
    color: #3A43D1;
}

@media (min-width: 768px) {
    body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name {
        font-size: 1.35rem;
    }
    body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name-verified .rc-verified-badge-svg {
        width: 20px;
        height: 20px;
    }
    body.bsp-page .bsp-header-card--branch .bsp-branch-pill {
        height: 24px;
        padding: 0 11px;
        font-size: 12px;
    }
}

@media (min-width: 1024px) {
    body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name {
        font-size: 1.45rem;
    }
    body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name-verified .rc-verified-badge-svg {
        width: 22px;
        height: 22px;
    }
}
/* === END S57 v3 patch === */

/* ================================================================
   S57 v3.1 patch — proper inline badge positioning
   ================================================================ */
body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name-row {
    display: block !important;
    margin: 0 0 8px !important;
    line-height: 1.3;
}
body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name {
    display: inline !important;
    margin: 0 !important;
    color: #0b0b2f;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.01em;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    flex-shrink: unset !important;
    overflow: visible !important;
}
body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name-verified {
    display: inline-block !important;
    vertical-align: baseline;
    margin-left: 6px;
    color: var(--rc-aurora, #3A43D1);
    line-height: 1;
    position: relative;
    top: 2px;
}
body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name-verified .rc-verified-badge-svg {
    width: 18px;
    height: 18px;
    display: block;
}
body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-branch-pill {
    display: inline-block;
    vertical-align: baseline;
    position: relative;
    top: 1px;
    margin-left: 8px;
}
@media (min-width: 768px) {
    body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name {
        font-size: 1.35rem !important;
    }
    body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name-verified .rc-verified-badge-svg {
        width: 20px;
        height: 20px;
    }
}
@media (min-width: 1024px) {
    body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name {
        font-size: 1.45rem !important;
    }
    body.bsp-page .bsp-header-card--branch .bsp-header-card .bsp-name-verified .rc-verified-badge-svg {
        width: 22px;
        height: 22px;
    }
}
/* === END S57 v3.1 patch === */



/* ============================================================
   S57 v3.5 — branch-card and parent/branch modifier scoping
   Architecture:
   - Parent businesses render with the pre-Stage-A-v2 backup
     markup (.bsp-info layout), drawing styling from Zones 1-2
     and Stage A v1 (which still applies to parent because no
     modifier filtering was used historically).
   - Branch pages render with .bsp-header-card--branch modifier,
     using Stage A v2 markup (.bsp-info-top + .bsp-header-body)
     plus a new .bsp-branch-card sitting inside .bsp-rating-block
     above the rating row.
   Isolation strategy: markup divergence (parent uses .bsp-info,
   branch uses .bsp-info-top/.bsp-header-body), so most CSS auto-
   scopes. New rules in this patch are explicitly --branch scoped.
   ============================================================ */

body.bsp-page .bsp-header-card--branch .bsp-branch-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    margin: 0 0 14px;
    background: rgba(58, 67, 209, 0.06);
    border: 1px solid rgba(58, 67, 209, 0.16);
    border-radius: 14px;
    min-width: 0;
    cursor: help;
    transition: background 0.15s ease, border-color 0.15s ease;
}
body.bsp-page .bsp-header-card--branch .bsp-branch-card:hover {
    background: rgba(58, 67, 209, 0.09);
    border-color: rgba(58, 67, 209, 0.24);
}
body.bsp-page .bsp-header-card--branch .bsp-branch-card-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(58, 67, 209, 0.12);
    color: #3A43D1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
}
body.bsp-page .bsp-header-card--branch .bsp-branch-card-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    line-height: 1.25;
}
body.bsp-page .bsp-header-card--branch .bsp-branch-card-label {
    color: #3A43D1;
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    line-height: 1;
}
body.bsp-page .bsp-header-card--branch .bsp-branch-card-name {
    color: #0b0b2f;
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.3;
    word-break: break-word;
}
/* === END S57 v3.5 === */

/* ============================================================
   S57 v3.6 — branch chrome restoration + scoping epilogue.
   v3.5 attempted layout isolation via markup divergence only;
   in practice, Stage A v2 selectors targeting shared classes
   (e.g. .bsp-rating-row, .bsp-name) leaked into parent and
   overrode the backup-era styling from Zones 1-2. v3.6 scopes
   Stage A v2 + later patches to .bsp-header-card--branch via
   in-place selector rewrite. Parent now renders from Zones 1-4
   only, matching the bak-s57-locreskin baseline.

   This block restores the branch's card chrome which would
   otherwise fall through to Zone 1's chrome rule (the scoped
   Stage A v2 chrome rule no longer matches the same element).
   ============================================================ */
body.bsp-page .bsp-header-card.bsp-header-card--branch {
    background: #ffffff;
    border: 1px solid rgba(21,0,109,0.06);
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 22px 60px rgba(21,0,109,0.08);
    margin-bottom: 18px;
    overflow: visible;
}
@media (min-width: 768px) {
    body.bsp-page .bsp-header-card.bsp-header-card--branch {
        padding: 24px 26px;
    }
}
@media (min-width: 1024px) {
    body.bsp-page .bsp-header-card.bsp-header-card--branch {
        padding: 28px 30px;
    }
}
/* === END S57 v3.6 === */


/* ============================================================
   S58 P4 — meta-row atomic items (all viewports)
   ----------------------------------------------------------
   Force meta-row to wrap items as whole units. Specificity
   matches .bsp-header-card ancestor depth so it beats every
   prior nowrap rule. Source-order last beats equally-specific
   rules above.
   ============================================================ */
body.bsp-page .bsp-header-card .bsp-meta-row {
    flex-wrap: wrap !important;
}
body.bsp-page .bsp-header-card .bsp-meta-item {
    white-space: nowrap !important;
}
/* === END S58 P4 meta-row fix === */

/* ============================================================
   S58 P5b — bsp-trust-badge: strip inherited pill styling
   ----------------------------------------------------------
   Trust badge uses .tooltip-badge for tooltip behavior but
   should render as a borderless inline icon, not a pill.
   ============================================================ */
body.bsp-page .bsp-trust-badge {
    display: inline-flex !important;
    align-items: center !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    cursor: help !important;
    line-height: 1 !important;
}
body.bsp-page .bsp-trust-badge .tooltip-hover {
    display: inline-flex !important;
    align-items: center !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
/* === END S58 P5b trust-badge styling === */

/* ============================================================
   S58 P-Location — sidebar Location card (map + address + CTA)
   ----------------------------------------------------------
   Mirrors Google Business Profile pattern: dedicated card under
   Business Details with static map preview and "View on Google
   Maps" link. Renders for single-location businesses and branch
   pages only; parents with branches use the Locations page.
   ============================================================ */
body.bsp-page .bsp-location-card .bsp-location-body {
    display: flex;
    flex-direction: column;
}
body.bsp-page .bsp-location-card .bsp-location-map {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f0f0f5;
    border-bottom: 1px solid #f0f0f5;
    text-decoration: none;
}
body.bsp-page .bsp-location-card .bsp-location-map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
body.bsp-page .bsp-location-card .bsp-location-map:hover img {
    transform: scale(1.03);
}
body.bsp-page .bsp-location-card .bsp-location-meta {
    padding: 14px 18px 18px;
}
body.bsp-page .bsp-location-card .bsp-location-address {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.45;
    color: #3e4661;
    word-break: break-word;
}
body.bsp-page .bsp-location-card .bsp-location-address i {
    color: #3A43D1;
    font-size: 14px;
    line-height: 1.4;
    flex-shrink: 0;
}
body.bsp-page .bsp-location-card .bsp-location-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid #3A43D1;
    border-radius: 8px;
    background: #fff;
    color: #3A43D1;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}
body.bsp-page .bsp-location-card .bsp-location-cta:hover,
body.bsp-page .bsp-location-card .bsp-location-cta:focus {
    background: #3A43D1;
    color: #fff;
}
body.bsp-page .bsp-location-card .bsp-location-cta i {
    font-size: 11px;
}
@media (max-width: 480px) {
    body.bsp-page .bsp-location-card .bsp-location-map {
        aspect-ratio: 4 / 3;
    }
}
/* === END S58 P-Location === */

/* ============================================================
   S58 A2-v2 — bcm-* (business contact messages)
   Gmail-style compact inbox: dense rows, hover actions, search,
   IP removed from owner view (kept in DB only).
   ============================================================ */

/* === Inbox container === */
.bcm-inbox {
    background: #fff;
    border: 1px solid #e8eaf2;
    border-radius: 12px;
    overflow: hidden;
}

/* === Header bar (tabs + search) === */
.bcm-inbox-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: #fafbff;
    border-bottom: 1px solid #e8eaf2;
}
.bcm-tabs {
    display: flex;
    gap: 4px;
    flex: 1;
}
.bcm-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    color: #6c7393;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}
.bcm-tab:hover {
    background: #ebedf6;
    color: #0b0b2f;
}
.bcm-tab.is-active {
    background: #ebedf6;
    color: #0b0b2f;
}
.bcm-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 18px;
    padding: 0 6px;
    background: #fff;
    color: #6c7393;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}
.bcm-tab-count--active {
    background: #3A43D1;
    color: #fff;
}

.bcm-search {
    position: relative;
    flex-shrink: 0;
    width: 280px;
    max-width: 100%;
}
.bcm-search-input {
    width: 100%;
    height: 36px;
    padding: 0 36px 0 36px;
    background: #fff;
    border: 1px solid #d0d5e4;
    border-radius: 8px;
    font-size: 13px;
    color: #3e4661;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.bcm-search-input::placeholder { color: #9aa0bc; }
.bcm-search-input:focus {
    outline: none;
    border-color: #3A43D1;
    box-shadow: 0 0 0 3px rgba(58, 67, 209, 0.12);
}
.bcm-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #9aa0bc;
    font-size: 14px;
}
.bcm-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ebedf6;
    color: #6c7393;
    text-decoration: none;
    font-size: 14px;
}
.bcm-search-clear:hover {
    background: #d0d5e4;
    color: #0b0b2f;
}

/* === Bulk action bar === */
.bcm-bulk-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 18px;
    background: #fff;
    border-bottom: 1px solid #f0f0f5;
    min-height: 44px;
}
.bcm-bulk-actions {
    display: flex;
    gap: 4px;
}
.bcm-bulk-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #6c7393;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.bcm-bulk-btn:hover {
    background: #ebedf6;
    color: #0b0b2f;
}
.bcm-bulk-btn--danger:hover {
    background: #fff0f0;
    color: #d9534f;
}
.bcm-bulk-meta {
    font-size: 12px;
    color: #8b91a8;
}

/* === Gmail-style compact rows === */
.bcm-rows {
    list-style: none;
    padding: 0;
    margin: 0;
}
.bcm-row {
    position: relative;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #f3f4f9;
    transition: background 0.12s ease, box-shadow 0.12s ease;
}
.bcm-row:last-child { border-bottom: none; }
.bcm-row:hover {
    background: #f7f8fd;
    box-shadow: inset 3px 0 0 #3A43D1;
}
.bcm-row.is-unread {
    background: #fcfcff;
}
.bcm-row.is-unread:hover {
    background: #f5f6ff;
}
.bcm-row-link {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    text-decoration: none;
    color: inherit;
}
.bcm-row-link:hover {
    text-decoration: none;
    color: inherit;
}
.bcm-row-dot {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: transparent;
}
.bcm-row.is-unread .bcm-row-dot {
    background: #3A43D1;
}
.bcm-row-avatar {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ebedf6;
    color: #6c7393;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11.5px;
    font-weight: 700;
}
.bcm-row.is-unread .bcm-row-avatar {
    background: linear-gradient(135deg, #3A43D1, #5b63dd);
    color: #fff;
}
.bcm-row-sender {
    flex-shrink: 0;
    width: 160px;
    font-size: 13px;
    color: #3e4661;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bcm-row.is-unread .bcm-row-sender {
    color: #0b0b2f;
    font-weight: 700;
}
.bcm-row-content {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 8px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.bcm-row-subject {
    font-size: 13px;
    color: #3e4661;
    font-weight: 500;
    flex-shrink: 0;
    max-width: 50%;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bcm-row.is-unread .bcm-row-subject {
    color: #0b0b2f;
    font-weight: 700;
}
.bcm-row-sep {
    color: #c5cae0;
    font-size: 13px;
    flex-shrink: 0;
}
.bcm-row-snippet {
    font-size: 13px;
    color: #8b91a8;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}
.bcm-row-branch {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 8px;
    background: #ebedf6;
    color: #6c7393;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
}
.bcm-row-branch i { font-size: 11px; }
.bcm-row-flag {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff4e0;
    color: #b35900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}
.bcm-row-time {
    flex-shrink: 0;
    width: 60px;
    text-align: right;
    font-size: 11.5px;
    color: #8b91a8;
}
.bcm-row.is-unread .bcm-row-time {
    color: #3A43D1;
    font-weight: 600;
}

/* Hover-reveal action buttons */
.bcm-row-actions {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: none;
    gap: 4px;
    background: linear-gradient(90deg, transparent, #f7f8fd 30%, #f7f8fd);
    padding: 6px 8px 6px 32px;
}
.bcm-row:hover .bcm-row-actions {
    display: flex;
}
.bcm-row.is-unread:hover .bcm-row-actions {
    background: linear-gradient(90deg, transparent, #f5f6ff 30%, #f5f6ff);
}
.bcm-row-actions form { margin: 0; }
.bcm-row-action {
    width: 30px;
    height: 30px;
    background: #fff;
    border: 1px solid #e0e3f0;
    border-radius: 6px;
    color: #6c7393;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}
.bcm-row-action:hover {
    background: #3A43D1;
    color: #fff;
    border-color: #3A43D1;
}
.bcm-row-action--danger:hover {
    background: #d9534f;
    border-color: #d9534f;
}

/* Hide right-side meta when actions reveal */
.bcm-row:hover .bcm-row-branch,
.bcm-row:hover .bcm-row-flag,
.bcm-row:hover .bcm-row-time {
    visibility: hidden;
}

/* === Pager === */
.bcm-pager {
    padding: 16px 18px;
    border-top: 1px solid #f0f0f5;
}
.bcm-pager nav { margin: 0; }

/* === Empty state === */
.bcm-empty {
    text-align: center;
    padding: 64px 24px;
}
.bcm-empty-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #f5f6ff;
    color: #3A43D1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
}
.bcm-empty-title {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 700;
    color: #0b0b2f;
}
.bcm-empty-text {
    margin: 0 auto 16px;
    max-width: 420px;
    color: #6c7393;
    font-size: 13.5px;
    line-height: 1.5;
}
.bcm-empty-cta {
    display: inline-block;
    padding: 8px 18px;
    background: #3A43D1;
    color: #fff;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}
.bcm-empty-cta:hover { background: #2d34a8; color: #fff; }

/* === Detail page (unchanged structure, retained from prior) === */
.bcm-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 20px;
}
@media (max-width: 991.98px) {
    .bcm-detail-grid { grid-template-columns: 1fr; }
}
.bcm-detail-card {
    background: #fff;
    border: 1px solid #e8eaf2;
    border-radius: 12px;
    padding: 28px;
}
.bcm-detail-header {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 22px;
    padding-bottom: 22px;
    border-bottom: 1px solid #f0f0f5;
}
.bcm-detail-avatar {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3A43D1, #5b63dd);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 700;
}
.bcm-detail-meta { flex: 1; min-width: 0; }
.bcm-detail-sender { margin: 0 0 2px; font-size: 16px; font-weight: 700; color: #0b0b2f; }
.bcm-detail-email { font-size: 13px; color: #3A43D1; text-decoration: none; }
.bcm-detail-email:hover { text-decoration: underline; }
.bcm-detail-time { margin-top: 4px; font-size: 12px; color: #8b91a8; }
.bcm-detail-subject { margin: 0 0 14px; font-size: 22px; font-weight: 700; color: #0b0b2f; line-height: 1.3; word-break: break-word; }
.bcm-detail-context {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    margin-bottom: 14px;
    background: #f5f6ff;
    border-radius: 999px;
    font-size: 12.5px;
    color: #3e4661;
}
.bcm-detail-context i { color: #3A43D1; }
.bcm-detail-alert {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    margin-bottom: 18px;
    background: #fff4e0;
    border: 1px solid #ffd89a;
    border-radius: 8px;
    font-size: 13px;
    color: #7a4500;
}
.bcm-detail-alert i { color: #cc7a00; font-size: 16px; flex-shrink: 0; margin-top: 2px; }
.bcm-detail-alert div { display: flex; flex-direction: column; gap: 2px; }
.bcm-detail-alert strong { color: #5c3300; }
.bcm-detail-body {
    font-size: 14.5px;
    line-height: 1.7;
    color: #3e4661;
    word-break: break-word;
    margin-bottom: 24px;
    padding: 18px;
    background: #fafbff;
    border-radius: 8px;
    border-left: 3px solid #d6d9f5;
}
.bcm-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding-top: 22px;
    border-top: 1px solid #f0f0f5;
}
.bcm-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.bcm-btn--primary { background: #3A43D1; color: #fff; }
.bcm-btn--primary:hover { background: #2d34a8; color: #fff; }
.bcm-btn--ghost { background: #fff; color: #3e4661; border-color: #d0d5e4; }
.bcm-btn--ghost:hover { background: #f5f6ff; border-color: #3A43D1; color: #3A43D1; }
.bcm-btn--danger { background: #fff; color: #d9534f; border-color: #f0c8c6; }
.bcm-btn--danger:hover { background: #fff0f0; border-color: #d9534f; }
.bcm-detail-aside { display: flex; flex-direction: column; gap: 16px; }
.bcm-aside-card { background: #fff; border: 1px solid #e8eaf2; border-radius: 12px; padding: 18px 20px; }
.bcm-aside-title { margin: 0 0 14px; font-size: 12px; font-weight: 700; color: #0b0b2f; text-transform: uppercase; letter-spacing: 0.05em; }
.bcm-aside-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.bcm-aside-list li { display: flex; flex-direction: column; gap: 2px; }
.bcm-aside-label { font-size: 11.5px; color: #8b91a8; font-weight: 500; }
.bcm-aside-value { font-size: 13px; color: #3e4661; font-weight: 500; word-break: break-word; }
.bcm-aside-history { list-style: none; padding: 0; margin: 0; }
.bcm-aside-history-item {
    display: flex; flex-direction: column; gap: 2px;
    padding: 10px 12px; margin: 0 -8px; border-radius: 7px;
    text-decoration: none; transition: background 0.15s ease;
}
.bcm-aside-history-item:hover { background: #f5f6ff; text-decoration: none; }
.bcm-aside-history-subject { font-size: 13px; font-weight: 600; color: #3e4661; }
.bcm-aside-history-time { font-size: 11px; color: #8b91a8; }

/* === Mobile === */
@media (max-width: 767.98px) {
    .bcm-inbox-header { flex-direction: column; align-items: stretch; }
    .bcm-search { width: 100%; }
    .bcm-row-sender { width: auto; max-width: 40%; }
    .bcm-row-content { display: none; }
    .bcm-row-link { padding: 12px 14px; gap: 10px; }
    .bcm-row-actions { display: none !important; }
    .bcm-detail-card { padding: 20px; }
    .bcm-detail-subject { font-size: 18px; }
}
/* === END S58 A2-v2 bcm-* === */

/* ============================================================
   S58 A3 — bcform-* public business contact form
   Two-column layout: form (main) + helpful panel (right).
   Mobile-first; panel stacks below form at <992px.
   ============================================================ */
.bcform-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 22px;
    margin-top: 8px;
}
@media (max-width: 991.98px) {
    .bcform-grid { grid-template-columns: 1fr; }
}

/* === Main form card === */
.bcform-card {
    background: #fff;
    border: 1px solid #e8eaf2;
    border-radius: 14px;
    padding: 28px 32px;
}
.bcform-header {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f0f5;
}
.bcform-title {
    margin: 0 0 6px;
    font-size: 20px;
    font-weight: 700;
    color: #0b0b2f;
    line-height: 1.3;
}
.bcform-subtitle {
    margin: 0;
    font-size: 13.5px;
    color: #6c7393;
    line-height: 1.5;
}

/* === Form rows === */
.bcform-form { display: flex; flex-direction: column; gap: 18px; }
.bcform-row { display: flex; flex-direction: column; gap: 18px; }
.bcform-row--split {
    flex-direction: row;
    gap: 16px;
}
@media (max-width: 575.98px) {
    .bcform-row--split { flex-direction: column; }
}
.bcform-field {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.bcform-label {
    font-size: 12.5px;
    font-weight: 600;
    color: #3e4661;
    margin: 0;
}
.bcform-input,
.bcform-textarea {
    width: 100%;
    padding: 11px 14px;
    background: #fff;
    border: 1px solid #d0d5e4;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    color: #0b0b2f;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.bcform-input::placeholder,
.bcform-textarea::placeholder { color: #9aa0bc; }
.bcform-input:focus,
.bcform-textarea:focus {
    outline: none;
    border-color: #3A43D1;
    box-shadow: 0 0 0 3px rgba(58, 67, 209, 0.12);
}
.bcform-textarea { resize: vertical; min-height: 140px; }
.bcform-help {
    margin: 4px 0 0;
    font-size: 11.5px;
    color: #8b91a8;
    line-height: 1.45;
}

.bcform-captcha-row { align-items: flex-start; }

.bcform-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 6px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f5;
}
.bcform-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.bcform-btn--primary {
    background: #3A43D1;
    color: #fff;
}
.bcform-btn--primary:hover {
    background: #2d34a8;
    color: #fff;
}
.bcform-btn--ghost {
    background: #fff;
    color: #3e4661;
    border-color: #d0d5e4;
}
.bcform-btn--ghost:hover {
    background: #f5f6ff;
    border-color: #3A43D1;
    color: #3A43D1;
}

/* === Side panel === */
.bcform-aside {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.bcform-aside-card {
    background: #fff;
    border: 1px solid #e8eaf2;
    border-radius: 14px;
    padding: 18px 20px;
}
.bcform-aside-card--branch {
    background: #f5f6ff;
    border-color: #d6d9f5;
}
.bcform-aside-card--review {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: linear-gradient(135deg, #fff8eb, #fff);
    border-color: #f5e3b5;
}
.bcform-review-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    object-fit: contain;
    /* Tint star to brand teal (matches "For Businesses" pill) */
    filter: brightness(0) saturate(100%) invert(72%) sepia(58%) saturate(521%) hue-rotate(118deg) brightness(94%) contrast(91%);
}
.bcform-aside-title {
    margin: 0 0 12px;
    font-size: 12.5px;
    font-weight: 700;
    color: #0b0b2f;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.bcform-aside-title--branch {
    text-transform: none;
    letter-spacing: 0;
    font-size: 15px;
    color: #0b0b2f;
    margin-bottom: 6px;
}
.bcform-aside-meta {
    margin: 0 0 12px;
    font-size: 12.5px;
    color: #6c7393;
    line-height: 1.5;
}

.bcform-aside-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.bcform-aside-list li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.bcform-aside-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ebedf6;
    color: #3A43D1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}
.bcform-aside-step {
    font-size: 13px;
    font-weight: 600;
    color: #0b0b2f;
    line-height: 1.4;
    margin-bottom: 2px;
}
.bcform-aside-hint {
    font-size: 11.5px;
    color: #6c7393;
    line-height: 1.45;
}

.bcform-aside-action {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 10px 0;
    color: inherit;
    text-decoration: none;
    border-top: 1px solid #f0f0f5;
}
.bcform-aside-action:first-of-type { border-top: none; padding-top: 4px; }
.bcform-aside-action:hover { color: #3A43D1; text-decoration: none; }
.bcform-aside-action i {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ebedf6;
    color: #3A43D1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}
.bcform-aside-action span:not([class]) {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}
.bcform-aside-action-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8b91a8;
}
.bcform-aside-action-value {
    font-size: 13px;
    color: #3e4661;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bcform-aside-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: #3A43D1;
    color: #fff;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
}
.bcform-aside-cta:hover { background: #2d34a8; color: #fff; }

.bcform-aside-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 600;
    color: #3A43D1;
    text-decoration: none;
}
.bcform-aside-link:hover { color: #2d34a8; text-decoration: underline; }

.bcform-branch-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    background: #fff;
    border: 1px solid #d6d9f5;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #3A43D1;
    margin-bottom: 8px;
}

@media (max-width: 575.98px) {
    .bcform-card { padding: 22px 20px; }
    .bcform-title { font-size: 17px; }
}
/* === END S58 A3 bcform-* === */

/* S78 pricing: billed-annually note */
body.business-home .pc-billed-annually{ font-size:12px; color:var(--pc-muted); margin:-4px 0 8px; font-weight:500; }
body.business-home .pc-card--premium .pc-billed-annually{ color:rgba(255,255,255,0.55); }

/* S78 integration upgrade interstitial */
body.business-home .integration-upgrade-icon,.integration-upgrade-icon{ width:84px;height:84px;border-radius:22px;background:rgba(58,67,209,0.10);color:#3A43D1;display:grid;place-items:center;font-size:38px;margin:0 auto; }
.integration-upgrade-previews{ display:flex;gap:18px;justify-content:center;font-size:28px;color:#c3c8e6; }
.integration-upgrade-wrap{ border:1px dashed #d6daff;border-radius:20px;background:#fafbff; }

/* S79 plan comparison matrix */
.pc-compare-section{ padding:32px 0 8px; }
.pc-compare-head{ display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px; }
.pc-compare-title{ font-size:24px;font-weight:800;color:#0D1B4B;margin:0; }
.pc-compare-toggle{ display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid #e3e6f3;color:#3A43D1;font-weight:700;font-size:14px;padding:10px 18px;border-radius:12px;cursor:pointer;transition:all .15s ease; }
.pc-compare-toggle:hover{ border-color:#3A43D1;background:#f5f6ff; }
.pc-compare-toggle .bi{ transition:transform .2s ease; }
.pc-compare-toggle--open .bi{ transform:rotate(180deg); }
.pc-compare-toggle .pc-compare-toggle-hide{ display:none; }
.pc-compare-toggle--open .pc-compare-toggle-show{ display:none; }
.pc-compare-toggle--open .pc-compare-toggle-hide{ display:inline; }
.pc-compare-scroll{ overflow-x:auto;border:1px solid #eaecf4;border-radius:16px;background:#fff; }
.pc-compare-table{ width:100%;border-collapse:collapse;min-width:680px; }
.pc-compare-table th,.pc-compare-table td{ text-align:center;padding:13px 14px;font-size:14px; }
.pc-compare-feature-col,.pc-compare-feature{ text-align:left !important; }
.pc-compare-planrow{ position:sticky;top:0;background:#fff;z-index:2;box-shadow:0 1px 0 #eaecf4; }
.pc-compare-plan-col{ border-bottom:2px solid #eaecf4; }
.pc-compare-plan-col--featured{ background:#f5f6ff; }
.pc-compare-plan-name{ display:block;font-weight:800;color:#0D1B4B;font-size:15px; }
.pc-compare-plan-price{ display:block;font-size:13px;color:#5a6080;margin-top:2px; }
.pc-compare-plan-per{ font-size:11px;color:#8a8fa8; }
.pc-compare-grouprow .pc-compare-group{ text-align:left;background:#0D1B4B;color:#fff;font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:9px 14px; }
.pc-compare-row{ border-bottom:1px solid #f0f1f7; }
.pc-compare-row:hover{ background:#fafbff; }
.pc-compare-feature{ color:#1a1f36;font-weight:600; }
.pc-compare-feature--sub{ padding-left:30px !important;font-weight:500;color:#5a6080;position:relative; }
.pc-compare-feature--sub::before{ content:"";position:absolute;left:14px;top:50%;width:8px;height:1px;background:#c3c8e6; }
.pc-compare-cell--featured{ background:#f5f6ff; }
.pc-compare-yes{ color:#0BA08A;font-weight:800;font-size:16px; }
.pc-compare-no{ color:#cfd3e6;font-size:15px; }
.pc-compare-val{ color:#1a1f36;font-weight:700; }
@media (max-width:640px){ .pc-compare-title{ font-size:20px; } .pc-compare-table th,.pc-compare-table td{ padding:10px 9px;font-size:13px; } }
