/**
 * File: assets/css/pages/core-templates.css
 * Description: Core WordPress template styles for Magida Creative Co.
 *
 * MAGIDA CORE TEMPLATES PASS 6:
 * - Styles page.php, home.php, single.php, archive.php, search.php, 404.php, comments.php, and searchform.php.
 * - Keeps core template visuals separate from global/header/footer/component CSS.
 */

.magida-template {
	position: relative;
}

.magida-page-hero {
	position: relative;
	isolation: isolate;
	padding-block: 92px 74px;
	overflow: hidden;
	border-bottom: 1px solid rgba(190, 189, 229, 0.12);
	background:
		radial-gradient(
			circle at 15% 20%,
			rgba(5, 223, 254, 0.12),
			transparent 22rem
		),
		radial-gradient(
			circle at 85% 5%,
			rgba(124, 106, 251, 0.13),
			transparent 24rem
		),
		linear-gradient(180deg, rgba(12, 15, 26, 0.38), rgba(6, 7, 11, 0));
}

.magida-page-hero::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(190, 189, 229, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(190, 189, 229, 0.035) 1px, transparent 1px);
	background-size: 46px 46px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.7), transparent 78%);
	content: "";
}

.magida-page-hero__inner {
	max-width: 860px;
}

.magida-page-hero__title {
	margin-top: 18px;
	max-width: 900px;
	font-size: clamp(2.45rem, 6vw, 5rem);
}

.magida-page-hero__description {
	max-width: 720px;
	margin-top: 20px;
}

.magida-page-hero__description p {
	margin: 0;
	font-size: clamp(1rem, 2vw, 1.16rem);
}

.magida-page-hero__meta {
	margin-top: 24px;
}

.magida-entry-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.magida-entry-meta__item {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 11px;
	border: 1px solid rgba(190, 189, 229, 0.14);
	border-radius: var(--magida-radius-full);
	background: rgba(255, 255, 255, 0.035);
	color: var(--magida-text-soft);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1;
}

.magida-entry-meta__item--type {
	border-color: rgba(5, 223, 254, 0.28);
	color: var(--magida-cyan);
}

a.magida-entry-meta__item:hover,
a.magida-entry-meta__item:focus-visible {
	border-color: rgba(5, 223, 254, 0.48);
	color: var(--magida-cyan);
}

.magida-content-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.magida-content-card,
.magida-search-result,
.magida-featured-post,
.magida-empty-state,
.magida-not-found,
.magida-comments,
.magida-entry__content,
.magida-detail-panel,
.magida-entry__featured-image {
	position: relative;
	overflow: hidden;
}

.magida-content-card,
.magida-search-result,
.magida-featured-post,
.magida-empty-state,
.magida-not-found,
.magida-comments,
.magida-entry__content,
.magida-detail-panel {
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.magida-content-card::before,
.magida-search-result::before,
.magida-featured-post::before,
.magida-empty-state::before,
.magida-not-found::before,
.magida-comments::before,
.magida-entry__content::before,
.magida-detail-panel::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 1px;
	background: var(--magida-gradient-line);
	opacity: 0.54;
	content: "";
}

.magida-content-card__media,
.magida-featured-post__media,
.magida-entry__featured-image {
	display: block;
	background: rgba(255, 255, 255, 0.035);
}

.magida-content-card__media img,
.magida-featured-post__media img,
.magida-entry__featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.magida-content-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-bottom: 1px solid rgba(190, 189, 229, 0.12);
}

.magida-content-card__media img {
	transition: transform var(--magida-transition-slow);
}

.magida-content-card:hover .magida-content-card__media img {
	transform: scale(1.04);
}

.magida-content-card__body,
.magida-search-result__content {
	padding: 24px;
}

.magida-content-card__title,
.magida-search-result__title {
	margin-top: 16px;
	font-size: clamp(1.18rem, 2vw, 1.45rem);
	line-height: 1.18;
}

.magida-content-card__title a,
.magida-search-result__title a,
.magida-featured-post__title a {
	color: var(--magida-white);
}

.magida-content-card__title a:hover,
.magida-content-card__title a:focus-visible,
.magida-search-result__title a:hover,
.magida-search-result__title a:focus-visible,
.magida-featured-post__title a:hover,
.magida-featured-post__title a:focus-visible {
	color: var(--magida-cyan);
}

.magida-content-card__excerpt,
.magida-search-result__excerpt {
	margin-top: 14px;
}

.magida-content-card__link,
.magida-search-result__link {
	margin-top: 16px;
}

.magida-featured-post {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.82fr);
	gap: 28px;
	align-items: center;
	margin-bottom: 32px;
	padding: 28px;
}

.magida-featured-post__title {
	margin-top: 18px;
	font-size: clamp(1.7rem, 3vw, 2.75rem);
}

.magida-featured-post__excerpt {
	max-width: 640px;
	margin-top: 18px;
}

.magida-featured-post .magida-button {
	margin-top: 22px;
}

.magida-featured-post__media {
	aspect-ratio: 16 / 11;
	overflow: hidden;
	border: 1px solid rgba(5, 223, 254, 0.18);
	border-radius: var(--magida-radius-lg);
}

.magida-search-page-form,
.magida-empty-state__search,
.magida-not-found__search {
	margin-bottom: 28px;
}

.magida-search-results {
	display: grid;
	gap: 18px;
}

.magida-search-result {
	transition:
		border-color var(--magida-transition),
		transform var(--magida-transition),
		box-shadow var(--magida-transition);
}

.magida-search-result:hover {
	border-color: rgba(5, 223, 254, 0.28);
	box-shadow: var(--magida-glow-soft);
	transform: translateY(-2px);
}

.magida-search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	width: 100%;
}

.magida-search-form__field {
	min-height: 58px;
	width: 100%;
	border: 1px solid rgba(190, 189, 229, 0.16);
	border-radius: var(--magida-radius-md);
	background: rgba(255, 255, 255, 0.035);
	padding: 0 18px;
	color: var(--magida-white);
	font: inherit;
	transition:
		border-color var(--magida-transition),
		box-shadow var(--magida-transition),
		background-color var(--magida-transition);
}

.magida-search-form__field::placeholder {
	color: rgba(190, 189, 229, 0.56);
}

.magida-search-form__field:focus {
	border-color: rgba(5, 223, 254, 0.62);
	background: rgba(255, 255, 255, 0.055);
	box-shadow: var(--magida-glow-soft);
	outline: none;
}

.magida-search-form__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 58px;
	padding: 0 22px;
	border: 1px solid rgba(5, 223, 254, 0.5);
	border-radius: 8px;
	background: linear-gradient(
		135deg,
		rgba(5, 223, 254, 0.16),
		rgba(124, 106, 251, 0.15)
	);
	color: var(--magida-white);
	font-family: var(--magida-font-heading);
	font-weight: 800;
	transition:
		border-color var(--magida-transition),
		box-shadow var(--magida-transition),
		transform var(--magida-transition);
}

.magida-search-form__button svg {
	width: 19px;
	height: 19px;
}

.magida-search-form__button:hover,
.magida-search-form__button:focus-visible {
	border-color: rgba(5, 223, 254, 0.82);
	box-shadow: var(--magida-glow-medium);
	transform: translateY(-1px);
}

.magida-entry__featured-image {
	margin-bottom: 24px;
	border-radius: var(--magida-radius-lg);
}

.magida-entry__featured-image img {
	max-height: 520px;
}

.magida-entry__content {
	padding: clamp(24px, 4vw, 44px);
}

.magida-entry__content > * + * {
	margin-top: 1.15em;
}

.magida-entry__content h2,
.magida-entry__content h3,
.magida-entry__content h4 {
	margin-top: 1.45em;
}

.magida-entry__content a {
	color: var(--magida-cyan);
	font-weight: 700;
}

.magida-entry__content ul,
.magida-entry__content ol {
	padding-left: 1.35rem;
	color: var(--magida-text-soft);
}

.magida-entry__content li + li {
	margin-top: 0.45em;
}

.magida-entry__content blockquote {
	margin: 1.6em 0;
	padding: 18px 22px;
	border-left: 3px solid var(--magida-cyan);
	border-radius: var(--magida-radius-md);
	background: rgba(5, 223, 254, 0.055);
	color: var(--magida-text-soft);
}

.magida-entry__content img,
.magida-entry__content iframe,
.magida-entry__content video {
	max-width: 100%;
	border-radius: var(--magida-radius-md);
}

.magida-entry__edit {
	margin-top: 20px;
}

.magida-entry__edit a {
	color: var(--magida-cyan);
	font-weight: 800;
}

.magida-detail-panel {
	margin-bottom: 24px;
	padding: clamp(22px, 3vw, 32px);
}

.magida-detail-panel__title {
	margin-bottom: 20px;
	font-size: clamp(1.3rem, 2.2vw, 1.9rem);
}

.magida-detail-panel__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.magida-detail-panel__item {
	padding: 16px;
	border: 1px solid rgba(190, 189, 229, 0.12);
	border-radius: var(--magida-radius-md);
	background: rgba(255, 255, 255, 0.025);
}

.magida-detail-panel__item span {
	display: block;
	color: var(--magida-text-muted);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.magida-detail-panel__item strong {
	display: block;
	margin-top: 8px;
	color: var(--magida-white);
	font-family: var(--magida-font-heading);
}

.magida-detail-panel__lists {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 18px;
}

.magida-detail-panel__lists h3 {
	font-size: 1rem;
}

.magida-detail-panel__lists ul {
	margin-top: 10px;
	padding-left: 1.2rem;
	color: var(--magida-text-soft);
}

.magida-detail-panel__button {
	margin-top: 22px;
}

.magida-button--ghost {
	border: 1px solid rgba(190, 189, 229, 0.18);
	background: rgba(255, 255, 255, 0.025);
	color: var(--magida-text-soft);
}

.magida-button--ghost:hover,
.magida-button--ghost:focus-visible {
	border-color: rgba(5, 223, 254, 0.5);
	color: var(--magida-white);
	box-shadow: var(--magida-glow-soft);
	transform: translateY(-1px);
}

.magida-empty-state,
.magida-not-found,
.magida-comments {
	padding: clamp(24px, 4vw, 42px);
}

.magida-empty-state__title {
	margin-top: 16px;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
}

.magida-not-found__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.magida-not-found__search {
	margin-top: 30px;
	margin-bottom: 0;
}

.magida-pagination {
	margin-top: 38px;
}

.magida-pagination .nav-links,
.magida-post-navigation .nav-links,
.comment-navigation .nav-links {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
}

.magida-pagination .page-numbers,
.magida-post-navigation a,
.comment-navigation a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 14px;
	border: 1px solid rgba(190, 189, 229, 0.16);
	border-radius: var(--magida-radius-md);
	background: rgba(255, 255, 255, 0.025);
	color: var(--magida-text-soft);
	font-weight: 800;
}

.magida-pagination .current,
.magida-pagination a:hover,
.magida-pagination a:focus-visible,
.magida-post-navigation a:hover,
.magida-post-navigation a:focus-visible,
.comment-navigation a:hover,
.comment-navigation a:focus-visible {
	border-color: rgba(5, 223, 254, 0.5);
	color: var(--magida-cyan);
}

.magida-post-navigation {
	margin-top: 28px;
}

.magida-post-navigation .nav-links {
	justify-content: space-between;
}

.magida-post-navigation .nav-previous,
.magida-post-navigation .nav-next {
	flex: 1 1 280px;
}

.magida-post-navigation .nav-next {
	text-align: right;
}

.magida-post-navigation a {
	align-items: flex-start;
	flex-direction: column;
	width: 100%;
	padding: 16px;
}

.magida-post-navigation span {
	color: var(--magida-text-muted);
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.magida-post-navigation strong {
	margin-top: 5px;
	color: var(--magida-white);
}

.magida-page-links {
	padding-top: 1.4em;
	color: var(--magida-text-soft);
}

.magida-comments {
	margin-top: 32px;
}

.magida-comments__title,
.comment-reply-title {
	font-size: clamp(1.3rem, 2.4vw, 2rem);
}

.magida-comments__list {
	margin-top: 20px;
	padding-left: 1.1rem;
	color: var(--magida-text-soft);
}

.magida-comments__list .comment-body {
	margin-top: 16px;
	padding: 18px;
	border: 1px solid rgba(190, 189, 229, 0.12);
	border-radius: var(--magida-radius-md);
	background: rgba(255, 255, 255, 0.025);
}

.magida-comment-form-wrap {
	margin-top: 28px;
}

.magida-comment-form p {
	margin-top: 14px;
}

/* MAGIDA PASS 6.1: Keep text fields full-width, but do not stretch checkboxes/radios. */
.magida-comment-form
	input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not(
		[type="hidden"]
	),
.magida-comment-form textarea {
	width: 100%;
	border: 1px solid rgba(190, 189, 229, 0.16);
	border-radius: var(--magida-radius-md);
	background: rgba(255, 255, 255, 0.035);
	padding: 13px 15px;
	color: var(--magida-white);
	font: inherit;
}

/* MAGIDA PASS 6.1: Align the WordPress comment consent checkbox with its label. */
.magida-comment-form .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--magida-text-soft);
}

.magida-comment-form .comment-form-cookies-consent input[type="checkbox"] {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 0.28em 0 0;
	accent-color: var(--magida-cyan);
}

.magida-comment-form .comment-form-cookies-consent label {
	margin: 0;
	line-height: 1.6;
}

.magida-comment-form input[type="submit"] {
	min-height: 48px;
	padding: 0 22px;
	border-radius: 8px;
	background: linear-gradient(
		135deg,
		rgba(5, 223, 254, 0.2),
		rgba(124, 106, 251, 0.18)
	);
	color: var(--magida-white);
	font-family: var(--magida-font-heading);
	font-weight: 800;
}

@media (max-width: 1024px) {
	.magida-content-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.magida-featured-post {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.magida-page-hero {
		padding-block: 66px 54px;
	}

	.magida-content-grid,
	.magida-detail-panel__grid,
	.magida-detail-panel__lists {
		grid-template-columns: 1fr;
	}

	.magida-search-form {
		grid-template-columns: 1fr;
	}

	.magida-search-form__button {
		width: 100%;
	}

	.magida-content-card__body,
	.magida-search-result__content {
		padding: 20px;
	}

	.magida-featured-post {
		padding: 22px;
	}

	.magida-not-found__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.magida-not-found__actions .magida-button {
		width: 100%;
	}

	.magida-post-navigation .nav-next {
		text-align: left;
	}
}

/*
 * MAGIDA PASS 24.1.43: Search and 404 Utility Page Visual Alignment.
 * - Keeps utility templates branded without turning them into full marketing pages.
 * - Scopes spacing, panels, and result polish to search.php and 404.php only.
 */
.magida-template--search .magida-section--compact,
.magida-template--404 .magida-section--compact {
	padding-block: clamp(42px, 5vw, 64px) clamp(72px, 8vw, 104px);
}

.magida-template--search .magida-container--narrow {
	width: min(100% - 48px, 820px);
}

.magida-template--404 .magida-container--narrow {
	width: min(100% - 48px, 860px);
}

.magida-template--search .magida-search-page-form {
	position: relative;
	margin-bottom: 24px;
	padding: clamp(14px, 2vw, 18px);
	overflow: hidden;
	border: 1px solid rgba(190, 189, 229, 0.14);
	border-radius: var(--magida-radius-lg);
	background:
		radial-gradient(
			circle at 92% 12%,
			rgba(5, 223, 254, 0.09),
			transparent 18rem
		),
		linear-gradient(135deg, rgba(13, 18, 34, 0.82), rgba(8, 10, 18, 0.72));
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.2);
}

.magida-template--search .magida-search-page-form::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 1px;
	background: var(--magida-gradient-line);
	opacity: 0.42;
	content: "";
}

.magida-template--search .magida-search-results {
	gap: 16px;
}

.magida-template--search .magida-search-result {
	border-color: rgba(190, 189, 229, 0.13);
	background:
		radial-gradient(
			circle at 100% 100%,
			rgba(5, 223, 254, 0.07),
			transparent 13rem
		),
		linear-gradient(145deg, rgba(12, 17, 31, 0.84), rgba(7, 9, 16, 0.78));
}

.magida-template--search .magida-search-result__content {
	padding: clamp(22px, 3vw, 28px);
}

.magida-template--search .magida-search-result__title {
	margin-top: 14px;
}

.magida-template--search .magida-search-result__link {
	margin-top: 14px;
}

.magida-template--404 .magida-not-found {
	padding: clamp(28px, 4vw, 46px);
	background:
		radial-gradient(
			circle at 88% 18%,
			rgba(124, 106, 251, 0.11),
			transparent 17rem
		),
		radial-gradient(
			circle at 14% 100%,
			rgba(5, 223, 254, 0.08),
			transparent 18rem
		),
		linear-gradient(145deg, rgba(12, 17, 31, 0.9), rgba(7, 9, 16, 0.78));
	box-shadow: 0 26px 78px rgba(0, 0, 0, 0.28);
}

.magida-template--404 .magida-not-found::after {
	position: absolute;
	right: clamp(18px, 4vw, 42px);
	bottom: clamp(18px, 4vw, 42px);
	width: 118px;
	height: 118px;
	border: 1px solid rgba(5, 223, 254, 0.16);
	border-radius: 999px;
	background: rgba(5, 223, 254, 0.035);
	opacity: 0.55;
	pointer-events: none;
	content: "";
}

.magida-template--404 .magida-not-found__actions,
.magida-template--404 .magida-not-found__search {
	position: relative;
	z-index: 1;
}

.magida-template--404 .magida-not-found__actions {
	gap: 10px;
}

.magida-template--404 .magida-not-found__search {
	margin-top: 28px;
}

.magida-template--404 .magida-not-found__search p {
	margin-bottom: 10px;
	color: var(--magida-text-soft);
}

@media (max-width: 768px) {
	.magida-template--search .magida-section--compact,
	.magida-template--404 .magida-section--compact {
		padding-block: 34px 66px;
	}

	.magida-template--search .magida-container--narrow,
	.magida-template--404 .magida-container--narrow {
		width: min(100% - 40px, var(--magida-container));
	}

	.magida-template--search .magida-search-page-form {
		padding: 14px;
	}

	.magida-template--404 .magida-not-found::after {
		width: 92px;
		height: 92px;
		opacity: 0.36;
	}
}
