/*
 * Public website: brand type + colour + layout refinements (logo palette: black and WhatsApp green).
 * Loaded after style.css from website/themes/modern/master.blade.php. Delete that <link> to roll back to the stock theme.
 * Hand-written overrides only; no section markup was changed.
 */
:root {
    --font-default: "Source Sans 3", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
    --color-primary: #129b2e;
    --color-primary-rgb: 18, 155, 46;
    --bs-primary: #129b2e;
    --bs-primary-rgb: 18, 155, 46;
    --color-heading: #0a0a0a;
    --color-content: #3a443d;
    --color-content2: #5b665e;
    --color-secondary: #f4f7f5;
    --color-border: #e4eae6;
    --br-green: #129b2e;
    --br-green-strong: #0f8a27;
    --br-green-dark: #0b6f1f;
    --br-green-soft: #e8f6eb;
    --br-ink: #0a0a0a;
    --br-line: #e4eae6;
    --br-wash: #f4f7f5;
}
html { scroll-behavior: smooth; }
body, h1, h2, h3, h4, h5, h6, p, a, li, span, button, input, select, textarea, label, .btn { font-family: var(--font-default); }
body { font-size: 17px; line-height: 1.65; color: var(--br-text, #3a443d); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { color: var(--br-ink); letter-spacing: -0.012em; }
@media (min-width: 1200px) { .container { max-width: 1180px; } }

/* ---------- buttons ---------- */
.btn { border-radius: 10px; font-size: 16px; font-weight: 600; padding: 0 20px; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; letter-spacing: 0; text-transform: none; box-shadow: none; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.btn-primary { --bs-btn-bg: #129b2e; --bs-btn-border-color: #129b2e; --bs-btn-hover-bg: #0f8a27; --bs-btn-hover-border-color: #0f8a27; --bs-btn-active-bg: #0b6f1f; --bs-btn-active-border-color: #0b6f1f; background: #129b2e; border-color: #129b2e; color: #fff; }
.btn-primary:hover, .btn-primary:focus { background: #0f8a27; border-color: #0f8a27; color: #fff; }
.btn-secondary { background: #fff; border: 1.5px solid var(--br-ink); color: var(--br-ink); }
.btn-secondary:hover, .btn-secondary:focus { background: var(--br-ink); border-color: var(--br-ink); color: #fff; }
.btn:focus-visible { outline: 3px solid rgba(18, 155, 46, .35); outline-offset: 2px; }

/* ---------- header: flat bar instead of the floating pill ---------- */
.header { top: 0 !important; background: #fff; border-bottom: 1px solid var(--br-line); box-shadow: none !important; }
.header .nav { background: #fff !important; }
.header__wrapper, .nav-bg .header__wrapper { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; min-height: 72px; padding: 0 !important; }
.header__logo a img { max-height: 44px; width: auto; }
.header__wrapper .header__menu .main__menu li a { color: var(--br-ink) !important; font-size: 16px; font-weight: 500; line-height: 72px; text-transform: none; }
.header__wrapper .header__menu .main__menu li a:hover, .header__wrapper .header__menu .main__menu li.active a { color: var(--br-green-dark) !important; }
.header__wrapper .header__menu .main__menu li a::before { bottom: 18px; height: 2px; }
.header__wrapper .header__menu .main__menu li:last-child a { color: var(--br-ink) !important; }
.language__dropdown .selected { color: var(--br-ink); font-size: 15px; font-weight: 500; }
.header__meta .header__btn .btn { min-height: 42px; padding: 0 18px; }
.nav-bg { background: #fff !important; box-shadow: none !important; }
@media (max-width: 991px) { .header__wrapper { min-height: 60px; padding: 0 !important; } }

/* ---------- hero ---------- */
.banner__section { padding-top: 140px; padding-bottom: 20px; background: #fff; background-image: radial-gradient(ellipse 70% 55% at 50% 0%, rgba(18, 155, 46, .09), transparent 70%); }
.banner__section::before { opacity: .35; }
.hero__text { max-width: 860px; }
.hero__text .title { font-size: 56px; line-height: 1.08; font-weight: 700; letter-spacing: -0.025em; text-transform: none; }
.hero__text .subtitle { font-size: 15px; font-weight: 600; color: var(--br-green-dark); background: var(--br-green-soft); border: 0; border-radius: 999px; padding: 6px 14px 6px 8px; text-transform: none; }
.banner__list li { font-size: 19px; line-height: 1.6; color: var(--color-content2); }
.banner__list li::before { display: none; }
.hero__text .btn__group { gap: 12px; margin-top: 8px; }
.banner__thumb { margin-top: 40px; }
.banner__thumb img { border-radius: 16px; border: 1px solid var(--br-line); box-shadow: 0 24px 60px -24px rgba(10, 20, 12, .28); }
@media (max-width: 991px) { .hero__text .title { font-size: 42px; } }
@media (max-width: 575px) {
    .banner__section { padding-top: 104px; }
    .hero__text .title { font-size: 34px; line-height: 1.12; }
    .banner__list li { font-size: 17px; }
    .hero__text .btn__group { flex-direction: column; align-items: stretch; }
    .hero__text .btn__group .btn { width: 100%; }
}

/* ---------- section headings ---------- */
.section__title .subtitle { font-size: 14px; font-weight: 600; color: var(--br-green-dark); background: var(--br-green-soft); border: 0; border-radius: 999px; padding: 5px 14px 5px 6px; text-transform: none; }
.section__title .title { font-size: 40px; line-height: 1.15; font-weight: 700; letter-spacing: -0.02em; }
.section__title p, .section__title .desc { font-size: 18px; line-height: 1.6; color: var(--color-content2); }
@media (max-width: 767px) { .section__title .title { font-size: 30px; line-height: 1.2; } .section__title p, .section__title .desc { font-size: 16.5px; } }

/* ---------- section rhythm: white, then a soft wash, no heavy boxes ---------- */
.bg-color { background: var(--br-wash) !important; }
.py-100 { padding-top: 88px !important; padding-bottom: 88px !important; }
@media (max-width: 767px) { .py-100 { padding-top: 56px !important; padding-bottom: 56px !important; } }
.partner__wrapper .partner__title { font-size: 15px; font-weight: 600; letter-spacing: .02em; color: var(--color-content2); }

/* ---------- cards ---------- */
.storyCard, .advantageCard, .pricing__item { border: 1px solid var(--br-line); border-radius: 14px; box-shadow: none; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.storyCard:hover, .advantageCard:hover { border-color: #b9d8c0; }
.story__wrapper { background: var(--br-ink); border-radius: 20px; }
.story__wrapper .section__title .title, .story__wrapper h2, .story__wrapper h3 { color: #fff; }
.advantageCard .content .title { font-size: 19px; font-weight: 600; }
.advantageCard .content .desc { color: var(--color-content2); font-size: 16px; }
.advantageCard .icon { background: var(--br-green-soft); border-radius: 12px; }

/* ---------- feature rows / tabs / accordion ---------- */
.feature__inner .feature__thumb img, .unique__feature img { border-radius: 14px; }
.feature__list .heading .title { font-size: 24px; font-weight: 700; }
.feature__list .feature__item p { font-size: 17px; color: var(--color-content2); }
.accordion__wrapper .accordionjs .accordion__main { border: 1px solid var(--br-line); border-radius: 12px; background: #fff; box-shadow: none; }
.accordion__wrapper .accordionjs .accordion__main.acc_active { border-color: var(--br-green); background: #fff; }
.accordion__wrapper .accordionjs .accordion__tab { font-weight: 600; font-size: 17px; }
.accordion__wrapper .accordionjs .accordion__tab:hover { color: var(--br-green-dark); }
.accordion__wrapper .accordionjs .accordion__panel .desc { color: var(--color-content2); font-size: 16.5px; }
.nav-pills .nav-link, .nav-tabs .nav-link { font-weight: 600; border-radius: 10px; color: var(--br-ink); }
.nav-pills .nav-link.active, .nav-tabs .nav-link.active { background: var(--br-green); color: #fff; }

/* ---------- pricing ---------- */
.pricing__grid { gap: 20px; }
.pricing__item { padding: 28px; }
.pricing__item:hover { border-color: var(--br-green); box-shadow: 0 0 0 3px rgba(18, 155, 46, .12); transform: none; }
.pricing__item:has(.badges) { border-color: var(--br-green); }
.pricing__item .pricing__header .title { font-size: 22px; font-weight: 700; }
.pricing__item .pricing__header .title .badges { background: var(--br-green-soft); color: var(--br-green-dark); border: 0; border-radius: 999px; font-size: 12px; font-weight: 700; padding: 3px 10px; }
.pricing__item .pricing__tag .price { font-size: 38px; font-weight: 700; color: var(--br-green-dark); letter-spacing: -0.02em; }
.pricing__item .pricing__features li { font-size: 16px; }
.pricing__item .pricing__features li::before { color: var(--br-green); }
.pricing__item .pricing__btn .btn { width: 100%; }
.pricing__item .btn { background: #fff; color: var(--br-ink); border: 1.5px solid var(--br-ink); }
.pricing__item:hover .btn, .pricing__item:has(.badges) .btn { background: var(--br-green); border-color: var(--br-green); color: #fff; }

/* ---------- call to action + footer ---------- */
.ctaBox__wrapper { border-radius: 20px; background: var(--br-ink); }
.ctaBox__wrapper .ctaBox__content .title { font-size: 30px; font-weight: 700; color: #fff; letter-spacing: -0.015em; }
.footer__section { background: #fff; border-top: 1px solid var(--br-line); }
.footer__wrapper .footer__widget .widget__title { font-size: 17px; font-weight: 700; color: var(--br-ink); }
.footer__wrapper .footer__widget .widget__list li a { color: var(--color-content2); font-size: 16px; }
.footer__wrapper .footer__widget .widget__list li a:hover { color: var(--br-green-dark); }
.footer__bottom { border-top: 1px solid var(--br-line); }

/* ---------- forms on public pages ---------- */
.form-control, .form-select { border-radius: 10px; border-color: #cfd9d2; min-height: 46px; font-size: 16px; }
.form-control:focus, .form-select:focus { border-color: var(--br-green); box-shadow: 0 0 0 3px rgba(18, 155, 46, .18); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* call-to-action buttons sit on black */
.ctaBox__wrapper .btn-secondary { background: transparent; border-color: #fff; color: #fff; }
.ctaBox__wrapper .btn-secondary:hover, .ctaBox__wrapper .btn-secondary:focus { background: #fff; border-color: #fff; color: var(--br-ink); }

/* ---------- plan card details: only what the plan includes ---------- */
.pricing__item .pr-trial { display: inline-flex; align-items: center; gap: 6px; margin: 4px 0 12px; padding: 5px 11px; background: var(--br-green-soft); color: var(--br-green-dark); border-radius: 8px; font-size: 14.5px; font-weight: 600; line-height: 1.2; }
.pricing__item .pr-trial i { font-size: 16px; }
.pricing__item .pricing__features li.pr-limit { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pricing__item .pricing__features li.pr-limit span { margin-left: auto; font-weight: 600; color: var(--br-ink); }
.pricing__item .pricing__features li.pr-service { display: flex; align-items: center; justify-content: flex-start; gap: 9px; }
.pricing__item .pricing__features li.pr-service i { color: var(--br-green); font-size: 17px; flex: 0 0 auto; }
.pricing__item .pricing__features li.pr-limit + li.pr-service { margin-top: 10px; padding-top: 14px; border-top: 1px solid var(--br-line); }
.pricing__item .pricing__features li.pr-service::before, .pricing__item .pricing__features li.pr-limit::before { display: none; }
.pricing__item .pricing__features { padding-left: 0; margin-left: 0; list-style: none; }

/* ---------- plan cards, round 2: lighter weights, icon rows ---------- */
.pricing__item .pricing__header .title { font-weight: 600; font-size: 21px; }
.pricing__item .pricing__header .title .badges { font-weight: 500; font-size: 12px; }
.pricing__item .pricing__tag .price { font-weight: 600; font-size: 34px; letter-spacing: -0.015em; }
.pricing__item .pricing__tag sub { font-size: 14px; font-weight: 400; color: var(--color-content2); }
.pricing__item .pr-trial { font-weight: 500; font-size: 14px; background: #f0f8f2; border: 1px solid #d6ecdb; }
.pricing__item .pricing__features li.pr-limit, .pricing__item .pricing__features li.pr-service { display: flex; align-items: center; gap: 12px; padding: 7px 0; font-size: 15.5px; font-weight: 400; color: var(--br-ink); }
.pricing__item .pricing__features li.pr-limit > i, .pricing__item .pricing__features li.pr-service > i:first-child { width: 30px; height: 30px; flex: 0 0 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: #f1f5f2; color: #4d5a51; font-size: 16px; }
.pricing__item .pricing__features li.pr-service > i:first-child { background: var(--br-green-soft); color: var(--br-green-dark); }
.pricing__item .pricing__features li em { font-style: normal; flex: 1; min-width: 0; color: var(--color-content); }
.pricing__item .pricing__features li.pr-limit span { margin-left: auto; font-weight: 500; font-variant-numeric: tabular-nums; color: var(--br-ink); }
.pricing__item .pricing__features li .pr-tick { margin-left: auto; width: auto; height: auto; flex: 0 0 auto; background: transparent; color: var(--br-green); font-size: 18px; }
.pricing__item .pricing__features li.pr-heading { margin: 10px 0 2px; padding: 14px 0 4px; border-top: 1px solid var(--br-line); font-size: 13px; font-weight: 500; color: var(--color-content2); text-transform: none; letter-spacing: 0; }
.pricing__item .pricing__features li.pr-limit + li.pr-heading { margin-top: 8px; }
.pricing__item .pricing__features li.pr-limit + li.pr-service { margin-top: 0; padding-top: 7px; border-top: 0; }
.pricing__item .pricing__btn .btn { font-weight: 500; }
.pricing__item .pr-trial { display: flex; width: fit-content; margin: 6px 0 14px; }
.pricing__item .pricing__features li.pr-heading::before, .pricing__item .pricing__features li.pr-heading::after { display: none !important; content: none !important; }
.pricing__item .pricing__features li.pr-heading { padding-left: 0; }

/* pricing card description: readable size and weight */
.pricing__item .pricing__header .desc, .pricing__item p.desc { font-size: 16px; font-weight: 500; line-height: 1.55; color: #3a443d; }
