/* ==========================================================================
   ENVIRONMENTALLY FOCUSED ACADEMIC OJS JOURNAL THEME (custom.css)
   Target: Open Journal Systems (OJS 3.x) Frontend
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. GOOGLE FONTS & UPDATED COLOR PALETTE TOKENS
   -------------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&display=swap');

:root {
	/* User Provided Palette */
	--env-primary: #1B5E20;
	/* Primary Green */
	--env-primary-dark: #113E15;
	/* Dark Forest Green */
	--env-secondary: #2E7D32;
	/* Secondary Green */
	--env-accent: #0D47A1;
	/* Deep Blue Accent */
	--env-complementary: #26A69A;
	/* Teal Complementary */
	--env-light-green: #A5D6A7;
	/* Light Green */
	--env-bg-main: #F1F8E9;
	/* Light Greenish Background */
	--env-bg-surface: #ffffff;
	/* White Surface */
	--env-text-dark: #0D2B45;
	/* Text Dark Navy */
	--env-text-body: #0D2B45;
	/* Text Body Navy */
	--env-text-muted: #3a5a75;
	/* Muted Text Slate */
	--env-text-light: #ffffff;
	/* Clean White */
	--env-highlight: #7CB342;
	/* Eco Highlight Green */

	/* Surfaces & Borders */
	--env-border: #c8e6c9;
	/* Subtle Border */
	--env-border-accent: #A5D6A7;
	/* Accent Border */

	/* Typography */
	--font-heading: 'Lora', Georgia, serif;
	--font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

	/* Shadows & Radii */
	--env-shadow-sm: 0 2px 4px rgba(13, 43, 69, 0.04);
	--env-shadow-md: 0 6px 16px rgba(13, 43, 69, 0.07);
	--env-shadow-lg: 0 12px 28px rgba(13, 43, 69, 0.11);
	--env-radius-sm: 6px;
	--env-radius-md: 10px;
	--env-radius-lg: 16px;
	--env-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --------------------------------------------------------------------------
   2. SITE BASE & TYPOGRAPHY RESET
   -------------------------------------------------------------------------- */
html,
body {
	font-family: var(--font-body) !important;
	background-color: var(--env-bg-main) !important;
	color: var(--env-text-body) !important;
	line-height: 1.65 !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page_title,
.pkp_site_name .is_text {
	font-family: var(--font-heading) !important;
	color: var(--env-text-dark) !important;
	font-weight: 700;
	letter-spacing: -0.01em;
}

a {
	color: var(--env-accent);
	text-decoration: none;
	transition: var(--env-transition);
}

a:hover,
a:focus {
	color: var(--env-complementary);
	text-decoration: none;
}

/* --------------------------------------------------------------------------
   3. HEADER & NAVIGATION (.pkp_structure_head)
   -------------------------------------------------------------------------- */

.pkp_structure_head {
	background: linear-gradient(135deg, var(--env-primary-dark) 0%, var(--env-primary) 100%) !important;
	border-bottom: 3px solid var(--env-highlight) !important;
	box-shadow: var(--env-shadow-md);
	position: relative;
	z-index: 1000;
}

.pkp_head_wrapper {
	padding-top: 1rem !important;
	padding-bottom: 0.5rem !important;
}

/* Journal Title & Branding */
.pkp_site_name {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.pkp_site_name .is_text {
	color: var(--env-text-light) !important;
	font-size: 1.85rem !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	display: inline-block;
}

.pkp_site_name .is_text:hover {
	color: var(--env-light-green) !important;
}

.pkp_site_name .is_img img {
	max-height: 85px !important;
	width: auto;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.15));
	transition: var(--env-transition);
}

.pkp_site_name .is_img img:hover {
	transform: scale(1.02);
}

/* Top User Navigation (Login, Register, Dashboard, Search) */
.pkp_navigation_user_wrapper {
	background: rgba(0, 0, 0, 0.15);
	backdrop-filter: blur(8px);
	border-radius: 0 0 var(--env-radius-sm) var(--env-radius-sm);
}

.pkp_navigation_user>li>a,
.pkp_navigation_search_wrapper a {
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	padding: 0.5rem 0.85rem !important;
	border-radius: var(--env-radius-sm);
	transition: var(--env-transition);
}

.pkp_navigation_user>li>a:hover,
.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_user>li>a:focus {
	color: var(--env-text-light) !important;
	background: rgba(255, 255, 255, 0.18) !important;
}

.pkp_navigation_user .task_count {
	background: var(--env-highlight) !important;
	color: var(--env-text-dark) !important;
	font-weight: 700;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Primary Site Navigation Menu */
.pkp_navigation_primary {
	margin-top: 0.75rem !important;
}

.pkp_navigation_primary>li>a {
	color: rgba(255, 255, 255, 0.92) !important;
	font-family: var(--font-body) !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	padding: 0.75rem 1.1rem !important;
	border-bottom: 3px solid transparent !important;
	border-radius: var(--env-radius-sm) var(--env-radius-sm) 0 0;
	transition: var(--env-transition) !important;
}

.pkp_navigation_primary>li>a:hover,
.pkp_navigation_primary>li>a:focus {
	color: var(--env-text-light) !important;
	background: rgba(255, 255, 255, 0.12) !important;
	border-bottom-color: var(--env-highlight) !important;
}

/* Dropdown Menus - NO LEFT SIDE BORDER */
.pkp_nav_list ul,
.pkp_navigation_primary ul,
.pkp_navigation_user ul {
	background: var(--env-bg-surface) !important;
	border: 1px solid var(--env-border) !important;
	border-radius: var(--env-radius-md) !important;
	box-shadow: var(--env-shadow-lg) !important;
	padding: 0.5rem 0 !important;
	overflow: hidden;
}

.pkp_nav_list ul a,
.pkp_navigation_primary ul a {
	color: var(--env-text-dark) !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	padding: 0.65rem 1.25rem !important;
	border-left: none !important;
	/* Explicitly removed left side border */
	transition: var(--env-transition) !important;
}

.pkp_nav_list ul a:hover,
.pkp_nav_list ul a:focus,
.pkp_navigation_primary ul a:hover {
	background: var(--env-bg-main) !important;
	color: var(--env-accent) !important;
	border-left: none !important;
	/* Explicitly removed left side border */
}

/* Mobile Nav Toggle & Menu */
.pkp_site_nav_toggle {
	color: var(--env-text-light) !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	border-radius: var(--env-radius-sm) !important;
	padding: 0.4rem 0.75rem !important;
}

.pkp_site_nav_menu {
	background: var(--env-primary-dark) !important;
	box-shadow: var(--env-shadow-lg);
	border-bottom: 3px solid var(--env-highlight);
}

/* --------------------------------------------------------------------------
   4. LAYOUT SCAFFOLDING & CONTAINERS
   -------------------------------------------------------------------------- */
.pkp_structure_content {
	padding-top: 2.5rem !important;
	padding-bottom: 4rem !important;
	max-width: 1240px;
}

/* Main Content Area */
.pkp_structure_main {
	background: var(--env-bg-surface);
	border-radius: var(--env-radius-lg);
	border: 1px solid var(--env-border);
	box-shadow: var(--env-shadow-sm);
	padding: 2.5rem !important;
	margin-bottom: 2rem;
}

.pkp_structure_main::before,
.pkp_structure_main::after {
	display: none !important;
	/* Remove legacy border lines */
}

/* Sidebar Column */
.pkp_structure_sidebar {
	padding-left: 1.5rem;
}

/* Full Width Page Container */
.pkp_structure_main:first-child:last-child {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

/* --------------------------------------------------------------------------
   5. BREADCRUMBS & PAGE HEADINGS
   -------------------------------------------------------------------------- */
.cmp_breadcrumbs {
	margin-bottom: 1.75rem !important;
}

.cmp_breadcrumbs ol {
	background: var(--env-bg-surface) !important;
	padding: 0.6rem 1.25rem !important;
	border-radius: var(--env-radius-md) !important;
	border: 1px solid var(--env-border) !important;
}

.cmp_breadcrumbs a {
	color: var(--env-accent) !important;
	font-weight: 500;
	font-size: 0.875rem;
}

.cmp_breadcrumbs a:hover {
	color: var(--env-complementary) !important;
}

.cmp_breadcrumbs .separator {
	color: var(--env-text-muted) !important;
	margin: 0 0.5rem;
}

.cmp_breadcrumbs .current {
	color: var(--env-text-muted) !important;
	font-weight: 600;
	font-size: 0.875rem;
}

.page_title {
	font-size: 2.1rem !important;
	line-height: 1.3 !important;
	margin-top: 0 !important;
	margin-bottom: 1.75rem !important;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--env-light-green);
	position: relative;
}

.page_title::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 70px;
	height: 3px;
	background: var(--env-secondary);
	border-radius: 2px;
}

/* --------------------------------------------------------------------------
   6. HOMEPAGE & JOURNAL SUMMARY - NO LEFT SIDE BORDER
   -------------------------------------------------------------------------- */
.page_index_journal .journal_summary,
.homepage_about {
	background: var(--env-bg-surface);
	border: 1px solid var(--env-border);
	border-left: none !important;
	/* Explicitly removed left side border */
	padding: 1.75rem 2rem !important;
	border-radius: var(--env-radius-md);
	margin-bottom: 2.5rem !important;
	box-shadow: var(--env-shadow-sm);
}

.homepage_about h2,
.current_issue h2,
.additional_content h2 {
	font-size: 1.5rem !important;
	color: var(--env-primary) !important;
	margin-bottom: 1.25rem !important;
	display: flex;
	align-items: center;
}

.homepage_about h2::before,
.current_issue h2::before,
.additional_content h2::before {
	content: '❖';
	color: var(--env-secondary);
	font-size: 1.1rem;
	margin-right: 0.6rem;
}

/* Current Issue Section on Homepage */
.current_issue {
	background: var(--env-bg-surface);
	border: 1px solid var(--env-border);
	border-radius: var(--env-radius-lg);
	padding: 2rem !important;
	margin-bottom: 2.5rem !important;
	box-shadow: var(--env-shadow-md);
}

.current_issue_cover {
	border-radius: var(--env-radius-md);
	overflow: hidden;
	box-shadow: var(--env-shadow-md);
	transition: var(--env-transition);
}

.current_issue_cover:hover {
	transform: translateY(-4px);
	box-shadow: var(--env-shadow-lg);
}

.current_issue_cover img {
	border-radius: var(--env-radius-md);
	display: block;
	width: 100%;
}

.current_issue_title {
	color: var(--env-primary) !important;
	font-size: 1.4rem !important;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

/* --------------------------------------------------------------------------
   7. TABLE OF CONTENTS & ARTICLE LIST (.obj_article_summary)
   -------------------------------------------------------------------------- */
.obj_issue_toc .section {
	margin-bottom: 2.5rem;
}

.obj_issue_toc .section .title {
	font-size: 1.35rem !important;
	color: var(--env-primary) !important;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--env-light-green);
	margin-bottom: 1.5rem !important;
	text-transform: capitalize;
}

.cmp_article_list>li {
	margin-bottom: 1.75rem !important;
	padding-bottom: 1.75rem;
	border-bottom: 1px dashed var(--env-border) !important;
}

.cmp_article_list>li:last-child {
	border-bottom: none !important;
}

/* Article Summary Card - NO LEFT BORDER */
.obj_article_summary {
	background: var(--env-bg-surface);
	border: 1px solid var(--env-border);
	border-left: none !important;
	/* Explicitly removed left side border */
	border-radius: var(--env-radius-md);
	padding: 1.5rem !important;
	transition: var(--env-transition);
	position: relative;
}

.obj_article_summary:hover {
	border-color: var(--env-border-accent);
	box-shadow: var(--env-shadow-md);
	transform: translateY(-2px);
}

.obj_article_summary>.title {
	font-size: 1.2rem !important;
	line-height: 1.45 !important;
	margin-bottom: 0.5rem !important;
}

.obj_article_summary>.title a {
	color: var(--env-text-dark) !important;
	font-family: var(--font-heading) !important;
	font-weight: 600;
}

.obj_article_summary>.title a:hover {
	color: var(--env-accent) !important;
}

.obj_article_summary .subtitle {
	color: var(--env-text-muted) !important;
	font-size: 0.95rem;
	font-style: italic;
	margin-bottom: 0.5rem;
}

.obj_article_summary .authors {
	color: var(--env-text-body) !important;
	font-size: 0.925rem !important;
	font-weight: 500;
	margin-bottom: 0.75rem;
}

.obj_article_summary .pages,
.obj_article_summary .published {
	display: inline-block;
	background: var(--env-bg-main);
	color: var(--env-secondary) !important;
	font-size: 0.8rem !important;
	font-weight: 600;
	padding: 0.2rem 0.6rem;
	border-radius: 50px;
	border: 1px solid var(--env-border-accent);
	margin-right: 0.5rem;
}

/* Galleys / Download Action Buttons */
.galleys_links,
.obj_article_summary .galleys_links {
	margin-top: 1rem !important;
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
}

.galley_link,
.obj_article_summary .galley_link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--env-primary) 0%, var(--env-secondary) 100%) !important;
	color: var(--env-text-light) !important;
	font-family: var(--font-body) !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	padding: 0.45rem 1.1rem !important;
	border-radius: var(--env-radius-sm) !important;
	border: none !important;
	box-shadow: 0 2px 6px rgba(27, 94, 32, 0.25);
	transition: var(--env-transition) !important;
	text-decoration: none !important;
}

.galley_link:hover,
.obj_article_summary .galley_link:hover {
	background: linear-gradient(135deg, var(--env-secondary) 0%, var(--env-complementary) 100%) !important;
	color: var(--env-text-light) !important;
	box-shadow: 0 4px 12px rgba(38, 166, 154, 0.35);
	transform: translateY(-1px);
}

.galley_link.pdf::before {
	content: '📄 ';
	margin-right: 0.3rem;
}

/* --------------------------------------------------------------------------
   8. ARTICLE DETAIL PAGE (.obj_article_details) - NO LEFT SIDE BORDER
   -------------------------------------------------------------------------- */
.obj_article_details {
	margin-top: 0.5rem;
}

.obj_article_details>.page_title {
	font-size: 2.25rem !important;
	line-height: 1.3 !important;
	color: var(--env-text-dark) !important;
}

.obj_article_details>.subtitle {
	font-size: 1.2rem !important;
	color: var(--env-text-muted) !important;
	margin-top: 0.5rem;
	font-style: italic;
}

/* Main Entry vs Sidebar details grid */
.obj_article_details .row {
	margin-top: 2rem !important;
	border: none !important;
}

/* Author Section */
.obj_article_details .authors {
	background: var(--env-bg-main);
	border: 1px solid var(--env-border-accent);
	border-radius: var(--env-radius-md);
	padding: 1.25rem 1.5rem !important;
	margin-bottom: 2rem;
}

.obj_article_details .authors li {
	margin-bottom: 0.75rem;
}

.obj_article_details .authors li:last-child {
	margin-bottom: 0;
}

.obj_article_details .authors .name {
	font-size: 1.05rem !important;
	color: var(--env-text-dark) !important;
	font-weight: 700;
}

.obj_article_details .authors .affiliation {
	color: var(--env-text-muted) !important;
	font-size: 0.875rem;
}

.obj_article_details .authors .orcid {
	color: #a6ce39;
	font-size: 0.85rem;
	font-weight: 600;
}

/* Abstract Box - NO LEFT BORDER */
.obj_article_details .item.abstract {
	background: var(--env-bg-surface);
	border: 1px solid var(--env-border);
	border-left: none !important;
	/* Explicitly removed left side border */
	border-radius: var(--env-radius-md);
	padding: 1.75rem !important;
	margin-bottom: 2rem;
	box-shadow: var(--env-shadow-sm);
}

.obj_article_details .item.abstract .label {
	font-size: 1.25rem !important;
	color: var(--env-primary) !important;
	font-family: var(--font-heading) !important;
	margin-bottom: 1rem !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.obj_article_details .item.abstract p {
	font-size: 1.025rem;
	line-height: 1.75;
	color: var(--env-text-body);
}

/* DOI & Metadata Cards - NO LEFT BORDER */
.obj_article_details .item.doi {
	background: var(--env-bg-main);
	border: 1px solid var(--env-border);
	border-left: none !important;
	/* Explicitly removed left side border */
	border-radius: var(--env-radius-sm);
	padding: 0.75rem 1.25rem !important;
	margin-bottom: 1.75rem;
	display: inline-block;
	width: 100%;
}

.obj_article_details .item.doi .label {
	color: var(--env-primary) !important;
	font-weight: 700;
	margin-right: 0.5rem;
}

.obj_article_details .item.doi .value a {
	color: var(--env-accent) !important;
	font-weight: 600;
	word-break: break-all;
}

/* Keywords Tags */
.obj_article_details .item.keywords {
	margin-bottom: 1.75rem;
}

.obj_article_details .item.keywords .label {
	font-size: 1rem !important;
	color: var(--env-primary) !important;
	margin-right: 0.75rem;
}

.obj_article_details .item.keywords .value {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: 0.5rem;
}

.obj_article_details .item.keywords .value span {
	background: var(--env-bg-main);
	color: var(--env-secondary);
	font-size: 0.825rem;
	font-weight: 500;
	padding: 0.25rem 0.75rem;
	border-radius: 50px;
	border: 1px solid var(--env-border-accent);
}

/* Article Sidebar Details (Entry Details) - NO LEFT BORDER */
.obj_article_details .entry_details {
	background: var(--env-bg-surface);
	border: 1px solid var(--env-border) !important;
	border-left: none !important;
	/* Explicitly removed left side border */
	border-radius: var(--env-radius-md) !important;
	padding: 0 !important;
	margin-top: 0 !important;
}

.obj_article_details .entry_details .item {
	padding: 1.25rem 1.5rem !important;
	border-bottom: 1px solid var(--env-border) !important;
	border-left: none !important;
}

.obj_article_details .entry_details .item:last-child {
	border-bottom: none !important;
}

.obj_article_details .entry_details .item .label {
	color: var(--env-text-dark) !important;
	font-family: var(--font-body) !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 0.5rem !important;
}

/* Citation Box */
.citation_display {
	background: var(--env-bg-surface);
	border-radius: var(--env-radius-sm);
	padding: 1rem;
	border: 1px solid var(--env-border);
}

.citation_formats_button {
	background: var(--env-bg-main) !important;
	border: 1px solid var(--env-border-accent) !important;
	border-radius: var(--env-radius-sm) !important;
	color: var(--env-primary) !important;
	font-weight: 600 !important;
	padding: 0.5rem 1rem !important;
}

/* --------------------------------------------------------------------------
   9. SIDEBAR BLOCKS (.pkp_structure_sidebar, .pkp_block)
   -------------------------------------------------------------------------- */
.pkp_block {
	background: var(--env-bg-surface) !important;
	border: 1px solid var(--env-border) !important;
	border-radius: var(--env-radius-md) !important;
	padding: 1.5rem !important;
	margin-bottom: 1.75rem !important;
	box-shadow: var(--env-shadow-sm) !important;
	transition: var(--env-transition);
}

.pkp_block:hover {
	border-color: var(--env-border-accent);
	box-shadow: var(--env-shadow-md);
}

.pkp_block .title,
.pkp_block h2 {
	font-family: var(--font-heading) !important;
	font-size: 1.15rem !important;
	color: var(--env-primary) !important;
	border-bottom: 2px solid var(--env-light-green);
	padding-bottom: 0.5rem !important;
	margin-top: 0 !important;
	margin-bottom: 1rem !important;
	font-weight: 700;
}

.pkp_block .content ul li {
	padding: 0.4rem 0 !important;
	border-bottom: 1px solid var(--env-bg-main);
}

.pkp_block .content ul li:last-child {
	border-bottom: none;
}

.pkp_block a {
	color: var(--env-accent);
	font-weight: 500;
}

.pkp_block a:hover {
	color: var(--env-complementary);
}

/* Make a Submission Button Block */
.block_make_submission a {
	display: block !important;
	text-align: center !important;
	background: linear-gradient(135deg, var(--env-primary) 0%, var(--env-secondary) 100%) !important;
	color: var(--env-text-light) !important;
	font-family: var(--font-body) !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	padding: 0.85rem 1.25rem !important;
	border-radius: var(--env-radius-md) !important;
	box-shadow: 0 4px 12px rgba(27, 94, 32, 0.25) !important;
	border: none !important;
	transition: var(--env-transition) !important;
	text-decoration: none !important;
}

.block_make_submission a:hover {
	background: linear-gradient(135deg, var(--env-secondary) 0%, var(--env-complementary) 100%) !important;
	color: var(--env-text-light) !important;
	box-shadow: 0 6px 18px rgba(38, 166, 154, 0.35) !important;
	transform: translateY(-2px);
}

/* --------------------------------------------------------------------------
   10. ISSUE ARCHIVE PAGE
   -------------------------------------------------------------------------- */
.page_issue_archive .issues_archive {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.75rem;
	list-style: none;
	padding-left: 0;
}

.obj_issue_summary {
	background: var(--env-bg-surface);
	border: 1px solid var(--env-border);
	border-radius: var(--env-radius-md);
	padding: 1.25rem !important;
	box-shadow: var(--env-shadow-sm);
	transition: var(--env-transition);
}

.obj_issue_summary:hover {
	border-color: var(--env-border-accent);
	box-shadow: var(--env-shadow-md);
	transform: translateY(-3px);
}

.obj_issue_summary .cover img {
	border-radius: var(--env-radius-sm);
	box-shadow: var(--env-shadow-sm);
}

.obj_issue_summary .title {
	font-size: 1.15rem !important;
	color: var(--env-primary) !important;
	font-weight: 700;
	margin-top: 0.75rem;
}

/* --------------------------------------------------------------------------
   11. BUTTONS, FORMS & INPUTS
   -------------------------------------------------------------------------- */
.cmp_button,
.btn-primary,
button[type="submit"] {
	background: linear-gradient(135deg, var(--env-primary) 0%, var(--env-secondary) 100%) !important;
	color: var(--env-text-light) !important;
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	border-radius: var(--env-radius-sm) !important;
	border: none !important;
	padding: 0.65rem 1.4rem !important;
	box-shadow: 0 2px 6px rgba(27, 94, 32, 0.25) !important;
	transition: var(--env-transition) !important;
	cursor: pointer;
}

.cmp_button:hover,
.btn-primary:hover,
button[type="submit"]:hover {
	background: linear-gradient(135deg, var(--env-secondary) 0%, var(--env-complementary) 100%) !important;
	box-shadow: 0 4px 14px rgba(38, 166, 154, 0.35) !important;
	color: var(--env-text-light) !important;
}

.cmp_button_wire {
	background: transparent !important;
	border: 2px solid var(--env-primary) !important;
	color: var(--env-primary) !important;
	font-weight: 600 !important;
	border-radius: var(--env-radius-sm) !important;
	padding: 0.55rem 1.25rem !important;
	transition: var(--env-transition) !important;
}

.cmp_button_wire:hover {
	background: var(--env-primary) !important;
	color: var(--env-text-light) !important;
}

/* Form Inputs */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
select,
textarea {
	background: var(--env-bg-surface) !important;
	border: 1px solid var(--env-border) !important;
	border-radius: var(--env-radius-sm) !important;
	padding: 0.65rem 0.85rem !important;
	font-family: var(--font-body) !important;
	font-size: 0.95rem !important;
	color: var(--env-text-dark) !important;
	transition: var(--env-transition) !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.03);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
	border-color: var(--env-complementary) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(38, 166, 154, 0.2) !important;
}

/* --------------------------------------------------------------------------
   12. FOOTER (.pkp_structure_footer_wrapper)
   -------------------------------------------------------------------------- */
.pkp_structure_footer_wrapper {
	background: linear-gradient(135deg, var(--env-primary-dark) 0%, #0a240c 100%) !important;
	color: rgba(255, 255, 255, 0.85) !important;
	border-top: 4px solid var(--env-highlight) !important;
	margin-top: 3rem;
}

.pkp_structure_footer {
	padding-top: 2.5rem !important;
	padding-bottom: 2.5rem !important;
}

.pkp_footer_content {
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: 0.925rem !important;
	line-height: 1.7 !important;
}

.pkp_footer_content a {
	color: var(--env-light-green) !important;
	font-weight: 500;
}

.pkp_footer_content a:hover {
	color: #ffffff !important;
	text-decoration: underline;
}

.pkp_brand_footer a {
	opacity: 0.85;
	transition: var(--env-transition);
}

.pkp_brand_footer a:hover {
	opacity: 1;
	transform: scale(1.03);
}

/* --------------------------------------------------------------------------
   13. RESPONSIVE MEDIA QUERIES
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
	.pkp_structure_sidebar {
		width: 100% !important;
		float: none !important;
		padding-left: 0 !important;
		margin-top: 2rem;
	}

	.pkp_structure_main {
		width: 100% !important;
		float: none !important;
		padding: 1.5rem !important;
	}

	.pkp_navigation_primary>li {
		display: block !important;
	}

	.page_title {
		font-size: 1.75rem !important;
	}

	.obj_article_details>.page_title {
		font-size: 1.85rem !important;
	}
}

@media (max-width: 600px) {
	.pkp_head_wrapper {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.pkp_site_name .is_text {
		font-size: 1.4rem !important;
	}

	.obj_article_summary {
		padding: 1rem !important;
	}

	.galley_link {
		width: 100%;
		text-align: center;
	}
}