/*
Theme Name: Nabu Solutions
Template: twentytwentyfive
Description: Child theme for Nabu Limited (nabusolutions.co.uk).
Version: 1.1.0
Text Domain: nabu
*/

/* Layout */
.wp-site-blocks > footer { margin-block-start: 0; }
.nabu-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .nabu-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .nabu-header { top: 46px; } }

/* Navigation: lime underline on hover and current page */
.nabu-nav .wp-block-navigation-item__content { padding-bottom: 4px; border-bottom: 3px solid transparent; }
.nabu-nav .wp-block-navigation-item__content:hover,
.nabu-nav .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: var(--wp--preset--color--accent); }

/* Links in body copy: charcoal text, lime underline */
main a:not(.wp-element-button) { text-decoration-color: var(--wp--preset--color--accent); text-decoration-thickness: 3px; text-underline-offset: 4px; }
main a:not(.wp-element-button):hover { color: var(--wp--preset--color--grey); }
.has-primary-background-color a:not(.wp-element-button) { color: #fff; }

/* Section label: lime square echoing the logo */
.nabu-kicker { color: var(--wp--preset--color--grey); }
.nabu-kicker::before { content: ""; display: inline-block; width: .75em; height: .75em; margin-right: .6em; background: var(--wp--preset--color--accent); vertical-align: -0.05em; }
.has-primary-background-color .nabu-kicker { color: var(--wp--preset--color--accent); }

/* Outline button on dark backgrounds */
.has-primary-background-color .is-style-outline .wp-block-button__link { color: #fff; border-color: #fff; background: transparent; }
.has-primary-background-color .is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--primary); }
/* Solid button on dark backgrounds: hover to white rather than charcoal-on-charcoal */
.has-primary-background-color .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--primary); }

/* Cards */
.nabu-card { border-top: 4px solid var(--wp--preset--color--accent); transition: transform .15s ease, box-shadow .15s ease; }
.nabu-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(51,52,54,.12); }

/* Footer */
.nabu-footer-logo img { display: block; width: 150px; height: auto; }
.nabu-footer-heading { color: var(--wp--preset--color--accent); }
.nabu-plain-list { list-style: none; }
.nabu-plain-list li { margin-bottom: 0.35rem; }

/* Contact Form 7 */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea {
	width: 100%; padding: .7rem .8rem; border: 1px solid #cfd1c8; border-radius: 4px; font: inherit; box-sizing: border-box;
}
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 1px; }
.wpcf7 input[type="submit"] {
	background: var(--wp--preset--color--accent); color: var(--wp--preset--color--primary); font-weight: 600;
	border: 0; border-radius: 4px; padding: .9rem 2rem; font-family: inherit; font-size: inherit; cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--primary); color: #fff; }
.wpcf7 label { display: block; font-weight: 500; }

/* reCAPTCHA v3: badge hidden; Google's required notice is shown under the form instead */
.grecaptcha-badge { visibility: hidden; }
.nabu-recaptcha-note { font-size: .8rem; color: var(--wp--preset--color--contrast, #58595B); margin-top: 1rem; }
.nabu-recaptcha-note a { color: inherit; text-decoration: underline; }
