/*
Theme Name: Quran Academy
Theme URI: https://tarteelulquranacademy.com
Author: ImpactBrains
Author URI: https://impactbrains.com
Description: Thin, fast companion theme for Tarteel ul Quran Academy. The header, footer, page sections, course pages and blog templates all come from the Tarteel Academy Control plugin, so one change in Academy settings updates the whole site. Works with Elementor Free; no page builder required.
Version: 4.0.2
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: quran-academy
*/

/* Everything branded lives in the plugin's design system (tca.css). This file only sets the page canvas,
   harmonises native Elementor widgets with the brand, and styles the fallbacks used if the plugin is off. */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 88px; }
main.site-main, .qa-fallback { overflow-x: clip; }
body {
	margin: 0;
	background: var(--tca-ivory, #F8F4E8);
	color: var(--tca-ink, #1F2933);
	font-family: var(--tca-font-body, 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif);
	font-size: 1.0625rem;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}
img, video { max-width: 100%; height: auto; }
iframe, embed, object, canvas { max-width: 100%; }
pre { max-width: 100%; overflow-x: auto; }
:where(:lang(ar)) { font-family: var(--tca-font-arabic, 'Noto Naskh Arabic', serif); }
:where(a) { color: var(--tca-emerald, #0F4A3C); text-underline-offset: 3px; }
:where(a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible) { outline: 3px solid var(--tca-brass, #C5A04A); outline-offset: 2px; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 100000; width: auto; height: auto; clip: auto; padding: 12px 18px; border-radius: 999px; background: #fff; color: var(--tca-emerald, #0F4A3C); font-weight: 700; box-shadow: 0 8px 24px rgba(7, 42, 34, .18); }

.site-main { display: block; min-height: 50vh; }

/* Native Elementor widgets use the brand type and colours (Academy sections style themselves). */
.elementor-widget-heading .elementor-heading-title { font-family: var(--tca-font-display, 'Source Serif 4', Georgia, serif); color: var(--tca-ink, #1F2933); letter-spacing: -.015em; }
.elementor-widget-text-editor { font-family: var(--tca-font-body, 'Manrope', system-ui, sans-serif); color: var(--tca-ink-2, #3A4652); }
.elementor-widget-button .elementor-button { border-radius: 999px; font-family: var(--tca-font-body, 'Manrope', system-ui, sans-serif); font-weight: 700; max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 1240px; }

/* Block editor content inside plain pages and posts */
.wp-block-image img { border-radius: 16px; }
.wp-block-button__link { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.wp-block-quote { border-left: 4px solid var(--tca-brass, #C5A04A); margin-inline: 0; padding-left: 20px; }

/* Fallbacks: shown only when the Tarteel Academy Control plugin is inactive */
.qa-fallback { width: min(100% - 32px, 1180px); margin: 0 auto; padding: 32px 0; }
.qa-fallback-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.qa-fallback-header a { color: inherit; text-decoration: none; }
.qa-fallback-header ul { display: flex; flex-wrap: wrap; gap: 16px; list-style: none; margin: 0; padding: 0; }
.qa-fallback-header .custom-logo { width: auto; max-height: 56px; }
.qa-fallback h1 { font-family: var(--tca-font-display, Georgia, serif); line-height: 1.15; }
.qa-fallback article + article { margin-top: 32px; padding-top: 32px; border-top: 1px solid rgba(15, 74, 60, .14); }
.qa-notice { margin: 0; padding: 10px 16px; background: #FCF0E3; color: #6A3B0C; font-size: .9375rem; text-align: center; }
