/*
Theme Name: TNI Journal
Description: Minimal, accessible journal theme for The Nurse International. Child theme of Twenty Twenty-Five.
Template: twentytwentyfive
Version: 1.0.3
Requires at least: 6.6
Text Domain: tni-journal
License: GPL-2.0-or-later
*/

/* Visible keyboard focus everywhere */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* Underline body links so they are not identified by colour alone */
.entry-content a,
.wp-block-post-content a { text-decoration: underline; text-underline-offset: 0.15em; }

/* Article meta line */
.tni-meta { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.tni-meta a { color: inherit; }

/* "First draft" notice on policy pages */
.tni-draft-notice {
	border-left: 6px solid #9A6700;
	background: #FFF8E5;
	padding: 1rem 1.25rem;
	color: #1F1F1F;
}

/* Medical disclaimer + author bio boxes */
.tni-box {
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--subtle);
	padding: 1.25rem 1.5rem;
	border-radius: 4px;
}

/* References list: smaller, hanging indent (APA 7) */
.tni-references li { padding-left: 2em; text-indent: -2em; list-style: none; margin-bottom: 0.6em; }
.tni-references { padding-left: 0; font-size: var(--wp--preset--font-size--small); }

/* Article cards on listings */
.tni-card { border-top: 3px solid var(--wp--preset--color--primary); padding-top: 1rem; }

/* Simple forms (registration, contact) */
.tni-form label, .wpcf7 label { display: block; font-weight: 600; margin-bottom: 0.25rem; }
.tni-form input[type=text], .tni-form input[type=email],
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 textarea,
.pmpro_form input[type=text], .pmpro_form input[type=password], .pmpro_form input[type=email],
#loginform input[type=text], #loginform input[type=password] {
	width: 100%; max-width: 32rem; padding: 0.6rem 0.75rem;
	border: 2px solid #5A6472; border-radius: 4px; font: inherit; background: #fff; color: #1F1F1F;
}
.tni-form p, .wpcf7 p { margin: 0 0 1rem; }
.tni-form button, .wpcf7 input[type=submit], #loginform input[type=submit] {
	background: var(--wp--preset--color--primary); color: #fff; border: 0;
	padding: 0.7rem 1.4rem; font: inherit; font-weight: 600; border-radius: 4px; cursor: pointer;
}
.tni-form button:hover, .wpcf7 input[type=submit]:hover { background: var(--wp--preset--color--accent); }
.tni-notice { padding: 0.75rem 1rem; border-radius: 4px; margin-bottom: 1rem; }
.tni-notice.is-error { background: #FDECEC; border-left: 6px solid #B3261E; }
.tni-notice.is-success { background: #E8F5EE; border-left: 6px solid #1E7A46; }
.tni-hp { position: absolute !important; left: -9999px !important; }

/* Footer policy links */
.tni-footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.4rem 1.25rem; font-size: var(--wp--preset--font-size--small); }
.tni-footer-links a { color: #fff; }

/* Cookie banner links: larger tap targets (WCAG 2.2 target size) */
.cmplz-cookiebanner .cmplz-documents a.cmplz-link { display: inline-block; padding: 0.5rem 0.25rem; min-height: 24px; }
.cmplz-cookiebanner .cmplz-documents ul { gap: 0.75rem; }

/* Logo: shrink on small screens */
.tni-logo img { max-width: 100%; height: auto; }
@media (max-width: 600px) { .tni-logo { max-width: 240px; } }

/* Cookie banner: hide unused "Impressum" link, match site colours */
.cmplz-cookiebanner .cmplz-documents li:has(.impressum) { display: none; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background-color: var(--wp--preset--color--primary) !important; border-color: var(--wp--preset--color--primary) !important; color: #fff !important; }
.cmplz-cookiebanner .cmplz-link { color: var(--wp--preset--color--accent) !important; }
