/*
Theme Name: Seun Odiase Academy
Theme URI: https://courses.seunodiase.com
Author: Dr Seun Odiase
Description: Free block theme for courses.seunodiase.com (Direction B, Modern health-tech). Built for the free Masteriyo LMS plugin: course catalogue, learner account, lessons, quizzes and certificates. Colours and fonts are locked so edits cannot break the design.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: seunodiase-academy
Tags: block-patterns, full-site-editing, education, custom-colors, editor-style
*/

:root {
	--sa-blue: var(--wp--preset--color--blue);
	--sa-mint: var(--wp--preset--color--mint);
	--sa-mint-dark: var(--wp--preset--color--mint-dark);
	--sa-tint: var(--wp--preset--color--tint);
	--sa-soft: var(--wp--preset--color--soft);
	--sa-ink: var(--wp--preset--color--ink);
	--sa-slate: var(--wp--preset--color--slate);
	--sa-line: var(--wp--preset--color--line);
}
h1, h2, h3 { text-wrap: balance; }
:where(.wp-site-blocks) :focus-visible { outline: 2px solid var(--sa-blue); outline-offset: 3px; }

/* Header */
.sa-header { border-bottom: 1px solid var(--sa-line); background: rgba(255,255,255,.96); }
.sa-logo { display: flex; align-items: center; gap: .55rem; font-weight: 800; letter-spacing: -0.02em; font-size: 1.1rem; }
.sa-logo a { color: var(--sa-ink); text-decoration: none; }
.sa-logo::before { content: ""; width: 24px; height: 24px; border-radius: 7px; background: linear-gradient(135deg, var(--sa-blue), var(--sa-mint)); flex: none; }
.sa-header .wp-block-navigation a { color: var(--sa-slate); font-weight: 500; text-decoration: none; }
.sa-header .wp-block-navigation a:hover { color: var(--sa-blue); }

/* Kicker */
.sa-kicker { font-size: .78rem !important; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--sa-mint-dark); margin-bottom: .35rem !important; }
.has-blue-background-color .sa-kicker { color: #bfeee5; }

/* Hero */
.sa-hero { background: radial-gradient(120% 90% at 100% 0%, var(--sa-tint) 0, rgba(238,242,255,0) 60%); }
.sa-hero h1 { font-size: var(--wp--preset--font-size--display); line-height: 1.06; letter-spacing: -0.035em; }
.sa-hero h1 .sa-accent { color: var(--sa-blue); }
.sa-photo img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: 50% 25%; border-radius: 22px; }

/* Buttons */
.wp-block-button.is-style-outline > .wp-block-button__link { background: var(--sa-tint); color: var(--sa-blue); border: 0; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #dfe6ff; color: var(--wp--preset--color--blue-dark); }

/* Cards and strip */
.sa-card { background: var(--sa-soft); border: 1px solid var(--sa-line); border-radius: 16px; padding: 1.3rem 1.3rem 1.1rem; height: 100%; box-sizing: border-box; }
.sa-card h3 { margin-top: .2rem; }
.sa-card p { font-size: .95rem; color: var(--sa-slate); }
.sa-step-num { display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; border-radius: 999px; background: var(--sa-tint); color: var(--sa-blue); font-weight: 800; font-size: .95rem; margin: 0 !important; }
.sa-strip .wp-block-column { background: var(--sa-soft); border: 1px solid var(--sa-line); border-radius: 14px; padding: 1rem 1.1rem; }
.sa-strip p { margin: 0; color: var(--sa-slate); font-size: .9rem; }
.sa-strip .sa-stat { color: var(--sa-blue); font-weight: 800; font-size: 1.45rem; line-height: 1.1; margin-bottom: .2rem; }
.sa-course { background: #fff; border: 1px solid var(--sa-line); border-radius: 20px; padding: 1.6rem; box-shadow: 0 18px 40px rgba(36, 72, 224, .08); }
.sa-course ol { padding-left: 1.2rem; margin: 0; }
.sa-course li { margin-bottom: .35rem; font-size: .95rem; }
.sa-pill { display: inline-block; background: var(--sa-tint); color: var(--sa-blue); border-radius: 999px; padding: .2rem .7rem; font-size: .78rem !important; font-weight: 700; margin: 0 !important; }
.sa-module-num { color: var(--sa-mint-dark); font-weight: 800; font-size: .85rem !important; margin: 0 !important; }

/* FAQ */
.sa-faq details { border-bottom: 1px solid var(--sa-line); padding: .9rem 0; }
.sa-faq summary { font-weight: 700; cursor: pointer; }
.sa-faq details p { margin: .6rem 0 0; color: var(--sa-slate); }

/* Footer */
.sa-footer a { color: #c9d3ee; text-decoration: none; }
.sa-footer a:hover { color: #fff; text-decoration: underline; }
.sa-footer p { margin: .25rem 0; font-size: .92rem; }
.sa-footer .sa-footer-head { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: #8fe3d4; margin-bottom: .6rem; }
.sa-footer .sa-disclaimer { color: #9aa6c4; font-size: .8rem; }

/* Masteriyo: keep its pages inside the brand */
.masteriyo-btn, .masteriyo-btn-primary, .masteriyo-single-course--btn, .masteriyo-enroll-btn { border-radius: 999px !important; }
.masteriyo-btn-primary, .masteriyo-enroll-btn { background-color: var(--sa-blue) !important; border-color: var(--sa-blue) !important; }
.masteriyo-btn-primary:hover, .masteriyo-enroll-btn:hover { background-color: var(--wp--preset--color--blue-dark) !important; }
.masteriyo-course--card, .masteriyo-course-card { border-radius: 16px !important; border-color: var(--sa-line) !important; }

@media (max-width: 600px) { .sa-header .wp-block-buttons { display: none; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
.wp-site-blocks > footer, .wp-site-blocks > main { margin-block-start: 0; }
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > main { flex: 1 0 auto; }
