/* Canada Export Readiness Checker — scoped styles.
   Palette: #FAFCFB #DCEEF7 #EDF6FB #E2F1E4 #F7DDDC #27445A #A9535C
   Headings: Newsreader · UI/body: Manrope (already loaded by the theme). */

.lbic-cer {
	--c-bg:#FAFCFB; --c-blue:#DCEEF7; --c-blue2:#EDF6FB; --c-green:#E2F1E4;
	--c-red:#F7DDDC; --c-navy:#27445A; --c-accent:#A9535C;
	--c-good:#2f6b4f; --c-mid:#9a6a12; --c-low:#9d3b30;
	--c-line:#dbe7ee; --radius:12px;
	color:var(--c-navy);
	font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	font-size:16px; line-height:1.55;
	max-width:1180px; margin:0 auto;
}
.lbic-cer *,.lbic-cer *::before,.lbic-cer *::after { box-sizing:border-box; }

.lbic-cer h1,.lbic-cer h2,.lbic-cer h3,.lbic-cer h4,.lbic-cer .cer-hero-title,.lbic-cer .cer-score-big {
	font-family:"Newsreader",Georgia,"Times New Roman",serif; font-weight:600; color:var(--c-navy);
}

/* ---- hero (standalone page) ---- */
.cer-hero { text-align:center; padding:8px 16px 4px; }
.cer-eyebrow { font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--c-accent); font-weight:700; margin:0 0 8px; }
.cer-hero-title { font-size:clamp(28px,4.4vw,44px); line-height:1.12; margin:0 0 12px; }
.cer-hero-sub { font-size:clamp(16px,2vw,19px); color:#3d5566; max-width:640px; margin:0 auto 10px; }
.cer-hero-meta { font-size:14px; color:#5a7180; margin:0 0 16px; }
.cer-hero-cta { margin:0 0 6px; }

/* ---- app shell ---- */
.cer-app { max-width:880px; margin:18px auto 0; background:var(--c-bg); border:1px solid var(--c-line);
	border-radius:var(--radius); padding:clamp(18px,3vw,30px); }
.cer-noscript { background:var(--c-red); border-radius:var(--radius); padding:16px; margin:16px auto; max-width:880px; }

/* ---- progress ---- */
.cer-progress { margin:0 0 20px; }
.cer-progress-row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; }
.cer-progress-label { font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--c-accent); }
.cer-progress-title { font-size:15px; color:#3d5566; }
.cer-progress-bar { margin-top:8px; height:8px; background:var(--c-blue2); border-radius:99px; overflow:hidden; }
.cer-progress-fill { display:block; height:100%; background:var(--c-navy); border-radius:99px; transition:width .3s ease; }

/* ---- questions ---- */
.cer-q { border:0; margin:0 0 22px; padding:0; }
.cer-q-legend { font-size:18px; font-weight:600; padding:0; margin:0 0 4px; display:block; }
.cer-q-legend:focus { outline:none; }
.cer-req { color:var(--c-accent); }
.cer-q-help { font-size:14px; color:#5a7180; margin:0 0 10px; }
.cer-opts { display:grid; gap:10px; }
.cer-opts-multi { grid-template-columns:1fr; }
@media (min-width:640px){ .cer-opts-multi { grid-template-columns:1fr 1fr; } }

.cer-opt { display:flex; align-items:flex-start; gap:11px; padding:13px 15px; background:#fff;
	border:1.5px solid var(--c-line); border-radius:10px; cursor:pointer; transition:border-color .15s,background .15s; min-height:46px; }
.cer-opt:hover { border-color:#b9d4e2; background:var(--c-blue2); }
.cer-opt input { margin-top:3px; width:18px; height:18px; accent-color:var(--c-navy); flex:0 0 auto; }
.cer-opt input:focus-visible { outline:3px solid #7fb0cc; outline-offset:2px; }
.cer-opt-text { font-size:15.5px; }
.cer-opt:has(input:checked) { border-color:var(--c-navy); background:var(--c-blue2); box-shadow:inset 0 0 0 1px var(--c-navy); }
.cer-opt input:disabled { opacity:.4; }
.cer-opt:has(input:disabled) { opacity:.55; cursor:not-allowed; }
.cer-opt-na { font-style:italic; }

.cer-q-text input[type=text] { width:100%; padding:12px 14px; border:1.5px solid var(--c-line); border-radius:10px; font:inherit; }
.cer-q-text input[type=text]:focus-visible { outline:3px solid #7fb0cc; outline-offset:1px; border-color:var(--c-navy); }

.cer-q-invalid .cer-q-legend { color:var(--c-low); }
.cer-q-invalid .cer-opt { border-color:var(--c-accent); }

/* ---- errors ---- */
.cer-error { background:var(--c-red); color:#7a2e2e; border-radius:10px; padding:12px 14px; margin:0 0 16px; font-size:14.5px; font-weight:600; }

/* ---- nav ---- */
.cer-nav { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:26px; }

/* ---- buttons ---- */
.cer-btn { font:inherit; font-weight:700; border-radius:10px; padding:12px 22px; cursor:pointer; border:1.5px solid transparent;
	transition:transform .05s,background .15s,border-color .15s; text-decoration:none; display:inline-block; text-align:center; line-height:1.2; }
.cer-btn:active { transform:translateY(1px); }
.cer-btn:focus-visible { outline:3px solid #7fb0cc; outline-offset:2px; }
.cer-btn-primary { background:var(--c-navy); color:#fff; }
.cer-btn-primary:hover { background:#1c3346; }
.cer-btn-secondary { background:var(--c-accent); color:#fff; }
.cer-btn-secondary:hover { background:#8f434b; }
.cer-btn-ghost { background:#fff; color:var(--c-navy); border-color:var(--c-navy); }
.cer-btn-ghost:hover { background:var(--c-blue2); }
.cer-btn-small { padding:8px 14px; font-size:13.5px; }

/* ---- resume ---- */
.cer-resume { background:var(--c-blue2); border:1px solid var(--c-line); border-radius:var(--radius); padding:18px 20px; text-align:center; }
.cer-resume-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:10px; }

/* ---- cards / branch / notes ---- */
.cer-card { background:#fff; border:1px solid var(--c-line); border-radius:10px; padding:16px 18px; margin:16px 0; }
.cer-card-h { font-size:16.5px; margin:0 0 8px; }
.cer-branch { background:var(--c-blue2); }
.cer-branch-spec { background:var(--c-red); border-color:#e9c6c4; }
.cer-pill { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
	padding:4px 10px; border-radius:99px; margin:0 0 8px; }
.cer-pill-spec { background:var(--c-accent); color:#fff; }
.cer-arealist { margin:6px 0 0; padding-left:20px; }
.cer-arealist li { margin:3px 0; font-size:14.5px; }
.cer-card-notice { margin:10px 0 0; font-size:14px; color:#7a3b3b; background:#fff; border-left:3px solid var(--c-accent); padding:8px 12px; border-radius:4px; }
.cer-card-src { margin:10px 0 0; font-size:14px; }
.cer-note-warn { background:var(--c-red); border-color:#e9c6c4; }
.cer-note-info { background:var(--c-blue2); }
.cer-link { color:var(--c-accent); font-weight:600; }

/* ---- results ---- */
.cer-results { max-width:880px; margin:0 auto; }
.cer-result-head { text-align:center; background:var(--c-blue2); border:1px solid var(--c-line); border-radius:var(--radius); padding:24px 20px; margin:0 0 16px; }
.cer-score-big { line-height:1; margin:6px 0; }
.cer-score-num { font-size:clamp(48px,9vw,66px); font-weight:600; }
.cer-score-den { font-size:22px; color:#5a7180; }
.cer-band { display:inline-block; font-size:18px; font-weight:700; padding:6px 16px; border-radius:99px; margin:4px 0 8px; }
.cer-band-strong { background:var(--c-green); color:var(--c-good); }
.cer-band-mostly { background:var(--c-blue); color:#245a76; }
.cer-band-significant { background:#fbeecb; color:var(--c-mid); }
.cer-band-foundation { background:var(--c-red); color:var(--c-low); }
.cer-band-copy { font-size:15px; color:#3d5566; max-width:560px; margin:2px auto 0; }
.cer-explainer { font-size:14.5px; background:#fff; border:1px dashed #c7d8e2; border-radius:10px; padding:12px 15px; margin:0 0 14px; color:#3d5566; }
.cer-prod { font-size:14px; color:#5a7180; margin:0 0 18px; }

.cer-h3 { font-size:20px; margin:26px 0 12px; padding-bottom:6px; border-bottom:2px solid var(--c-blue); }

/* critical issues */
.cer-crit-list { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.cer-crit-item { display:flex; align-items:flex-start; gap:11px; flex-wrap:wrap; padding:13px 15px; border-radius:10px; border:1px solid var(--c-line); background:#fff; }
.cer-sev-red { background:var(--c-red); border-color:#e9c6c4; }
.cer-sev-orange { background:#fbeecb; border-color:#efd9a8; }
.cer-dot { width:13px; height:13px; border-radius:50%; margin-top:5px; flex:0 0 auto; }
.cer-dot-red { background:var(--c-low); }
.cer-dot-orange { background:var(--c-mid); }
.cer-crit-title { flex:1 1 240px; font-weight:600; font-size:15px; }
.cer-crit-none { background:var(--c-green); border-radius:10px; padding:14px 16px; font-size:15px; }
.cer-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* section bars */
.cer-bars { display:grid; grid-template-columns:1fr; gap:12px; }
@media (min-width:560px){ .cer-bars { grid-template-columns:1fr 1fr; } }
@media (min-width:900px){ .cer-bars { grid-template-columns:1fr 1fr 1fr; } }
.cer-bar-card { background:#fff; border:1px solid var(--c-line); border-radius:10px; padding:14px 15px; }
.cer-bar-top { display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:8px; }
.cer-bar-label { font-size:14px; font-weight:600; }
.cer-bar-num { font-size:13px; color:#5a7180; white-space:nowrap; }
.cer-bar-num strong { font-size:16px; color:var(--c-navy); }
.cer-bar-track { height:9px; background:#eef3f6; border-radius:99px; overflow:hidden; }
.cer-bar-fill { display:block; height:100%; border-radius:99px; }
.cer-fill-good { background:var(--c-good); }
.cer-fill-mid { background:var(--c-mid); }
.cer-fill-low { background:var(--c-low); }
.cer-bar-status { display:inline-block; margin-top:7px; font-size:12.5px; font-weight:700; }
.cer-status-good { color:var(--c-good); }
.cer-status-mid { color:var(--c-mid); }
.cer-status-low { color:var(--c-low); }

/* next actions */
.cer-action-list { list-style:none; margin:0; padding:0; display:grid; gap:12px; counter-reset:none; }
.cer-action { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap;
	background:#fff; border:1px solid var(--c-line); border-left:4px solid var(--c-navy); border-radius:10px; padding:14px 16px; }
.cer-action-body { flex:1 1 260px; }
.cer-action-title { font-size:16px; margin:0 0 3px; }
.cer-action-why { font-size:14px; color:#5a7180; margin:0; }

/* info panels */
.cer-info { background:var(--c-bg); }
.cer-flash { animation:cerflash 1.4s ease; }
@keyframes cerflash { 0%,100%{ box-shadow:0 0 0 0 rgba(39,68,90,0); } 30%{ box-shadow:0 0 0 3px rgba(39,68,90,.35); } }

/* sources */
.cer-src-intro { font-size:14px; color:#5a7180; margin:0 0 12px; }
.cer-src-cards { display:grid; grid-template-columns:1fr; gap:12px; }
@media (min-width:640px){ .cer-src-cards { grid-template-columns:1fr 1fr; } }
.cer-src-card { display:block; text-decoration:none; color:var(--c-navy); background:#fff; border:1px solid var(--c-line);
	border-radius:10px; padding:14px 16px; transition:border-color .15s,background .15s; }
.cer-src-card:hover { border-color:var(--c-navy); background:var(--c-blue2); }
.cer-src-agency { display:block; font-weight:700; font-size:14.5px; }
.cer-src-page { display:block; font-size:14px; color:#245a76; margin:2px 0 5px; }
.cer-src-blurb { display:block; font-size:13px; color:#5a7180; }

/* save row / footer */
.cer-save-row { display:flex; gap:12px; flex-wrap:wrap; }
.cer-reviewed { font-size:12.5px; color:#8095a1; margin:22px 0 4px; }
.cer-disclaimer { font-size:12.5px; color:#5a7180; background:var(--c-bg); border:1px solid var(--c-line);
	border-radius:10px; padding:14px 16px; margin:12px auto 0; max-width:880px; line-height:1.5; }

/* ---- email modal ---- */
.cer-modal-overlay { position:fixed; inset:0; background:rgba(20,34,45,.55); display:flex; align-items:center; justify-content:center; padding:18px; z-index:99999; }
.cer-modal { background:#fff; border-radius:14px; max-width:440px; width:100%; padding:24px; box-shadow:0 20px 60px rgba(0,0,0,.28); max-height:92vh; overflow:auto; }
.cer-modal-h { font-size:22px; margin:0 0 4px; }
.cer-modal-sub { font-size:14px; color:#5a7180; margin:0 0 14px; }
.cer-modal-form { display:flex; flex-direction:column; gap:6px; }
.cer-modal-label { font-size:13px; font-weight:700; margin-top:8px; }
.cer-modal-form input[type=email],.cer-modal-form input[type=text] { padding:11px 13px; border:1.5px solid var(--c-line); border-radius:9px; font:inherit; }
.cer-modal-form input:focus-visible { outline:3px solid #7fb0cc; outline-offset:1px; border-color:var(--c-navy); }
.cer-modal-check { display:flex; align-items:flex-start; gap:9px; font-size:14px; margin:12px 0 4px; cursor:pointer; }
.cer-modal-check input { margin-top:3px; width:17px; height:17px; accent-color:var(--c-navy); }
.cer-modal-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:16px; }
.cer-modal-msg { font-size:14px; border-radius:8px; padding:10px 12px; margin:0 0 6px; }
.cer-modal-ok { background:var(--c-green); color:var(--c-good); }
.cer-modal-err { background:var(--c-red); color:#7a2e2e; }
.cer-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }

/* ---- responsive form width caps ---- */
@media (min-width:1024px){ .cer-app,.cer-results { max-width:860px; } }
@media (max-width:640px){
	.cer-app { padding:16px; }
	.cer-nav .cer-btn { flex:1 1 auto; }
	.cer-nav { gap:10px; }
	.cer-save-row .cer-btn { flex:1 1 100%; }
	.cer-action { flex-direction:column; align-items:flex-start; }
	.cer-action .cer-btn { width:100%; }
}

/* ---- print / PDF ---- */
@media print {
	/* Hide site chrome and interactive-only controls. */
	body > header, body > footer, .site-header, #masthead, .site-footer, #colophon,
	.ct-header, .ct-footer, nav, .cer-noprint, .cer-modal-overlay { display:none !important; }
	.lbic-cer, .cer-app, .cer-results { max-width:100% !important; margin:0 !important; border:0 !important; background:#fff !important; padding:0 !important; }
	.cer-result-head, .cer-card, .cer-src-card, .cer-bar-card, .cer-crit-item, .cer-action, .cer-explainer { break-inside:avoid; box-shadow:none !important; }
	.lbic-cer { font-size:12pt; }
	a[href^="http"]::after { content:" (" attr(href) ")"; font-size:9pt; color:#555; word-break:break-all; }
	.cer-h3 { page-break-after:avoid; }
}
