/*
Theme Name: Polestar
Theme URI: https://example.com/polestar
Author: Polestar School
Author URI: https://example.com
Description: A custom WordPress theme converted from the Polestar School website design. Features a multi-page layout with Home, About, Academics, Admissions, Gallery and Contact pages, a Tailwind CSS design system, Customizer settings for contact details, and a dynamic News & Events section powered by WordPress posts.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: polestar
Tags: education, school, one-column, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   Polestar custom styles (layered on top of the Tailwind CDN build)
   ========================================================================== */

/* Full-width helper used by header & footer */
.full-width {
	width: 100%;
}

/* Smooth opacity/transform transition helper used across sections */
.transition-soft {
	transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Gallery hover overlay */
.overlay {
	transition: opacity 0.3s ease;
}
.image-card:hover .overlay {
	opacity: 1;
}

/* FAQ accordion */
.faq-active .faq-icon {
	transform: rotate(180deg);
}

/* --------------------------------------------------------------------------
   Navigation menus
   -------------------------------------------------------------------------- */
.desktop-nav,
.mobile-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

.desktop-nav li,
.mobile-nav li {
	margin: 0;
	padding: 0;
}

/* Active (current) menu item — matches the gold "nav-link.active" look */
.desktop-nav li.current-menu-item > a,
.desktop-nav li.current_page_item > a,
.mobile-nav li.current-menu-item > a,
.mobile-nav li.current_page_item > a {
	color: #fed488 !important;
	font-weight: 700 !important;
}
.desktop-nav li.current-menu-item > a,
.desktop-nav li.current_page_item > a {
	border-bottom: 2px solid #fed488 !important;
}

/* --------------------------------------------------------------------------
   WordPress search form
   -------------------------------------------------------------------------- */
.search-form {
	display: flex;
	gap: 0.75rem;
}
.search-form .search-field {
	flex: 1;
	padding: 0.875rem 1rem;
	border: 1px solid #c4c6cf;
	border-radius: 0.5rem;
	background: #fff;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.search-form .search-field:focus {
	border-color: #775a19;
	box-shadow: 0 0 0 2px rgba(119, 90, 25, 0.3);
}
.search-form .search-submit {
	background: #fed488;
	color: #785a1a;
	border: 0;
	border-radius: 0.5rem;
	padding: 0 1.5rem;
	font-family: Poppins, sans-serif;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease;
}
.search-form .search-submit:hover {
	background: #e9c176;
}

/* --------------------------------------------------------------------------
   Comments
   -------------------------------------------------------------------------- */
.comments-area {
	margin-top: 3rem;
	background: #fff;
	border: 1px solid #c4c6cf;
	border-radius: 0.5rem;
	padding: 2rem;
}
.comments-area .comments-title {
	font-family: "Ropa Sans", sans-serif;
	font-size: 22px;
	color: #002045;
	margin-bottom: 1.5rem;
}
.comments-area ol.comment-list {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}
.comments-area ol.comment-list .comment {
	padding: 1rem 0;
	border-bottom: 1px solid #e1e3e4;
}
.comments-area ol.comment-list .comment-body {
	font-family: Poppins, sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: #43474e;
}
.comments-area ol.comment-list .comment-author,
.comments-area ol.comment-list .comment-metadata {
	font-family: "Ropa Sans", sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 12px;
}
.comments-area ol.comment-list .comment-author {
	color: #002045;
	font-weight: 700;
}
.comments-area ol.comment-list .comment-metadata a {
	color: #74777f;
	text-decoration: none;
}
.comments-area ol.comment-list .reply a {
	color: #775a19;
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-decoration: none;
}
.comments-area .comment-respond .comment-reply-title {
	font-family: "Ropa Sans", sans-serif;
	font-size: 20px;
	color: #002045;
	margin-bottom: 1rem;
}
.comments-area .comment-form label {
	display: block;
	font-family: "Ropa Sans", sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 12px;
	color: #002045;
	margin-bottom: 0.25rem;
}
.comments-area .comment-form input[type="text"],
.comments-area .comment-form input[type="email"],
.comments-area .comment-form input[type="url"],
.comments-area .comment-form textarea {
	width: 100%;
	padding: 0.75rem;
	border: 1px solid #c4c6cf;
	border-radius: 0.5rem;
	font-family: Poppins, sans-serif;
	outline: none;
}
.comments-area .comment-form input:focus,
.comments-area .comment-form textarea:focus {
	border-color: #775a19;
}
.comments-area .comment-form .submit {
	background: #002045;
	color: #fff;
	border: 0;
	border-radius: 0.5rem;
	padding: 0.875rem 2rem;
	font-family: Poppins, sans-serif;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease;
}
.comments-area .comment-form .submit:hover {
	background: #775a19;
}

/* --------------------------------------------------------------------------
   Pagination
   -------------------------------------------------------------------------- */
.navigation.pagination {
	display: flex;
	justify-content: center;
	margin-top: 4rem;
}
.navigation.pagination .nav-links {
	display: flex;
	gap: 0.5rem;
}
.navigation.pagination .page-numbers {
	min-width: 2.75rem;
	height: 2.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #c4c6cf;
	border-radius: 0.5rem;
	background: #fff;
	color: #002045;
	font-family: Poppins, sans-serif;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.navigation.pagination .page-numbers.current,
.navigation.pagination .page-numbers:hover {
	background: #002045;
	color: #fff;
}

/* --------------------------------------------------------------------------
   WordPress core content
   -------------------------------------------------------------------------- */
.alignleft {
	float: left;
	margin: 0.5em 1.5em 1em 0;
}
.alignright {
	float: right;
	margin: 0.5em 0 1em 1.5em;
}
.aligncenter {
	display: block;
	margin: 0.5em auto;
}
.wp-caption {
	max-width: 100%;
}
.wp-caption-text,
.wp-block-image figcaption {
	font-size: 14px;
	line-height: 1.5;
	color: #74777f;
	margin-top: 0.5em;
}
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	word-wrap: normal !important;
}
