/* Consulenza Nutrizionale Animale - Quiz "Il tuo cane mangia l'erba?" */

.cna-page {
	--cna-green-900: #22362a;
	--cna-green-800: #2f4a37;
	--cna-green-700: #3e5c45;
	--cna-green-500: #6f9a6f;
	--cna-sage-200: #cfdcc8;
	--cna-sage-100: #e7eee2;
	--cna-sage-50: #f3f7f0;
	--cna-cream: #faf6ee;
	--cna-sand: #f1e8d6;
	--cna-sand-line: #e6dcc7;
	--cna-terra: #b8612f;
	--cna-terra-dark: #9a4f24;
	--cna-ink: #1f2a22;
	--cna-muted: #5b685e;
	--cna-white: #ffffff;
	--cna-p1: #3f7a4f;
	--cna-p1-bg: #e6f0e4;
	--cna-p2: #9a6b12;
	--cna-p2-bg: #f8eed6;
	--cna-p3: #a2462f;
	--cna-p3-bg: #f8e4dc;
	--cna-radius: 18px;
	--cna-radius-sm: 12px;
	--cna-shadow: 0 1px 2px rgba(34, 54, 42, .06), 0 8px 28px rgba(34, 54, 42, .08);
	--cna-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
	--cna-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Pagina intera (template del plugin) ---------- */
body.cna-canvas {
	margin: 0;
	background: var(--cna-cream);
	color: var(--cna-ink);
	font-family: var(--cna-sans);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
body.cna-canvas .wp-site-blocks { padding: 0; }

.cna-page .cna-app,
.cna-page .cna-header,
.cna-page .cna-footer,
.cna-page .cna-legal {
	font-family: var(--cna-sans);
	color: var(--cna-ink);
	box-sizing: border-box;
}
.cna-page .cna-app *,
.cna-page .cna-header *,
.cna-page .cna-footer *,
.cna-page .cna-legal * { box-sizing: border-box; }

/* Se non si usa la pagina intera, nascondi il titolo pagina del tema. */
.cna-page:not(.cna-canvas) .entry-title,
.cna-page:not(.cna-canvas) .page-title,
.cna-page:not(.cna-canvas) .wp-block-post-title { display: none; }

.cna-wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.cna-wrap--narrow { max-width: 780px; }
.cna-wrap--quiz { max-width: 720px; }
.cna-wrap--result { max-width: 860px; }
.cna-center { text-align: center; }
.cna-muted { color: var(--cna-muted); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* ---------- Header ---------- */
.cna-header { background: var(--cna-cream); border-bottom: 1px solid var(--cna-sand-line); }
.cna-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 72px; }
.cna-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; }
.cna-brand:hover, .cna-brand:focus { text-decoration: none; }
.cna-brand-mark { width: 40px; height: 40px; flex: none; display: block; }
.cna-brand-text { display: flex; flex-direction: column; line-height: 1.2; }
.cna-brand-name { font-family: var(--cna-serif); font-size: 18px; font-weight: 600; color: var(--cna-green-800); }
.cna-brand-sub { font-size: 13px; color: var(--cna-muted); }

/* ---------- Tipografia ---------- */
.cna-page .cna-h2,
.cna-page .cna-hero-title,
.cna-page .cna-result-title,
.cna-page .cna-q-text,
.cna-page .cna-h3,
.cna-page .cna-legal h1,
.cna-page .cna-legal h2 {
	font-family: var(--cna-serif);
	color: var(--cna-green-800);
	font-weight: 600;
	letter-spacing: -0.01em;
	margin: 0;
}
.cna-page .cna-h2 { font-size: clamp(26px, 3.2vw, 34px); line-height: 1.2; margin-bottom: 14px; }
.cna-page .cna-h3 { font-size: 22px; line-height: 1.25; }
.cna-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--cna-green-700); margin: 0 0 10px; }
.cna-app p { margin: 0 0 14px; }

/* ---------- Pulsanti ---------- */
.cna-page .cna-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font: 600 16px/1.2 var(--cna-sans);
	border: 0; border-radius: 999px; padding: 14px 24px; cursor: pointer;
	text-decoration: none; transition: background-color .15s, transform .15s, box-shadow .15s, color .15s;
	-webkit-appearance: none; appearance: none;
}
.cna-page .cna-btn:focus-visible { outline: 3px solid var(--cna-terra); outline-offset: 3px; }
.cna-page .cna-btn--lg { font-size: 17px; padding: 17px 30px; }
.cna-page .cna-btn--block { width: 100%; }
.cna-page .cna-btn--primary { background: var(--cna-green-700); color: #fff; box-shadow: 0 6px 18px rgba(62, 92, 69, .25); }
.cna-page .cna-btn--primary:hover { background: var(--cna-green-800); transform: translateY(-1px); }
.cna-page .cna-btn--accent { background: var(--cna-terra); color: #fff; box-shadow: 0 6px 18px rgba(184, 97, 47, .28); }
.cna-page .cna-btn--accent:hover { background: var(--cna-terra-dark); }
.cna-page .cna-btn--light { background: var(--cna-cream); color: var(--cna-green-800); }
.cna-page .cna-btn--light:hover { background: #fff; }
.cna-page .cna-btn--ghost { background: transparent; color: var(--cna-green-700); padding-left: 8px; padding-right: 8px; }
.cna-page .cna-btn--ghost:hover { color: var(--cna-green-900); text-decoration: underline; }
.cna-page .cna-btn[disabled] { opacity: .65; cursor: progress; transform: none; }
.cna-page .cna-link-btn { background: none; border: 0; color: var(--cna-green-700); font: inherit; font-size: 15px; text-decoration: underline; cursor: pointer; padding: 6px; }

/* ---------- Schermate ---------- */
.cna-screen { display: none; }
.cna-screen.is-active { display: block; animation: cna-in .35s ease both; }
@keyframes cna-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
#cna-screen-dog, #cna-screen-question, #cna-screen-open, #cna-screen-loading, #cna-screen-result { padding: 36px 0 64px; }
@media (prefers-reduced-motion: reduce) {
	.cna-screen.is-active { animation: none; }
	.cna-page .cna-btn { transition: none; }
}

/* ---------- Hero ---------- */
.cna-hero { background: linear-gradient(180deg, var(--cna-cream) 0%, var(--cna-sage-50) 100%); padding: 48px 0 56px; }
.cna-hero-grid { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; }
.cna-page .cna-hero-title { font-size: clamp(38px, 6vw, 62px); line-height: 1.05; margin-bottom: 14px; }
.cna-hero-sub { font-family: var(--cna-serif); font-size: clamp(20px, 2.4vw, 25px); color: var(--cna-green-700); line-height: 1.35; margin-bottom: 18px !important; }
.cna-hero-lead { font-size: 18px; color: var(--cna-muted); max-width: 540px; }
.cna-hero-actions { margin-top: 26px; }
.cna-hero-pro { display: flex; align-items: center; gap: 12px; margin-top: 26px; font-size: 14px; line-height: 1.4; color: var(--cna-muted); }
.cna-hero-pro img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: none; border: 2px solid #fff; box-shadow: 0 2px 8px rgba(34, 54, 42, .15); }
.cna-hero-pro strong { color: var(--cna-green-800); }
.cna-hero-micro { font-size: 14px; color: var(--cna-muted); margin-top: 12px !important; }
.cna-hero-art svg { width: 100%; height: auto; display: block; max-width: 300px; margin: 0 auto; }
@media (min-width: 880px) { .cna-hero-art svg { max-width: 520px; } }
@media (min-width: 880px) {
	.cna-hero { padding: 72px 0 84px; }
	.cna-hero-grid { grid-template-columns: 1.1fr .9fr; gap: 48px; }
}

/* ---------- Sezioni landing ---------- */
.cna-section { padding: 64px 0; }
.cna-section--tint { background: var(--cna-sand); }
.cna-intro-text { max-width: 720px; margin-bottom: 34px; }
.cna-intro-text p { font-size: 18px; color: var(--cna-muted); }
.cna-cards { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 760px) { .cna-cards { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
.cna-card-mini { background: #fff; border: 1px solid var(--cna-sand-line); border-radius: var(--cna-radius); padding: 24px; }
.cna-card-mini h3 { font: 600 19px/1.3 var(--cna-serif); color: var(--cna-green-800); margin: 14px 0 6px; }
.cna-card-mini p { color: var(--cna-muted); font-size: 16px; margin: 0; }
.cna-card-icon { display: inline-flex; width: 46px; height: 46px; border-radius: 50%; background: var(--cna-sage-100); color: var(--cna-green-700); align-items: center; justify-content: center; }
.cna-card-icon svg { width: 24px; height: 24px; }

.cna-steps { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 16px; counter-reset: none; }
@media (min-width: 760px) { .cna-steps { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.cna-steps li { background: var(--cna-cream); border-radius: var(--cna-radius); padding: 24px; position: relative; }
.cna-steps h3 { font: 600 19px/1.3 var(--cna-serif); color: var(--cna-green-800); margin: 12px 0 6px; }
.cna-steps p { color: var(--cna-muted); font-size: 16px; margin: 0; }
.cna-step-num { display: inline-flex; width: 36px; height: 36px; border-radius: 50%; background: var(--cna-green-700); color: #fff; font-weight: 700; align-items: center; justify-content: center; }

.cna-outcomes { margin-top: 36px; text-align: center; }
.cna-outcomes-title { font-size: 15px; color: var(--cna-muted); margin-bottom: 14px !important; }
.cna-outcomes-grid { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.cna-outcome { display: inline-flex; align-items: center; gap: 10px; background: #fff; border-radius: 999px; padding: 10px 18px; font-size: 15px; font-weight: 600; color: var(--cna-ink); border: 1px solid var(--cna-sand-line); }
.cna-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.cna-outcome--1 .cna-dot { background: var(--cna-p1); }
.cna-outcome--2 .cna-dot { background: #c9971f; }
.cna-outcome--3 .cna-dot { background: var(--cna-p3); }

.cna-pro { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: center; overflow: hidden; background: #fff; border: 1px solid var(--cna-sand-line); border-radius: 24px; padding: 28px; max-width: 900px; margin: 0 auto; }
@media (min-width: 720px) { .cna-pro { grid-template-columns: 300px 1fr; padding: 32px 40px 32px 32px; gap: 40px; } }
.cna-pro-photo { width: 100%; max-width: 320px; aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; background: var(--cna-sage-100); display: flex; align-items: center; justify-content: center; margin: 0 auto; }
.cna-pro-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; display: block; }
.cna-pro-photo span { font: 600 48px/1 var(--cna-serif); color: var(--cna-green-700); }
.cna-pro-role { font-weight: 600; color: var(--cna-terra-dark); margin-top: -6px !important; }
.cna-pro-text p:last-child { color: var(--cna-muted); margin-bottom: 0; }

.cna-section--cta { background: var(--cna-green-800); color: #fff; }
.cna-page .cna-section--cta .cna-h2 { color: #fff; }
.cna-cta-text { color: var(--cna-sage-200); max-width: 560px; margin: 0 auto 26px !important; }

/* ---------- Pannelli quiz ---------- */
.cna-panel { background: #fff; border: 1px solid var(--cna-sand-line); border-radius: var(--cna-radius); padding: 28px 22px; box-shadow: var(--cna-shadow); }
@media (min-width: 640px) { .cna-panel { padding: 36px 40px; } }

.cna-progress { margin-bottom: 18px; }
.cna-progress-meta { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; margin-bottom: 8px; }
.cna-progress-section { font-weight: 600; color: var(--cna-green-700); }
.cna-progress-count { color: var(--cna-muted); }
.cna-progress-bar { height: 8px; border-radius: 999px; background: var(--cna-sage-100); overflow: hidden; }
.cna-progress-bar span { display: block; height: 100%; background: var(--cna-green-500); border-radius: 999px; transition: width .3s ease; }

.cna-page .cna-q-text { font-size: clamp(22px, 3vw, 27px); line-height: 1.3; margin-bottom: 22px; outline: none; }
.cna-options { display: grid; gap: 12px; }
.cna-page .cna-option {
	display: flex; align-items: center; gap: 14px; width: 100%; text-align: left;
	background: var(--cna-cream); border: 2px solid var(--cna-sand-line); border-radius: var(--cna-radius-sm);
	padding: 14px 16px; font: 500 16px/1.4 var(--cna-sans); color: var(--cna-ink); cursor: pointer;
	transition: border-color .15s, background-color .15s, transform .1s;
	-webkit-appearance: none; appearance: none;
}
@media (hover: hover) { .cna-page .cna-option:hover { border-color: var(--cna-green-500); background: var(--cna-sage-50); } }
.cna-page .cna-option:focus-visible { outline: 3px solid var(--cna-terra); outline-offset: 2px; }
.cna-page .cna-option:active { transform: scale(.995); }
.cna-page .cna-option.is-selected { border-color: var(--cna-green-700); background: var(--cna-sage-100); }
.cna-option-key { flex: none; width: 34px; height: 34px; border-radius: 50%; background: #fff; border: 1.5px solid var(--cna-sage-200); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; color: var(--cna-green-700); }
.cna-option.is-selected .cna-option-key { background: var(--cna-green-700); border-color: var(--cna-green-700); color: #fff; }

.cna-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; flex-wrap: wrap; }
.cna-actions--split { margin-top: 16px; }

/* ---------- Form ---------- */
.cna-form { margin-top: 18px; }
.cna-field { margin-bottom: 16px; border: 0; padding: 0; min-width: 0; }
.cna-row { display: grid; grid-template-columns: 1fr; gap: 0 16px; }
@media (min-width: 560px) { .cna-row { grid-template-columns: 1fr 1fr; } }
.cna-page .cna-field label,
.cna-page .cna-field legend { display: block; font-weight: 600; font-size: 15px; margin-bottom: 6px; color: var(--cna-ink); padding: 0; }
.cna-opt { font-weight: 400; color: var(--cna-muted); font-size: 13px; }
.cna-page .cna-field input[type="text"],
.cna-page .cna-field input[type="email"],
.cna-page .cna-field input[type="tel"],
.cna-page .cna-field select,
.cna-page .cna-field textarea {
	width: 100%; font: 400 16px/1.4 var(--cna-sans); color: var(--cna-ink);
	background: #fff; border: 1.5px solid #d8cfbb; border-radius: 10px; padding: 12px 14px;
	-webkit-appearance: none; appearance: none; box-shadow: none; margin: 0;
}
.cna-page .cna-field select { background-image: linear-gradient(45deg, transparent 50%, var(--cna-green-700) 50%), linear-gradient(135deg, var(--cna-green-700) 50%, transparent 50%); background-position: calc(100% - 20px) 52%, calc(100% - 14px) 52%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 36px; }
.cna-page .cna-field textarea { resize: vertical; min-height: 96px; }
.cna-page .cna-field input:focus,
.cna-page .cna-field select:focus,
.cna-page .cna-field textarea:focus { outline: none; border-color: var(--cna-green-700); box-shadow: 0 0 0 3px rgba(111, 154, 111, .25); }
.cna-page .cna-field [aria-invalid="true"] { border-color: var(--cna-p3); }
.cna-field-error { color: var(--cna-p3); font-size: 14px; margin: 6px 0 0 !important; min-height: 0; }
.cna-field-error:empty { display: none; }

.cna-pref { display: flex; flex-wrap: wrap; gap: 8px 10px; }
.cna-page .cna-pref legend { width: 100%; }
.cna-page .cna-pref label { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; margin: 0; background: var(--cna-cream); border: 1.5px solid var(--cna-sand-line); border-radius: 999px; padding: 8px 14px; cursor: pointer; }
.cna-page .cna-pref label:has(input:checked) { border-color: var(--cna-green-700); background: var(--cna-sage-100); }
.cna-page .cna-pref input { accent-color: var(--cna-green-700); margin: 0; }

.cna-page .cna-consent label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 14px; color: var(--cna-muted); line-height: 1.5; }
.cna-page .cna-consent input { margin-top: 3px; width: 18px; height: 18px; flex: none; accent-color: var(--cna-green-700); }
.cna-page .cna-consent a { color: var(--cna-green-700); }
.cna-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cna-form-micro { font-size: 13px; color: var(--cna-muted); text-align: center; margin: 12px 0 0 !important; }

.cna-alert { background: var(--cna-p3-bg); color: var(--cna-p3); border-radius: 10px; padding: 12px 14px; font-size: 15px; margin: 0 0 14px; }

/* ---------- Caricamento ---------- */
.cna-loader { display: inline-flex; gap: 8px; margin: 40px 0 16px; }
.cna-loader span { width: 12px; height: 12px; border-radius: 50%; background: var(--cna-green-500); animation: cna-bounce 1s infinite ease-in-out; }
.cna-loader span:nth-child(2) { animation-delay: .15s; }
.cna-loader span:nth-child(3) { animation-delay: .3s; }
@keyframes cna-bounce { 0%, 80%, 100% { transform: scale(.6); opacity: .5; } 40% { transform: scale(1); opacity: 1; } }

/* ---------- Risultato ---------- */
.cna-result { background: #fff; border-radius: 24px; overflow: hidden; border: 1px solid var(--cna-sand-line); box-shadow: var(--cna-shadow); }
.cna-result-head { padding: 30px 24px 24px; background: var(--cna-p1-bg); border-bottom: 1px solid rgba(0, 0, 0, .04); position: relative; }
.cna-result-head::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--cna-p1); }
.cna-result--p2 .cna-result-head { background: var(--cna-p2-bg); }
.cna-result--p2 .cna-result-head::before { background: #c9971f; }
.cna-result--p3 .cna-result-head { background: var(--cna-p3-bg); }
.cna-result--p3 .cna-result-head::before { background: var(--cna-p3); }
.cna-result--p1 .cna-eyebrow { color: var(--cna-p1); }
.cna-result--p2 .cna-eyebrow { color: var(--cna-p2); }
.cna-result--p3 .cna-eyebrow { color: var(--cna-p3); }
.cna-page .cna-result-title { font-size: clamp(27px, 4vw, 36px); line-height: 1.15; margin-bottom: 8px; outline: none; }
.cna-result-tagline { font-size: 17px; color: var(--cna-muted); margin: 0 !important; }
.cna-result-body { padding: 26px 24px 28px; }
@media (min-width: 640px) {
	.cna-result-head { padding: 38px 44px 30px; }
	.cna-result-body { padding: 32px 44px 36px; }
}
.cna-result-body > div > p, .cna-result-body > p { font-size: 17px; }
.cna-result-list-title { font-weight: 600; margin-top: 8px !important; }
.cna-result-list { margin: 0 0 18px; padding: 0; list-style: none; }
.cna-result-list li { position: relative; padding: 6px 0 6px 28px; }
.cna-result-list li::before { content: ""; position: absolute; left: 4px; top: 15px; width: 10px; height: 10px; border-radius: 50%; background: var(--cna-sage-200); }
.cna-result--p3 .cna-result-list li::before { background: var(--cna-p3); }
.cna-result-list--chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cna-result-list--chips li { padding: 8px 14px; border-radius: 999px; background: var(--cna-cream); border: 1px solid var(--cna-sand-line); font-size: 15px; }
.cna-result-list--chips li::before { display: none; }
.cna-result-list--chips li.is-hi { background: var(--cna-p2-bg); border-color: #e3c47a; font-weight: 600; color: #6f4d0c; }
.cna-result-legend { font-size: 13px; color: var(--cna-muted); margin-top: -8px !important; display: flex; align-items: center; gap: 8px; }
.cna-result-legend[hidden] { display: none; }
.cna-chip-sample { display: inline-block; width: 22px; height: 12px; border-radius: 999px; background: var(--cna-p2-bg); border: 1px solid #e3c47a; }
.cna-watch { background: var(--cna-cream); border-radius: var(--cna-radius-sm); padding: 16px 18px; margin: 0 0 18px; }
.cna-watch-title { font-weight: 700; color: var(--cna-p2); margin-bottom: 6px !important; }
.cna-watch ul { margin: 0; padding-left: 20px; }
.cna-watch li { margin-bottom: 4px; font-size: 16px; }
.cna-result-note { border-left: 3px solid var(--cna-green-500); padding: 4px 0 4px 14px; color: var(--cna-green-800); font-weight: 500; }
.cna-result--p3 .cna-result-note { border-color: var(--cna-p3); color: var(--cna-p3); font-weight: 600; }
.cna-result-disclaimer { font-size: 14px; color: var(--cna-muted); margin: 20px 0 0 !important; padding-top: 16px; border-top: 1px dashed var(--cna-sand-line); }

/* ---------- Box contatto ---------- */
.cna-contact { margin-top: 28px; background: #fff; border-radius: 24px; padding: 26px 22px; border: 2px solid var(--cna-sage-200); box-shadow: var(--cna-shadow); }
@media (min-width: 640px) { .cna-contact { padding: 36px 44px; } }
.cna-contact-head { display: flex; gap: 16px; align-items: flex-start; }
.cna-contact-avatar { flex: none; width: 72px; height: 72px; border: 3px solid #fff; box-shadow: 0 2px 10px rgba(34, 54, 42, .15); border-radius: 50%; overflow: hidden; background: var(--cna-sage-100); display: flex; align-items: center; justify-content: center; }
.cna-contact-avatar img { width: 100%; height: 100%; object-fit: cover; }
.cna-contact-avatar span { font: 600 22px/1 var(--cna-serif); color: var(--cna-green-700); }
.cna-contact-cta { color: var(--cna-muted); font-size: 15px; margin-bottom: 6px !important; }
.cna-thanks { text-align: center; padding: 18px 0 6px; outline: none; }
.cna-thanks-icon { width: 60px; height: 60px; border-radius: 50%; background: var(--cna-p1-bg); color: var(--cna-p1); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.cna-thanks-icon svg { width: 30px; height: 30px; }
.cna-thanks p { color: var(--cna-muted); max-width: 520px; margin: 10px auto 0 !important; }
.cna-restart-wrap { margin-top: 24px !important; }

/* ---------- Pagine legali ---------- */
.cna-legal { padding: 40px 0 64px; }
.cna-page .cna-legal h1 { font-size: clamp(30px, 4.5vw, 42px); line-height: 1.15; margin: 14px 0 6px; }
.cna-page .cna-legal h2 { font-size: 21px; margin: 32px 0 10px; }
.cna-legal p, .cna-legal li { font-size: 16px; color: #33413a; }
.cna-legal ul { padding-left: 22px; }
.cna-legal li { margin-bottom: 6px; }
.cna-legal a { color: var(--cna-green-700); }
.cna-legal-updated { font-size: 14px; color: var(--cna-muted) !important; margin-bottom: 24px; }
.cna-legal-owner { background: #fff; border: 1px solid var(--cna-sand-line); border-radius: var(--cna-radius-sm); padding: 14px 18px; }
.cna-legal-alert { background: var(--cna-p3-bg); color: var(--cna-p3); border-radius: var(--cna-radius-sm); padding: 14px 18px; margin: 0 0 18px; }
.cna-back-link { font-size: 15px; color: var(--cna-green-700); text-decoration: none; }
.cna-back-link:hover { text-decoration: underline; }

/* ---------- Footer ---------- */
.cna-page .cna-footer { background: var(--cna-green-900); color: var(--cna-sage-200); padding: 36px 0 30px; font-size: 14px; }
.cna-footer p { margin: 0 0 14px; line-height: 1.6; }
.cna-footer-note { max-width: 760px; }
.cna-footer-links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 14px; }
.cna-footer-links a { color: #fff; text-decoration: none; font-weight: 600; }
.cna-footer-links a:hover { text-decoration: underline; }
.cna-footer-legal { color: #9fb39f; font-size: 13px; margin: 0 !important; }
.cna-page .cna-footer-credit { text-align: center; color: #9fb39f; font-size: 13px; margin: 22px 0 0 !important; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .1); }
.cna-page .cna-footer-credit a { color: #fff; text-decoration: none; font-weight: 600; }
.cna-page .cna-footer-credit a:hover { text-decoration: underline; }
