/*!
Theme Name: mcgqs
Theme URI: http://underscores.me/
Author: Sachin Nagpal
Author URI: http://underscores.me/
Description: Description
Version: 2026.05.05.1
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: mcgqs-com-au
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

mcgqs is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */


/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */


/* ====== FOOTER ====== */
        .footer { background: var(--dark); padding: 72px 0 36px; position: relative; }
        .footer::before { content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 2px; background: linear-gradient(90deg, transparent, var(--mcg-green), transparent); }
        .footer-grid { display: grid; grid-template-columns: 1fr; gap: 32px; margin-bottom: 36px; }
        @media (min-width: 768px) { .footer-grid { grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr 1fr; gap: 32px; } }
        .footer-brand { max-width: 260px; } .footer-brand img { height: 32px; margin-bottom: 14px; }
        .footer-brand p { font-size: 0.84rem; color: var(--gray-300); line-height: 1.7; }
        .footer-col-title { font-weight: 700; font-size: 0.9rem; color: var(--white); margin-bottom: 14px; }
        .footer-links { display: flex; flex-direction: column; gap: 10px; }
        .footer-link { font-size: 0.84rem; color: var(--gray-300); transition: color 0.25s; position: relative; }
        .footer-link:hover { color: var(--mcg-green); }
        .footer-link::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 1px; background: var(--mcg-green); transition: width 0.3s var(--ease-out-expo); }
        .footer-link:hover::after { width: 100%; }
        .footer-bottom { border-top: 1px solid rgba(255,255,255,0.07); padding-top: 28px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; }
        .footer-bottom-text { font-size: 0.78rem; color: var(--gray-300); }
        .footer-bottom-links { display: flex; gap: 20px; }
        .footer-bottom-links a { font-size: 0.78rem; color: var(--gray-300); transition: color 0.25s; }
        .footer-bottom-links a:hover { color: var(--mcg-green); }

        .scroll-top { position: fixed; bottom: 28px; right: 28px; width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--dark); border: 1px solid var(--dark-border); display: flex; align-items: center; justify-content: center; color: var(--white); z-index: 100; opacity: 0; transform: translateY(16px); transition: all 0.3s; pointer-events: none; }
        .scroll-top.visible { opacity: 1; transform: translateY(0); pointer-events: all; }
        .scroll-top:hover { background: var(--mcg-green); color: var(--dark); }
        a:focus-visible, button:focus-visible { outline: 2px solid var(--mcg-green); outline-offset: 2px; border-radius: 2px; }

        /* ====== GREEN ACCENT SEPARATOR ====== */
        .green-sep { height: 3px; background: linear-gradient(90deg, transparent 0%, var(--mcg-green) 20%, var(--mcg-green-light) 50%, var(--mcg-green) 80%, transparent 100%); opacity: 0.4; }

        /* ====== SHARE & REVIEW BAR ====== */
        .share-review { padding: 48px 0; background: var(--off-white); }
        .share-review-inner { text-align: center; }
        .share-review-label { font-size: 0.72rem; font-weight: 700; color: var(--gray-300); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; }
        .share-review-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
        .share-btn { display: inline-flex; align-items: center; gap: 7px; padding: 10px 18px; border-radius: var(--radius-sm); font-size: 0.82rem; font-weight: 600; border: 1px solid var(--gray-100); background: var(--white); color: var(--gray-500); transition: all 0.25s; }
        .share-btn:hover { border-color: var(--mcg-green); color: var(--dark); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.06); }
        .share-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
        .share-btn--google { border-color: rgba(140,193,63,0.3); background: var(--mcg-green-glow); color: var(--mcg-green-dark); font-weight: 700; }
        .share-btn--google:hover { background: var(--mcg-green); color: var(--dark); border-color: var(--mcg-green); }
/* ====== FAQ - CANONICAL DESIGN (site-wide, SEO/AEO/GEO + a11y optimised) ====== */
.faq { padding: 80px 0; background: var(--off-white); }
@media (min-width: 768px) { .faq { padding: 110px 0; } }
.faq-head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.faq-head .section-label { justify-content: center; }
.faq-list { max-width: 820px; margin: 0 auto; }
.faq-item { background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--radius-md); margin-bottom: 12px; padding: 0; transition: border-color 0.25s, box-shadow 0.25s; }
.faq-item:hover { border-color: rgba(140,193,63,0.3); box-shadow: 0 4px 16px rgba(26,26,46,0.04); }
.faq-item.open, .faq-item.open2 { border-color: rgba(140,193,63,0.45); box-shadow: 0 8px 28px rgba(26,26,46,0.07); }
.faq-q { width: 100%; padding: 22px 68px 22px 24px; text-align: left; font-size: 1.02rem; font-weight: 700; color: var(--dark); position: relative; line-height: 1.45; background: none; border: none; cursor: pointer; font-family: inherit; display: block; transition: color 0.2s; }
.faq-q:hover { color: var(--mcg-green-dark); }
.faq-item.open .faq-q, .faq-item.open2 .faq-q { color: var(--mcg-green-dark); }
.faq-q:focus-visible { outline: 2px solid var(--mcg-green); outline-offset: -2px; border-radius: var(--radius-md); }
.faq-q svg, .faq-q .faq-q-icon { display: none !important; }
.faq-q::after { content: '+'; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; background: var(--mcg-green-glow); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; font-weight: 600; color: var(--mcg-green-dark); transition: background 0.3s, color 0.3s, transform 0.3s; line-height: 1; }
.faq-item.open .faq-q::after, .faq-item.open2 .faq-q::after { content: '\2212'; background: var(--mcg-green); color: var(--dark); transform: translateY(-50%) rotate(180deg); }
.faq-a { max-height: 0; overflow: hidden; padding: 0 24px; transition: max-height 0.4s var(--ease-out-expo), padding 0.4s var(--ease-out-expo); }
.faq-item.open .faq-a, .faq-item.open2 .faq-a { max-height: 1500px; padding: 0 24px 22px; }
.faq-a-text, .faq-a-inner { font-size: 0.95rem; color: var(--gray-400); line-height: 1.75; padding: 0; margin: 0; }
.faq-a-text strong, .faq-a-inner strong { color: var(--dark); font-weight: 700; }
.faq-a-text a, .faq-a-inner a { color: var(--mcg-green-dark); font-weight: 700; border-bottom: 1px solid rgba(140,193,63,0.3); transition: color 0.2s, border-color 0.2s; }
.faq-a-text a:hover, .faq-a-inner a:hover { color: var(--mcg-green); border-bottom-color: var(--mcg-green); }
.faq-a-text p + p, .faq-a-inner p + p { margin-top: 0.85em; }
.faq-a-text ul, .faq-a-inner ul { padding-left: 1.25em; margin: 0.75em 0; }
.faq-a-text li, .faq-a-inner li { margin-bottom: 0.4em; }
@media (prefers-reduced-motion: reduce) { .faq-item, .faq-q, .faq-q::after, .faq-a, .faq-a-text a, .faq-a-inner a { transition: none !important; } }
@media print { .faq-a { max-height: none !important; padding: 0 24px 22px !important; } .faq-q::after { display: none !important; } .faq-item { break-inside: avoid; page-break-inside: avoid; } }
/* ====== FOOTER COLUMN TITLES - UPPERCASE site-wide ====== */
.footer-col-title { text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; }
/* ====== SECTION-LABEL - CANONICAL DASH STYLE (site-wide) ====== */
.section-label { font-size: 0.72rem; font-weight: 800; color: var(--mcg-green); letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 14px; display: inline-flex; align-items: center; gap: 8px; vertical-align: middle; background: transparent; padding: 0; border-radius: 0; border: none; }
.section-label::before { content: ''; width: 20px; height: 2px; background: var(--mcg-green); border-radius: 1px; flex-shrink: 0; }
.section-label[style*="justify-content:center"], .section-label[style*="justify-content: center"] { display: inline-flex; }
/* ====== HIDE redundant section-label when paired with hero-badge or cta-badge ====== */
.hero-badge ~ .section-label, .cta-badge ~ .section-label, .hero-badge + .section-label, .cta-badge + .section-label { display: none !important; }