/* Public and legal pages. Load after landing.css. */
.zd-page.zd-public { font-size: 14px; }
.zd-page.zd-public [hidden] { display: none !important; }
.zd-page.zd-public .zd-public-hero { padding-block: 28px 42px; background: linear-gradient(115deg,#e5f9f5,#eff7ff); border-block: 1px solid #e4edf5; }
.zd-page.zd-public .breadcrumb { font-size: 14px; margin-bottom: 28px; }
.zd-page.zd-public .breadcrumb a { color: var(--zd-muted); }
.zd-page.zd-public .zd-public-hero h1 { font-size: clamp(30px,4vw,48px); margin-bottom: 16px; line-height: 1.15; }
.zd-page.zd-public .zd-public-hero p { font-size: 17px; max-width: 740px; margin: 0; line-height: 1.65; }
.zd-page.zd-public .nav-link[aria-current="page"] { color: var(--zd-teal-dark); font-weight: 700; }
.zd-page.zd-public .zd-public-card { border: 1px solid var(--zd-border); padding: 26px; border-radius: 14px; height: 100%; background: #fff; }
.zd-page.zd-public .zd-public-card h2, .zd-page.zd-public .zd-public-note h2, .zd-page.zd-public .zd-legal-toc h2 { font-size: 21px; margin-bottom: 14px; }
.zd-page.zd-public .zd-public-card p { line-height: 1.7; }
.zd-page.zd-public .zd-contact-card { box-shadow: 0 12px 36px rgba(18,39,86,.06); }
.zd-page.zd-public :is(#zd-contact-form, #zd-appeal-form) .form-label { font-weight: 600; margin-bottom: 8px; }
.zd-page.zd-public :is(#zd-contact-form, #zd-appeal-form) :is(.form-control, .form-select) { min-height: 48px; font-size: 14px; border-radius: 9px; border-color: #bdcddd; background-color: #f8fafc; color: var(--zd-navy); }
.zd-page.zd-public :is(#zd-contact-form, #zd-appeal-form) :is(.form-control, .form-select):focus { border-color: var(--zd-teal-dark); background-color: #fff; box-shadow: 0 0 0 3px rgba(0,127,124,.12); }
.zd-page.zd-public :is(#zd-contact-form, #zd-appeal-form) :is(.form-control, .form-select).is-invalid { border-color: var(--bs-danger); }
.zd-page.zd-public :is(#zd-contact-form, #zd-appeal-form) .form-text { font-size: 14px; color: var(--zd-muted); }
.zd-page.zd-public .zd-contact-captcha img { max-width: 100%; height: auto; cursor: pointer; }
.zd-page.zd-public .zd-contact-captcha-input { flex: 1 1 160px; min-width: 0; }
.zd-page.zd-public .zd-public-tag { display: inline-block; color: var(--zd-teal-dark); background: #e8f8f3; padding: 5px 10px; border-radius: 6px; font-weight: 600; margin-bottom: 14px; }
.zd-page.zd-public .zd-source-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-bottom: 20px; min-height: 80px; }
.zd-page.zd-public .zd-source-heading .zd-public-tag { margin: 0; }
.zd-page.zd-public .zd-source-logo { width: 88px; height: 80px; object-fit: contain; flex-shrink: 0; }
.zd-page.zd-public .zd-source-logo--wide { width: 180px; }
.zd-page.zd-public .zd-faq .accordion-button { text-align: left; }
.zd-page.zd-public .zd-public-note { padding: 24px; border-radius: 12px; background: #f2f7fc; border: 1px solid var(--zd-border); }
.zd-page.zd-public .zd-public-note p { line-height: 1.7; }
.zd-page.zd-public .zd-public-cta { display: flex; justify-content: space-between; gap: 24px; align-items: center; background: #e7f8f4; border-radius: 16px; padding: 32px; }
.zd-page.zd-public .zd-public-cta h2 { font-size: 25px; margin-bottom: 8px; }
.zd-page.zd-public .zd-public-cta p { margin-bottom: 0; }
.zd-page.zd-public .zd-public-cta .btn { flex-shrink: 0; }
.zd-page.zd-public .zd-public-narrow { max-width: 900px; }
.zd-page.zd-public #zd-faq-search { min-height: 48px; font-size: 14px; border-color: var(--zd-border); }
.zd-page.zd-public .zd-legal-draft { padding: 20px 24px; background: #fff5e4; border: 1px solid #efdfbd; border-radius: 12px; margin-bottom: 32px; color: #865018; }
.zd-page.zd-public .zd-legal-draft p { color: #865018; margin-top: 7px; }
.zd-page.zd-public .zd-legal-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 42px; align-items: start; }
.zd-page.zd-public .zd-legal-toc { position: sticky; top: 24px; padding: 22px; border: 1px solid var(--zd-border); border-radius: 12px; background: #f8fbfd; }
.zd-page.zd-public .zd-legal-toc ol { padding-left: 20px; margin-bottom: 22px; }
.zd-page.zd-public .zd-legal-toc li { margin-bottom: 13px; }
.zd-page.zd-public .zd-legal-toc a { color: var(--zd-muted); text-decoration: none; }
.zd-page.zd-public .zd-legal-toc a:hover { color: var(--zd-teal-dark); text-decoration: underline; }
.zd-page.zd-public .zd-legal-text { max-width: 780px; line-height: 1.8; min-width: 0; overflow-wrap: anywhere; }
.zd-page.zd-public .zd-legal-text section { scroll-margin-top: 24px; margin-bottom: 35px; }
.zd-page.zd-public .zd-legal-text h2 { font-size: 23px; margin-bottom: 17px; letter-spacing: -.02em; }
.zd-page.zd-public .zd-legal-text a { color: var(--zd-teal-dark); }
.zd-page.zd-public .zd-legal-details { background: #f6f9fc; padding: 20px; border-radius: 10px; }
.zd-page.zd-public .zd-legal-details dt { margin-top: 12px; }
.zd-page.zd-public .zd-legal-details dt:first-child { margin-top: 0; }
.zd-page.zd-public .zd-legal-details dd { margin: 3px 0 0; color: var(--zd-muted); }
.zd-page.zd-public .zd-legal-text .table { min-width: 520px; font-size: 14px; }
@media (max-width: 991.98px) { .zd-page.zd-public .zd-legal-layout { grid-template-columns: 1fr; gap: 28px; } .zd-page.zd-public .zd-legal-toc { position: static; } }
@media (max-width: 767.98px) { .zd-page.zd-public .zd-public-hero { padding-block: 24px 32px; } .zd-page.zd-public .zd-public-cta { flex-direction: column; align-items: stretch; padding: 24px; } .zd-page.zd-public .zd-public-card { padding: 22px; } }
@media print { @page { margin: 15mm; } .zd-page.zd-public .zd-header, .zd-page.zd-public .zd-footer, .zd-page.zd-public .modal, .zd-page.zd-public .zd-skip, .zd-page.zd-public .zd-legal-toc, .zd-page.zd-public .breadcrumb { display: none !important; } .zd-page.zd-public .zd-public-hero { background: #fff; padding-block: 0 20px; } .zd-page.zd-public .zd-section { padding-block: 10px; } .zd-page.zd-public .zd-legal-layout { display: block; } .zd-page.zd-public .zd-legal-text { max-width: none; } .zd-page.zd-public .zd-legal-text h2 { break-after: avoid; } .zd-page.zd-public .zd-legal-draft { break-inside: avoid; } .zd-page.zd-public .table-responsive { overflow: visible; } .zd-page.zd-public .zd-legal-text .table { min-width: 0; } }
.zd-document-plain { white-space: pre-wrap; overflow-wrap: anywhere; }
