.ca-directory-entry { background:#fff; color:#263e48; }
.ca-directory-entry [hidden] { display:none !important; }
.ca-directory-entry main.container { max-width:var(--ca-catalog-width,1280px); width:100%; margin-inline:auto; padding:22px 24px 36px; }
.ca-directory-entry main * { letter-spacing:0; }
.ca-entry-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:14px; margin-bottom:24px; }
.ca-entry-heading { padding-bottom:24px; }
.ca-entry-eyebrow { color:#5c7078; font-size:13px; font-weight:500; margin-bottom:6px; }
.ca-directory-entry h1 { margin:0 0 12px; font-size:30px; line-height:1.25; font-weight:700; color:#1f4e5f; }
.ca-entry-intro { max-width:840px; margin:0 0 20px; color:#425b65; font-size:17px; line-height:1.6; }
.ca-entry-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ca-directory-entry .btn { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:46px; margin:0; padding:11px 16px; border-radius:6px; text-transform:none; font-size:15px; font-weight:700; line-height:1.4; white-space:normal; box-shadow:none; }
.ca-directory-entry .btn-primary { color:#fff; background:#1f4e5f; border:1px solid #1f4e5f; }
.ca-directory-entry .btn-primary:hover { background:#163946; }
.ca-directory-entry .btn-outline-primary { color:#1f4e5f; border:1px solid #1f4e5f; background:#fff; }
.ca-directory-entry .btn-outline-primary:hover { background:#edf4f6; }
.ca-entry-text-link { display:inline-flex; align-items:center; gap:8px; color:#1f4e5f; font-weight:500; font-size:15px; min-height:44px; }
.ca-entry-text-link:hover { color:#163946; text-decoration:underline; }
.ca-directory-entry a:focus-visible,.ca-directory-entry summary:focus-visible { outline:3px solid #d99416; outline-offset:3px; }
.ca-entry-facts { display:flex; gap:12px 28px; flex-wrap:wrap; color:#425b65; font-size:14px; margin:18px 0 0; }
.ca-entry-facts span { display:inline-flex; gap:8px; align-items:center; }
.ca-entry-balance { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 24px; background:#eef6f3; border-left:4px solid #2d8072; padding:16px 20px; margin-top:22px; font-size:15px; }
.ca-entry-balance>div { flex:1 1 320px; min-width:0; }
.ca-entry-balance strong { color:#245c51; font-size:18px; }
.ca-entry-balance p { color:#425b65; margin:5px 0 0; line-height:1.5; }
.ca-entry-balance>a { flex-shrink:0; }
.ca-entry-preview { border-top:1px solid #cfdae0; border-bottom:1px solid #cfdae0; padding:24px 0; }
.ca-entry-logos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.ca-entry-company { display:flex; align-items:center; gap:12px; padding:8px 0; color:#263e48; font-size:16px; line-height:1.4; min-width:0; }
.ca-entry-company:hover strong { text-decoration:underline; color:#1f4e5f; }
.ca-entry-logos img { flex:0 0 72px; width:72px; height:72px; object-fit:contain; padding:4px; background:#fff; border:1px solid #d6e0e4; border-radius:4px; }
.ca-entry-company-info { min-width:0; overflow-wrap:anywhere; }
.ca-entry-company-info strong { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-weight:500; }
.ca-entry-company-info small { display:block; color:#52666e; font-size:14px; margin-top:5px; }
.ca-entry-section { padding:32px 0; border-bottom:1px solid #cfdae0; scroll-margin-top:95px; }
.ca-directory-entry h2 { font-size:22px; line-height:1.35; font-weight:700; color:#203f4b; margin:0 0 8px; }
.ca-entry-section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.ca-entry-section-heading p { margin:0; color:#425b65; font-size:16px; line-height:1.6; }
.ca-entry-preview .ca-entry-section-heading { margin-bottom:12px; }
.ca-entry-preview h2 { font-size:20px; margin:0; }
.ca-entry-no-subscription { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:#245c51; }
.ca-entry-packs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ca-entry-pack { display:flex; flex-direction:column; padding:22px; border:1px solid #afc3cd; border-top:3px solid #1f4e5f; border-radius:6px; background:#fff; }
.ca-entry-pack-top { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px; }
.ca-entry-pack h3 { font-size:19px; line-height:1.3; font-weight:700; margin:0; }
.ca-entry-pack-price { font-size:26px; line-height:1.3; color:#214f60; font-weight:700; margin:0; }
.ca-entry-pack-price span { font-size:14px; font-weight:500; }
.ca-entry-pack-total { font-size:14px; color:#52666e; margin:4px 0 0; text-align:right; }
.ca-entry-pack-use { color:#425b65; font-size:16px; line-height:1.5; margin:20px 0; }
.ca-entry-pack-use strong { color:#263e48; }
.ca-entry-pack .btn { width:100%; margin-top:auto; }
.ca-entry-note { font-size:14px; color:#52666e; line-height:1.65; margin:16px 0 0; }
.ca-entry-note a { text-decoration:underline; color:#1f4e5f; }
.ca-entry-credit-answers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin-top:22px; }
.ca-entry-credit-answers details { border-bottom:1px solid #d6e0e4; }
.ca-entry-credit-answers summary,.ca-entry-extra summary { font-size:16px; font-weight:500; padding:14px 0; cursor:pointer; }
.ca-entry-credit-answers p { color:#425b65; font-size:15px; line-height:1.65; margin:0 0 16px; }
.ca-entry-capture { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:40px; align-items:start; }
.ca-entry-capture { position:relative; isolation:isolate; padding:32px 24px; margin-top:16px; background:#f1f5f7; }
.ca-entry-capture-intro>p { color:#425b65; font-size:16px; line-height:1.65; }
.ca-entry-capture-intro>.ca-entry-note { font-size:14px; }
.ca-entry-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ca-directory-entry #directoryLeadForm { --uf-line:#718d9a; }
.ca-directory-entry #directoryLeadForm label { font-size:15px; }
.ca-directory-entry #directoryLeadForm>.btn { font-size:15px; }
.ca-entry-field-full { grid-column:1/-1; }
.ca-directory-entry label { display:block; color:#263e48; font-size:15px; font-weight:500; margin-bottom:7px; }
.ca-directory-entry .form-control,.ca-directory-entry .form-select { min-height:48px; border-radius:5px; border:1px solid #718d9a; font-size:16px; color:#263e48; background-color:#fff; padding:11px 12px; line-height:1.5; }
.ca-directory-entry .form-select { padding-right:36px; }
.ca-directory-entry .form-control::placeholder { color:#5b6c74; opacity:1; }
.ca-directory-entry .form-control:focus,.ca-directory-entry .form-select:focus { border-color:#1f4e5f; box-shadow:0 0 0 3px rgba(31,78,95,.18); }
.ca-directory-entry textarea.form-control { min-height:116px; resize:vertical; }
.ca-entry-extra { margin-top:10px; }
.ca-directory-entry form>.btn { margin-top:16px; }
.ca-entry-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.ca-entry-supplier { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:26px 0 0; }
.ca-entry-supplier h2 { font-size:19px; }
.ca-entry-supplier p { font-size:15px; line-height:1.6; margin:0; color:#425b65; }
@media(max-width:991.98px) {
 .ca-entry-capture { grid-template-columns:minmax(0,1fr); gap:20px; }
 .ca-entry-logos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; }
 .ca-entry-pack { padding:16px; }
 .ca-entry-pack-price { font-size:23px; }
}
@media(max-width:575.98px) {
 .ca-directory-entry main.container { padding:16px 16px 36px; }
 .ca-directory-entry h1 { font-size:25px; }
 .ca-entry-intro { font-size:16px; }
 .ca-entry-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
 .ca-entry-actions .btn { width:100%; }
 .ca-entry-logos { grid-template-columns:minmax(0,1fr); gap:0; }
 .ca-entry-company + .ca-entry-company { border-top:1px solid #e0e7ea; }
 .ca-entry-company { padding:12px 0; }
 .ca-entry-balance { padding:16px; }
 .ca-entry-facts { gap:9px; }
 .ca-entry-packs,.ca-entry-credit-answers,.ca-entry-form-grid { grid-template-columns:minmax(0,1fr); }
 .ca-entry-pack-use { margin:10px 0 14px; }
 .ca-entry-credit-answers { gap:0; }
 .ca-entry-section { padding:24px 0; }
 .ca-entry-capture { padding:24px 16px; }
 .ca-entry-supplier { flex-direction:column; align-items:flex-start; }
 .ca-entry-supplier .btn { width:100%; }
}
