/* ONBID public pages — inherits the existing home.css visual language */
.public-page { background:#f5f7fa; color:#263244; font-family:Roboto,Arial,sans-serif; }
.public-page h1,.public-page h2,.public-page h3,.public-page h4 { font-family:'Josefin Sans',sans-serif; }
.public-navbar { margin-bottom:0; border-radius:0; border:0; }
.public-navbar .navbar-nav>li>a { transition:color .2s ease, opacity .2s ease; }
.public-navbar .navbar-nav>li>a:hover { opacity:.78; }
.public-hero { position:relative; overflow:hidden; padding:76px 0 72px; color:#fff; background:#17212d; }
.public-hero:before { content:""; position:absolute; width:420px; height:420px; right:-130px; top:-210px; border-radius:50%; border:1px solid rgba(255,255,255,.12); box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.02); }
.public-hero:after { content:""; position:absolute; width:260px; height:260px; left:-150px; bottom:-180px; border-radius:50%; background:rgba(246,84,106,.09); }
.public-hero .container { position:relative; z-index:1; }
.public-eyebrow { display:inline-block; margin-bottom:13px; color:#f7b84b; font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; }
.public-hero h1 { margin:0 0 16px; max-width:760px; color:#fff; font-size:clamp(32px,4vw,48px); line-height:1.15; font-weight:700; }
.public-hero p { max-width:680px; margin:0; color:rgba(255,255,255,.76); font-size:16px; line-height:1.8; }
.public-hero-meta { margin-top:25px; color:rgba(255,255,255,.7); font-size:13px; }
.public-hero-meta i { margin-right:7px; color:#f7b84b; }
.public-content { padding:48px 0 68px; }
.public-card { height:100%; padding:28px; margin-bottom:24px; border:1px solid #e7ebf0; border-radius:12px; background:#fff; box-shadow:0 8px 26px rgba(24,39,56,.045); transition:transform .22s ease,border-color .22s ease; }
.public-card:hover { transform:translateY(-3px); border-color:#d6dee8; }
.public-card h2,.public-card h3 { margin-top:0; color:#202c3b; }
.public-card p,.public-card li { color:#667386; line-height:1.8; }
.public-card .public-icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; margin-bottom:18px; border-radius:12px; color:#f6546a; background:#fff0f2; font-size:19px; }
.public-section-title { margin:0 0 10px; color:#202c3b; font-size:28px; font-weight:700; }
.public-section-lead { margin:0 0 28px; color:#718096; line-height:1.8; }
.public-breadcrumb { margin-bottom:18px; color:rgba(255,255,255,.6); font-size:12px; }
.public-breadcrumb a { color:#fff; }
.public-list { padding-left:20px; }
.public-list li { margin-bottom:9px; }
.public-info-line { display:flex; gap:14px; align-items:flex-start; padding:17px 0; border-bottom:1px solid #edf0f4; }
.public-info-line:last-child { border-bottom:0; }
.public-info-line i { width:20px; padding-top:4px; color:#f6546a; }
.public-info-line strong { display:block; margin-bottom:4px; color:#273548; }
.public-info-line span { color:#6f7b8c; line-height:1.65; overflow-wrap:anywhere; }
.public-btn-dark { background:#202c3b; color:#fff; border:0; border-radius:6px; padding:12px 18px; font-weight:700; transition:transform .2s ease,background .2s ease; }
.public-btn-dark:hover,.public-btn-dark:focus { background:#2d3c50; color:#fff; transform:translateY(-1px); }
.public-filter-bar { display:flex; gap:12px; margin-bottom:22px; }
.public-filter-bar .form-control { height:46px; border-radius:7px; border-color:#dfe5ec; box-shadow:none; }
.public-price-table-wrap { overflow:hidden; border:1px solid #e7ebf0; border-radius:10px; background:#fff; }
.public-price-table { margin-bottom:0; }
.public-price-table thead { background:#202c3b; color:#fff; }
.public-price-table thead th { padding:15px 18px; border:0; font-weight:600; }
.public-price-table tbody td { padding:14px 18px; vertical-align:middle; border-top:1px solid #edf0f4; }
.public-price-table tbody tr:hover { background:#fafbfd; }
.public-price-value { color:#23945a; font-weight:700; white-space:nowrap; }
.public-pill { display:inline-block; padding:5px 9px; border-radius:30px; color:#68778b; background:#f0f3f7; font-size:11px; font-weight:700; }
.public-empty { padding:35px 20px; text-align:center; color:#778396; }
.public-note { padding:15px 18px; margin-top:18px; border-left:3px solid #f6b84b; border-radius:5px; background:#fff9ed; color:#75684f; line-height:1.7; }
.public-faq-item { margin-bottom:12px; border:1px solid #e7ebf0; border-radius:9px; background:#fff; overflow:hidden; }
.faq-question { display:flex; align-items:center; justify-content:space-between; width:100%; padding:19px 21px; border:0; background:#fff; text-align:left; color:#253245; font-weight:700; line-height:1.5; }
.faq-question:hover { background:#fafbfd; }
.faq-toggle { margin-left:16px; color:#f6546a; transition:transform .2s ease; }
.faq-toggle.is-open { transform:rotate(45deg); }
.faq-answer { padding:0 21px 20px; color:#69778a; line-height:1.8; }
.public-cta { padding:0 0 48px; }
.public-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:30px 34px; border-radius:12px; background:#202c3b; color:#fff; }
.public-cta-inner h2 { margin:0 0 8px; color:#fff; font-size:25px; }
.public-cta-inner p { margin:0; color:rgba(255,255,255,.68); line-height:1.7; }
.public-cta-btn { flex-shrink:0; padding:12px 18px; border:0; border-radius:6px; font-weight:700; }
.public-cta-btn i { margin-left:8px; }
.public-footer { padding:36px 0 0; background:#17212d; color:rgba(255,255,255,.72); }
.public-footer h4 { margin:0 0 16px; color:#fff; font-weight:700; }
.public-footer ul { padding:0; list-style:none; }
.public-footer li { margin-bottom:10px; }
.public-footer a { color:rgba(255,255,255,.72); transition:color .2s ease; }
.public-footer a:hover { color:#fff; text-decoration:none; }
.public-footer-note { font-size:13px; line-height:1.8; }
.public-footer-note i { margin-right:7px; color:#f7b84b; }
.public-footer-bottom { display:flex; justify-content:space-between; gap:15px; margin-top:25px; padding:18px 0; border-top:1px solid rgba(255,255,255,.1); font-size:12px; }
@media (max-width:767px) {
 .public-hero { padding:52px 0 48px; }
 .public-hero h1 { font-size:32px; }
 .public-content { padding:30px 0 42px; }
 .public-card { padding:22px; }
 .public-filter-bar { flex-direction:column; }
 .public-cta-inner { align-items:flex-start; flex-direction:column; padding:25px; }
 .public-footer-col { min-height:130px; }
 .public-footer-bottom { flex-direction:column; }
}
