/*
Theme Name: NFITT Lite
Theme URI: https://nfitt.org/
Author: North Florida Institute of Theology & Technology
Description: Lightweight information-only block theme for nfitt.org. Recreates the original NFITT look with core WordPress blocks only: no page builder, no LMS, no shop. Student login and registration link to lms.nfitt.org.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: nfitt-lite
*/

/* ---------- Top bar ---------- */
.nfitt-topbar { font-size: 12px; }
.nfitt-topbar > .wp-block-group { align-items: center; gap: 12px 24px; }
.nfitt-logo { margin: 0; }
.nfitt-logo img { display: block; height: auto; max-width: 190px; }
.nfitt-announcement { margin: 0; font-size: 12px; letter-spacing: .3px; text-transform: uppercase; }
.nfitt-announcement a { text-decoration: none; }
.nfitt-announcement a:hover { text-decoration: underline; }
.nfitt-account-links { gap: 8px; }
.nfitt-account-links .wp-block-button__link {
	padding: 6px 16px;
	font-size: 12px;
	font-family: var(--wp--preset--font-family--body);
	letter-spacing: .4px;
}
.nfitt-account-links .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.6); }
.nfitt-account-links .is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--topbar); }
.nfitt-account-links .nfitt-signup .wp-block-button__link { background: var(--wp--preset--color--accent); color: #fff; }
.nfitt-account-links .nfitt-signup .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--topbar); }

/* ---------- Main menu ---------- */
.nfitt-mainbar { position: sticky; top: 0; z-index: 50; box-shadow: 0 2px 6px rgba(0,0,0,.25); }
.admin-bar .nfitt-mainbar { top: var(--wp-admin--admin-bar--height, 32px); }
.nfitt-menu { font-size: 14px; font-weight: 600; text-transform: uppercase; gap: 0; }
.nfitt-menu .wp-block-navigation__container { gap: 0; }
.nfitt-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex;
	flex-direction: column;
	padding: 16px 18px 14px;
	line-height: 1.3;
	text-decoration: none;
}
.nfitt-menu .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.nfitt-menu .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.nfitt-menu .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content { background: var(--wp--preset--color--accent); }
.nfitt-menu .wp-block-navigation-item__description {
	display: block;
	font-size: 8.5px;
	font-weight: 400;
	letter-spacing: .3px;
	opacity: .75;
}
.nfitt-menu .wp-block-navigation__submenu-icon { margin-left: 4px; }
.nfitt-menu .wp-block-navigation-submenu > .wp-block-navigation-item__content { flex-direction: column; }
.nfitt-menu .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--navy) !important;
	border: 0 !important;
	min-width: 240px !important;
	text-transform: none;
	font-weight: 400;
	box-shadow: 0 6px 14px rgba(0,0,0,.3);
}
.nfitt-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 10px 18px !important; }
.nfitt-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--accent); }
.nfitt-menu .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--navy) !important; color: #fff !important; }

/* ---------- Page sections ---------- */
.nfitt-main--front > .wp-block-post-content > :first-child,
.nfitt-main--sections > .wp-block-post-content > :first-child { margin-top: 0; }
.wp-block-post-content > .nfitt-section { margin-top: 0; margin-bottom: 0; padding-top: 48px; padding-bottom: 48px; }
.nfitt-section .wp-block-columns { gap: 32px; }
.nfitt-section .wp-block-image img { height: auto; }

/* The first full-width band of a sectioned page doubles as its title area. */
.nfitt-main--sections > .wp-block-post-content > .nfitt-section:first-child:not(.wp-block-cover) { background: var(--wp--preset--color--light); }

/* Hero (cover block) */
.wp-block-cover.nfitt-section { min-height: 640px; padding-top: 60px; padding-bottom: 60px; }
.wp-block-cover.nfitt-section .wp-block-cover__background { opacity: .45; }
.wp-block-cover.nfitt-section h2 { color: #fff; font-size: var(--wp--preset--font-size--hero); font-weight: 600; line-height: 1.12; }
.wp-block-cover.nfitt-section h3 { color: #fff; font-family: var(--wp--preset--font-family--body); font-weight: 500; }
.wp-block-cover.nfitt-section p { color: #e6e6e6; font-weight: 300; }
.wp-block-cover.nfitt-section .wp-block-button__link { background: #fff; color: #000; font-weight: 600; }
.wp-block-cover.nfitt-section .wp-block-button__link:hover { background: var(--wp--preset--color--accent); color: #fff; }
.wp-block-cover.nfitt-section .wp-block-columns { align-items: center; }
.wp-block-cover.nfitt-section .wp-block-image img { max-width: 440px; width: 100%; }

/* Degree cards: image + button stacked, button full width */
.nfitt-section .wp-block-column > .wp-block-image + .wp-block-buttons { margin-top: 0; }
.nfitt-section .wp-block-column > .wp-block-image + .wp-block-buttons .wp-block-button { width: 100%; }
.nfitt-section .wp-block-column > .wp-block-image + .wp-block-buttons .wp-block-button__link { display: block; width: 100%; text-align: center; }
.nfitt-section .wp-block-column > .wp-block-image:has(+ .wp-block-buttons) { margin-bottom: 0; }

/* Feature boxes with icons */
.nfitt-feature { padding-left: 84px; position: relative; min-height: 70px; }
.nfitt-feature h3 { font-size: 21px; margin-top: 0; }
.nfitt-feature p { color: #4c4c4c; font-size: 16px; font-weight: 300; }
.nfitt-icon {
	position: absolute;
	left: 0;
	top: 0;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	border: 2px solid var(--wp--preset--color--deep);
	background: transparent;
}
.nfitt-icon::after {
	content: "";
	position: absolute;
	inset: 17px;
	background: var(--wp--preset--color--deep);
	-webkit-mask: var(--nfitt-icon) center / contain no-repeat;
	mask: var(--nfitt-icon) center / contain no-repeat;
}
.nfitt-icon--certificate { --nfitt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1l2.4 2.1 3.2-.4.9 3.1 2.9 1.4-1 3.1 1 3.1-2.9 1.4-.9 3.1-3.2-.4L12 23l-2.4-2.1-3.2.4-.9-3.1-2.9-1.4 1-3.1-1-3.1 2.9-1.4.9-3.1 3.2.4z'/%3E%3C/svg%3E"); }
.nfitt-icon--money-bill-wave { --nfitt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M1 5h22v14H1zm11 3.5a3.5 3.5 0 100 7 3.5 3.5 0 000-7zM4 8v2a2 2 0 002-2zm14 0a2 2 0 002 2V8zM4 14v2h2a2 2 0 00-2-2zm16 0a2 2 0 00-2 2h2z'/%3E%3C/svg%3E"); }
.nfitt-icon--book { --nfitt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 2h14a1 1 0 011 1v15H6.5a1.5 1.5 0 000 3H20v1H6a3 3 0 01-3-3V4a2 2 0 012-2zm3 4v2h8V6z'/%3E%3C/svg%3E"); }
.nfitt-icon--tablet-alt { --nfitt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M6 1h12a2 2 0 012 2v18a2 2 0 01-2 2H6a2 2 0 01-2-2V3a2 2 0 012-2zm0 3v14h12V4zm6 15.2a1 1 0 100 2 1 1 0 000-2z'/%3E%3C/svg%3E"); }
.nfitt-icon--dot { --nfitt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3C/svg%3E"); }

/* Check-mark lists (were Elementor icon lists) */
ul.is-style-checks { list-style: none; padding-left: 0; }
ul.is-style-checks li { position: relative; padding-left: 26px; margin-bottom: 6px; }
ul.is-style-checks li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .45em;
	width: 12px;
	height: 7px;
	border-left: 2px solid var(--wp--preset--color--accent);
	border-bottom: 2px solid var(--wp--preset--color--accent);
	transform: rotate(-45deg);
}

/* Tables (tuition) */
.wp-block-table table { border-collapse: collapse; width: 100%; max-width: 720px; }
.wp-block-table td, .wp-block-table th { border: 1px solid #d5dde3; padding: 9px 12px; }
.wp-block-table tr:nth-child(even) td { background: #f4f8fa; }

/* Title band on simple pages */
.nfitt-titleband .wp-block-post-title { margin-top: 0; margin-bottom: 0; font-size: 32px; color: var(--wp--preset--color--deep); }

/* ---------- Footer ---------- */
.nfitt-footer { position: relative; }
.nfitt-footer .nfitt-footer-lead { max-width: 760px; margin-left: auto; margin-right: auto; font-size: 16px; }
.nfitt-footer-cols { margin-top: 34px; }
.nfitt-footer h4 { color: #fff; font-size: 15px; text-transform: uppercase; margin-bottom: 10px; }
.nfitt-footer ul { list-style: none; padding: 0; margin: 0; font-size: 14px; font-weight: 300; }
.nfitt-footer ul li { margin-bottom: 4px; color: #c9d3f2; }
.nfitt-footer a { text-decoration: none; }
.nfitt-footer a:hover { text-decoration: underline; color: #fff; }
.nfitt-social { gap: 10px; }
.nfitt-copyright { color: #444; font-size: 12px; background: #fff; }
.nfitt-copyright p { margin: 0; }

/* ---------- Small screens ---------- */
@media (max-width: 781px) {
	.nfitt-topbar > .wp-block-group { justify-content: center; }
	.nfitt-announcement { order: 3; width: 100%; text-align: center; }
	.nfitt-mainbar { padding-top: 6px; padding-bottom: 6px; }
	.wp-block-cover.nfitt-section { min-height: 0; }
	.wp-block-cover.nfitt-section .wp-block-image img { max-width: 240px; }
	.nfitt-feature { padding-left: 76px; }
}

/* Section headings that were upper-case display titles in the old design */
.nfitt-section > h3.has-text-align-center:first-child { font-size: clamp(26px, 3vw, 39px); text-transform: uppercase; }
