/**
 * plugins/themes/tema-premium-saya/styles/premium.css
 *
 * Copyright (c) 2026 Senior Full-Stack Developer
 * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
 *
 * @brief Ultra-Premium OJS Theme — v3.4 FINAL RESPONSIVE
 * 
 * Fixes:
 * - Overrode OJS core absolute positioning on logo wrapper safely
 * - Enforced box-sizing border-box to prevent 100vw+ overflow
 * - Kept flex-direction: row to prevent vertical stacking
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;600;700;800;900&display=swap');

:root {
	--pm-primary:    #5046e4;
	--pm-accent:     #06c088;
	--pm-danger:     #ef4444;

	--pm-bg:          #f0f2f8;
	--pm-surface:     #ffffff;
	--pm-surface-2:   #f8f9fd;
	--pm-border:      #e4e7ef;
	--pm-text-head:   #0a0e1a;
	--pm-text-body:   #374151;
	--pm-text-muted:  #6b7280;

	--pm-dark-bg:        #07090f;
	--pm-dark-surface:   #0f1421;
	--pm-dark-surface-2: #161d2f;
	--pm-dark-border:    #1e2741;
	--pm-dark-text-head: #f1f5f9;
	--pm-dark-text-body: #94a3b8;
	--pm-dark-text-muted:#64748b;

	--pm-shadow-xs: 0 1px 3px rgba(0,0,0,0.05);
	--pm-shadow-sm: 0 4px 16px rgba(80,70,228,0.07), 0 1px 4px rgba(0,0,0,0.04);
	--pm-shadow-md: 0 10px 30px rgba(80,70,228,0.09), 0 3px 10px rgba(0,0,0,0.04);
	--pm-shadow-lg: 0 20px 60px rgba(80,70,228,0.12), 0 8px 20px rgba(0,0,0,0.06);
	--pm-shadow-xl: 0 32px 80px rgba(80,70,228,0.15), 0 12px 30px rgba(0,0,0,0.08);

	--pm-r-sm:  6px;
	--pm-r-md:  12px;
	--pm-r-lg:  20px;
	--pm-r-xl:  28px;

	--pm-ease:       cubic-bezier(0.16, 1, 0.3, 1);
	--pm-trans:      all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	--pm-trans-fast: all 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html {
	scroll-behavior: smooth;
	overflow-x: hidden;
}

body {
	font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
	overflow-x: hidden !important;
	color: var(--pm-text-body) !important;
	background:
		radial-gradient(ellipse 80% 50% at 5% 0%, rgba(80,70,228,0.07) 0%, transparent 50%),
		radial-gradient(ellipse 60% 40% at 95% 100%, rgba(6,192,136,0.06) 0%, transparent 50%),
		var(--pm-bg) !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.premium_dark_mode {
	color: var(--pm-dark-text-body) !important;
	background:
		radial-gradient(ellipse 80% 50% at 5% 0%, rgba(80,70,228,0.14) 0%, transparent 50%),
		radial-gradient(ellipse 60% 40% at 95% 100%, rgba(6,192,136,0.08) 0%, transparent 50%),
		var(--pm-dark-bg) !important;
}

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(80,70,228,0.25); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: rgba(80,70,228,0.45); }

.pkp_structure_page {
	min-height: 100vh !important;
	display: flex !important;
	flex-direction: column !important;
	padding-top: 72px !important;
}

/* ============================================================
   3. NAVBAR
   ============================================================ */

/* High-specificity overrides to neutralise all default OJS core positioning */
.pkp_structure_head,
.pkp_head_wrapper.premium_nav_wrapper,
.pkp_site_name_wrapper,
.pkp_site_name,
.pkp_site_nav_menu.premium_nav_menu,
.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper,
.pkp_navigation_user_wrapper.premium_user_menu,
ul.pkp_navigation_primary,
ul.pkp_navigation_user,
#navigationPrimary,
#navigationUser,
#navigationUserWrapper {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	position: static !important;
	list-style: none !important;
	box-sizing: border-box !important;
	transform: none !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	width: auto !important;
	height: auto !important;
}

/* Fixed wrapper for premium navbar */
.pkp_structure_head.premium_navbar_container {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: 100vw !important;
	z-index: 9990 !important;
	background: rgba(255,255,255,0.92) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	border-bottom: 1px solid rgba(80,70,228,0.10) !important;
	transition: box-shadow 0.3s ease !important;
	box-sizing: border-box !important;
}

.pkp_structure_head[data-scrolled] {
	box-shadow: 0 4px 30px rgba(80,70,228,0.12), 0 1px 0 rgba(0,0,0,0.06) !important;
}

body.premium_dark_mode .pkp_structure_head.premium_navbar_container {
	background: rgba(10,14,24,0.94) !important;
	border-bottom-color: rgba(80,70,228,0.18) !important;
}

/* Base navigation row layout - desktop flow */
.pkp_head_wrapper.premium_nav_wrapper {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	max-width: 1280px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 32px !important;
	height: 72px !important; /* spacious premium height */
	gap: 24px !important;
	overflow: visible !important;
	box-sizing: border-box !important;
	position: relative !important;
}

/* Logo container & toggle positioning */
.pkp_site_name_wrapper {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-shrink: 0 !important;
	gap: 12px !important;
	position: relative !important;
}

.pkp_site_name {
	display: flex !important;
	align-items: center !important;
	position: relative !important;
	overflow: visible !important;
	white-space: nowrap !important;
}

.pkp_site_name a.is_text,
.pkp_site_name a.premium_logo_text,
a.premium_logo_text {
	font-family: 'Outfit', sans-serif !important;
	font-size: 24px !important;
	font-weight: 900 !important;
	letter-spacing: -0.6px !important;
	line-height: 1 !important;
	text-decoration: none !important;
	background: linear-gradient(135deg, var(--pm-primary) 0%, #818cf8 55%, var(--pm-accent) 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	background-size: 200% auto !important;
	animation: pm-logo-shimmer 5s linear infinite !important;
	display: inline-block !important;
	white-space: nowrap !important;
}

@keyframes pm-logo-shimmer {
	0%   { background-position: 0% center; }
	100% { background-position: 200% center; }
}

.pkp_site_name a.is_img img {
	max-height: 46px !important;
	max-width: 220px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
}

/* Navigation links container - flows horizontally next to logo */
.pkp_site_nav_menu.premium_nav_menu {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	gap: 16px !important;
	height: 100% !important;
	overflow: visible !important;
	position: relative !important;
}

.pkp_navigation_primary_row {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	min-width: 0 !important;
	flex: 1 1 auto !important;
	justify-content: flex-start !important;
}

.pkp_navigation_primary_wrapper {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 16px !important;
	min-width: 0 !important;
	flex: 1 1 auto !important;
}

ul.pkp_navigation_primary,
#navigationPrimary {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 4px !important;
	min-width: 0 !important;
}

#navigationPrimary > li {
	display: flex !important;
	align-items: center !important;
	position: relative !important;
	flex-shrink: 0 !important;
}

#navigationPrimary > li > a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--pm-text-body) !important;
	text-decoration: none !important;
	padding: 8px 14px !important;
	border-radius: var(--pm-r-sm) !important;
	border: none !important;
	background: transparent !important;
	white-space: nowrap !important;
	transition: var(--pm-trans-fast) !important;
	line-height: 1.4 !important;
}

body.premium_dark_mode #navigationPrimary > li > a { color: var(--pm-dark-text-body) !important; }

#navigationPrimary > li > a:hover {
	color: var(--pm-primary) !important;
	background: rgba(80,70,228,0.07) !important;
}

.pkp_navigation_search_wrapper {
	display: inline-flex !important;
	align-items: center !important;
	flex-shrink: 0 !important;
}

.pkp_search.pkp_search_desktop {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--pm-text-body) !important;
	text-decoration: none !important;
	padding: 8px 14px !important;
	border-radius: var(--pm-r-sm) !important;
	background: transparent !important;
	border: none !important;
	transition: var(--pm-trans-fast) !important;
	white-space: nowrap !important;
	line-height: 1.4 !important;
}

body.premium_dark_mode .pkp_search.pkp_search_desktop {
	color: var(--pm-dark-text-body) !important;
}

.pkp_search.pkp_search_desktop::before,
.pkp_search.pkp_search_desktop::after,
.pkp_search::before,
.pkp_search::after {
	display: none !important;
	content: none !important;
}

.pkp_search.pkp_search_desktop:hover {
	color: var(--pm-primary) !important;
	background: rgba(80,70,228,0.07) !important;
}

/* User authentication buttons menu - pushed to far right */
.pkp_navigation_user_wrapper.premium_user_menu,
#navigationUserWrapper {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-shrink: 0 !important;
	gap: 8px !important;
	margin-left: auto !important;
	position: relative !important;
}

ul.pkp_navigation_user,
#navigationUser {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 8px !important;
}

#navigationUser > li {
	display: flex !important;
	align-items: center !important;
	position: relative !important;
	flex-shrink: 0 !important;
}

#navigationUser > li > a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--pm-text-body) !important;
	text-decoration: none !important;
	padding: 8px 14px !important;
	border-radius: var(--pm-r-sm) !important;
	transition: var(--pm-trans-fast) !important;
	background: transparent !important;
	border: none !important;
	white-space: nowrap !important;
}

body.premium_dark_mode #navigationUser > li > a { color: var(--pm-dark-text-body) !important; }

#navigationUser > li > a:hover {
	color: var(--pm-primary) !important;
	background: rgba(80,70,228,0.07) !important;
}

#navigationUser > li > a[href*="register"] {
	border: 1.5px solid rgba(80,70,228,0.35) !important;
	color: var(--pm-primary) !important;
	background: rgba(80,70,228,0.04) !important;
	border-radius: 99px !important;
	padding: 7px 18px !important;
	font-weight: 700 !important;
}

#navigationUser > li > a[href*="register"]:hover {
	background: linear-gradient(135deg, var(--pm-primary), #818cf8) !important;
	color: #fff !important;
	border-color: transparent !important;
	box-shadow: 0 4px 16px rgba(80,70,228,0.35) !important;
	transform: translateY(-1px) !important;
}

#navigationUser > li > a[href*="login"] {
	background: linear-gradient(135deg, var(--pm-primary) 0%, #818cf8 100%) !important;
	color: #ffffff !important;
	border-radius: 99px !important;
	padding: 8px 20px !important;
	font-weight: 700 !important;
	border: none !important;
	box-shadow: 0 3px 12px rgba(80,70,228,0.30) !important;
}

#navigationUser > li > a[href*="login"]:hover {
	transform: translateY(-1.5px) !important;
	box-shadow: 0 6px 20px rgba(80,70,228,0.45) !important;
	color: #fff !important;
}

/* Mobile Toggle - hidden on desktop */
.pkp_site_nav_toggle {
	display: none !important;
	order: -1 !important;
	flex-shrink: 0 !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	background: rgba(80,70,228,0.07) !important;
	border: 1px solid rgba(80,70,228,0.12) !important;
	border-radius: var(--pm-r-sm) !important;
	cursor: pointer !important;
	color: var(--pm-text-body) !important;
	padding: 0 !important;
}

body.premium_dark_mode .pkp_site_nav_toggle {
	background: rgba(255,255,255,0.05) !important;
	border-color: rgba(255,255,255,0.08) !important;
	color: var(--pm-dark-text-body) !important;
}

.pkp_site_nav_toggle .pm-bar {
	display: block;
	width: 20px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	margin: 4px auto;
	transition: all 0.25s ease;
}

/* ============================================================
   4. DROPDOWN MENUS
   ============================================================ */
#navigationPrimary li,
#navigationUser li {
	position: relative !important;
}

#navigationPrimary li > ul,
#navigationUser li > ul {
	display: block !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	min-width: 220px !important;
	background: rgba(255,255,255,0.98) !important;
	backdrop-filter: blur(16px) !important;
	-webkit-backdrop-filter: blur(16px) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-md) !important;
	box-shadow: 0 10px 32px rgba(80,70,228,0.12), 0 2px 8px rgba(0,0,0,0.04) !important;
	list-style: none !important;
	padding: 6px !important;
	z-index: 10000 !important;
	transform: translateY(8px) scale(0.98) !important;
	transform-origin: top left !important;
	transition: opacity 0.2s var(--pm-ease), transform 0.2s var(--pm-ease), visibility 0.2s !important;
}

body.premium_dark_mode #navigationPrimary li > ul,
body.premium_dark_mode #navigationUser li > ul {
	background: rgba(15,20,33,0.98) !important;
	border-color: var(--pm-dark-border) !important;
}

#navigationPrimary li:hover > ul,
#navigationUser li:hover > ul {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	transform: translateY(2px) scale(1) !important;
}

#navigationPrimary li > ul li,
#navigationUser li > ul li {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
}

#navigationPrimary li > ul li > a,
#navigationUser li > ul li > a {
	display: flex !important;
	width: 100% !important;
	padding: 10px 14px !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	color: var(--pm-text-body) !important;
	text-decoration: none !important;
	border-radius: var(--pm-r-sm) !important;
	transition: var(--pm-trans-fast) !important;
	border: none !important;
	background: transparent !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode #navigationPrimary li > ul li > a {
	color: var(--pm-dark-text-body) !important;
}

#navigationPrimary li > ul li > a:hover,
#navigationUser li > ul li > a:hover {
	color: var(--pm-primary) !important;
	background: rgba(80,70,228,0.08) !important;
}

/* ============================================================
   5. BREADCRUMBS
   ============================================================ */
.cmp_breadcrumbs { margin-bottom: 28px !important; }

.cmp_breadcrumbs ol {
	display: inline-flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 7px 16px !important;
	gap: 4px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	background: rgba(80,70,228,0.04) !important;
	border: 1px solid rgba(80,70,228,0.10) !important;
	border-radius: 99px !important;
}

body.premium_dark_mode .cmp_breadcrumbs ol {
	background: rgba(255,255,255,0.03) !important;
	border-color: rgba(255,255,255,0.07) !important;
}

.cmp_breadcrumbs li {
	display: inline-flex !important;
	align-items: center !important;
	color: var(--pm-text-muted) !important;
}

.cmp_breadcrumbs a {
	color: var(--pm-primary) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
}

.cmp_breadcrumbs a:hover { color: var(--pm-accent) !important; }

.cmp_breadcrumbs .separator {
	margin: 0 6px !important;
	color: rgba(107,114,128,0.5) !important;
	font-size: 11px !important;
}

.cmp_breadcrumbs li.current span {
	color: var(--pm-text-head) !important;
	font-weight: 700 !important;
}

body.premium_dark_mode .cmp_breadcrumbs li.current span {
	color: var(--pm-dark-text-head) !important;
}

/* ============================================================
   6. PAGE LAYOUT
   ============================================================ */

/* Kill ALL default OJS pseudo-elements (they add borders/lines) */
.pkp_structure_main::before,
.pkp_structure_main::after,
.pkp_structure_content::before,
.pkp_structure_content::after {
	display: none !important;
	content: none !important;
	background: none !important;
	border: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* Content wrapper */
.pkp_structure_content,
.pkp_structure_content.premium_page_container {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 24px !important;
	max-width: 1280px !important;
	margin: 0 auto !important;
	padding: 32px 24px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	flex-grow: 1 !important;
	float: none !important;
	overflow: visible !important;
}

/* Main content card */
.pkp_structure_main,
.pkp_structure_main.premium_main_content {
	flex: 1 1 0% !important;
	min-width: 0 !important;
	background: var(--pm-surface) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-xl) !important;
	padding: 44px !important;
	box-shadow: var(--pm-shadow-md) !important;
	position: relative !important;
	overflow: hidden !important;
	float: none !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode .pkp_structure_main {
	background: var(--pm-dark-surface) !important;
	border-color: var(--pm-dark-border) !important;
	box-shadow: 0 10px 40px rgba(0,0,0,0.45) !important;
}

/* Gradient top bar on main card (non-homepage) */
.pkp_structure_main.premium_main_content::before {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 4px !important;
	background: linear-gradient(90deg, var(--pm-primary) 0%, #818cf8 50%, var(--pm-accent) 100%) !important;
	border-radius: var(--pm-r-xl) var(--pm-r-xl) 0 0 !important;
	z-index: 1 !important;
}

/* Page title */
.pkp_structure_main h1.page_title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 32px !important;
	font-weight: 800 !important;
	color: var(--pm-text-head) !important;
	letter-spacing: -0.7px !important;
	line-height: 1.25 !important;
	margin: 0 0 24px 0 !important;
	padding-bottom: 20px !important;
	border-bottom: 1px solid var(--pm-border) !important;
	position: relative !important;
	z-index: 2 !important;
}

body.premium_dark_mode .pkp_structure_main h1.page_title {
	color: var(--pm-dark-text-head) !important;
	border-bottom-color: var(--pm-dark-border) !important;
}

/* ============================================================
   7. HOMEPAGE — transparent main card
   ============================================================ */
body.pkp_page_index .pkp_structure_main,
body.pkp_page_index .pkp_structure_main.premium_main_content {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	overflow: visible !important;
}

/* Hide gradient bar on homepage main card */
body.pkp_page_index .pkp_structure_main::before,
body.pkp_page_index .pkp_structure_main::after,
body.pkp_page_index .pkp_structure_main.premium_main_content::before,
body.pkp_page_index .pkp_structure_main.premium_main_content::after {
	display: none !important;
	content: none !important;
}

/* ============================================================
   8. HERO SECTION
   ============================================================ */
.premium_hero_section {
	position: relative !important;
	background: var(--pm-surface) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-xl) !important;
	padding: 64px 56px !important;
	margin-bottom: 24px !important;
	overflow: hidden !important;
	box-shadow: var(--pm-shadow-lg) !important;
}

body.premium_dark_mode .premium_hero_section {
	background: var(--pm-dark-surface) !important;
	border-color: var(--pm-dark-border) !important;
	box-shadow: 0 24px 80px rgba(0,0,0,0.55) !important;
}

.premium_hero_section::before {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 4px !important;
	background: linear-gradient(90deg, var(--pm-primary) 0%, #818cf8 50%, var(--pm-accent) 100%) !important;
	z-index: 2 !important;
}

.premium_hero_section::after {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	background:
		radial-gradient(ellipse 65% 80% at -5% 50%, rgba(80,70,228,0.08) 0%, transparent 55%),
		radial-gradient(ellipse 50% 60% at 105% 60%, rgba(6,192,136,0.07) 0%, transparent 55%) !important;
	z-index: 0 !important;
	pointer-events: none !important;
}

.premium_hero_grid {
	display: grid !important;
	grid-template-columns: 1.1fr 0.9fr !important;
	gap: 48px !important;
	align-items: center !important;
	position: relative !important;
	z-index: 1 !important;
}

.premium_hero_badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 5px 13px !important;
	border-radius: 99px !important;
	background: rgba(80,70,228,0.07) !important;
	border: 1px solid rgba(80,70,228,0.12) !important;
	color: var(--pm-primary) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	margin-bottom: 22px !important;
}

.premium_hero_badge::before {
	content: '' !important;
	width: 6px !important;
	height: 6px !important;
	border-radius: 50% !important;
	background: var(--pm-primary) !important;
	display: inline-block !important;
	flex-shrink: 0 !important;
	animation: pm-pulse 1.5s ease-in-out infinite !important;
	box-shadow: 0 0 0 3px rgba(80,70,228,0.15) !important;
}

@keyframes pm-pulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50%       { transform: scale(1.3); opacity: 0.7; }
}

body.premium_dark_mode .premium_hero_badge {
	background: rgba(80,70,228,0.15) !important;
	border-color: rgba(129,140,248,0.2) !important;
	color: #a5b4fc !important;
}

.premium_hero_title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 46px !important;
	font-weight: 900 !important;
	line-height: 1.1 !important;
	letter-spacing: -1.5px !important;
	color: var(--pm-text-head) !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
}

body.premium_dark_mode .premium_hero_title { color: var(--pm-dark-text-head) !important; }

.premium_hero_desc {
	font-size: 16.5px !important;
	line-height: 1.75 !important;
	color: var(--pm-text-muted) !important;
	margin: 0 0 32px 0 !important;
}

body.premium_dark_mode .premium_hero_desc { color: var(--pm-dark-text-body) !important; }

.premium_hero_actions {
	display: flex !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}

.premium_btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 12px 26px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	font-family: 'Inter', sans-serif !important;
	border-radius: var(--pm-r-md) !important;
	text-decoration: none !important;
	transition: var(--pm-trans) !important;
	cursor: pointer !important;
	border: none !important;
	white-space: nowrap !important;
}

.premium_btn_primary {
	background: linear-gradient(135deg, var(--pm-primary) 0%, #7c6ff7 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 6px 20px rgba(80,70,228,0.35) !important;
}

.premium_btn_primary:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 12px 32px rgba(80,70,228,0.50) !important;
	color: #fff !important;
}

.premium_btn_outline {
	background: rgba(255,255,255,0.7) !important;
	color: var(--pm-text-head) !important;
	border: 1.5px solid var(--pm-border) !important;
	backdrop-filter: blur(8px) !important;
}

body.premium_dark_mode .premium_btn_outline {
	background: rgba(255,255,255,0.05) !important;
	color: var(--pm-dark-text-head) !important;
	border-color: var(--pm-dark-border) !important;
}

.premium_btn_outline:hover {
	background: rgba(80,70,228,0.07) !important;
	border-color: rgba(80,70,228,0.3) !important;
	color: var(--pm-primary) !important;
	transform: translateY(-2px) !important;
}

.premium_hero_image_container {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

.premium_hero_img {
	width: 100% !important;
	max-width: 400px !important;
	height: auto !important;
	border-radius: var(--pm-r-lg) !important;
	box-shadow: var(--pm-shadow-xl) !important;
	object-fit: cover !important;
}

/* ============================================================
   9. STATS CARDS
   ============================================================ */
.premium_stats_section { margin-bottom: 24px !important; }

.premium_stats_grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 18px !important;
}

.premium_stat_card {
	background: var(--pm-surface) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-lg) !important;
	padding: 32px 24px !important;
	text-align: center !important;
	box-shadow: var(--pm-shadow-sm) !important;
	transition: var(--pm-trans) !important;
	position: relative !important;
	overflow: hidden !important;
}

body.premium_dark_mode .premium_stat_card {
	background: var(--pm-dark-surface) !important;
	border-color: var(--pm-dark-border) !important;
}

.premium_stat_card:hover {
	transform: translateY(-6px) !important;
	box-shadow: var(--pm-shadow-lg) !important;
	border-color: rgba(80,70,228,0.2) !important;
}

.premium_stat_icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 60px !important;
	height: 60px !important;
	border-radius: 50% !important;
	background: rgba(80,70,228,0.08) !important;
	border: 1px solid rgba(80,70,228,0.10) !important;
	margin: 0 auto 16px !important;
	font-size: 22px !important;
	color: var(--pm-primary) !important;
	transition: var(--pm-trans) !important;
}

body.premium_dark_mode .premium_stat_icon {
	background: rgba(80,70,228,0.15) !important;
	color: #a5b4fc !important;
}

.premium_stat_card:hover .premium_stat_icon {
	background: linear-gradient(135deg, var(--pm-primary), #818cf8) !important;
	color: #fff !important;
	border-color: transparent !important;
	transform: scale(1.1) rotate(6deg) !important;
	box-shadow: 0 8px 20px rgba(80,70,228,0.30) !important;
}

.premium_stat_value {
	font-family: 'Outfit', sans-serif !important;
	font-size: 38px !important;
	font-weight: 900 !important;
	letter-spacing: -1.5px !important;
	margin: 0 0 5px 0 !important;
	line-height: 1 !important;
	color: var(--pm-text-head) !important;
}

body.premium_dark_mode .premium_stat_value { color: var(--pm-dark-text-head) !important; }

.premium_stat_label {
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.2px !important;
	color: var(--pm-text-muted) !important;
	margin: 0 !important;
}

body.premium_dark_mode .premium_stat_label { color: var(--pm-dark-text-muted) !important; }

/* ============================================================
   10. SECTION HEADERS
   ============================================================ */
.premium_section_header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 22px !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
}

.premium_section_title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	letter-spacing: -0.5px !important;
	color: var(--pm-text-head) !important;
	margin: 0 !important;
	padding-bottom: 11px !important;
	position: relative !important;
	display: block !important;
	line-height: 1.3 !important;
}

body.premium_dark_mode .premium_section_title { color: var(--pm-dark-text-head) !important; }

.premium_section_title::after {
	content: '' !important;
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 36px !important;
	height: 3px !important;
	border-radius: 99px !important;
	background: linear-gradient(90deg, var(--pm-primary), var(--pm-accent)) !important;
}

.premium_see_all {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--pm-primary) !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	padding: 5px 13px !important;
	border-radius: 99px !important;
	border: 1px solid rgba(80,70,228,0.15) !important;
	transition: var(--pm-trans-fast) !important;
	background: rgba(80,70,228,0.04) !important;
}

.premium_see_all:hover {
	background: var(--pm-primary) !important;
	color: #fff !important;
	border-color: transparent !important;
}

.premium_issue_id {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--pm-text-muted) !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	background: var(--pm-surface-2) !important;
	padding: 4px 11px !important;
	border-radius: 99px !important;
	border: 1px solid var(--pm-border) !important;
}

body.premium_dark_mode .premium_issue_id {
	background: var(--pm-dark-surface-2) !important;
	border-color: var(--pm-dark-border) !important;
	color: var(--pm-dark-text-muted) !important;
}

/* ============================================================
   11. ABOUT SECTION
   ============================================================ */
.premium_about_section {
	background: var(--pm-surface-2) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-lg) !important;
	padding: 36px !important;
	margin-bottom: 24px !important;
	position: relative !important;
	overflow: hidden !important;
}

body.premium_dark_mode .premium_about_section {
	background: var(--pm-dark-surface-2) !important;
	border-color: var(--pm-dark-border) !important;
}

.premium_about_section::before {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	bottom: 0 !important;
	width: 4px !important;
	background: linear-gradient(180deg, var(--pm-primary), var(--pm-accent)) !important;
	border-radius: var(--pm-r-lg) 0 0 var(--pm-r-lg) !important;
}

.premium_section_content {
	font-size: 15px !important;
	line-height: 1.8 !important;
	color: var(--pm-text-body) !important;
	margin-top: 16px !important;
}

body.premium_dark_mode .premium_section_content { color: var(--pm-dark-text-body) !important; }

/* ============================================================
   12. ANNOUNCEMENTS
   ============================================================ */
.premium_announcements_section { margin-bottom: 24px !important; }

.premium_announcements_list {
	display: flex !important;
	flex-direction: column !important;
	gap: 13px !important;
}

.premium_announcement_item {
	background: var(--pm-surface) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-md) !important;
	padding: 22px 26px !important;
	box-shadow: var(--pm-shadow-xs) !important;
	transition: var(--pm-trans) !important;
}

body.premium_dark_mode .premium_announcement_item {
	background: var(--pm-dark-surface) !important;
	border-color: var(--pm-dark-border) !important;
}

.premium_announcement_item:hover {
	border-color: rgba(80,70,228,0.2) !important;
	box-shadow: var(--pm-shadow-md) !important;
	transform: translateX(4px) !important;
}

.premium_announcement_date {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.6px !important;
	color: var(--pm-primary) !important;
	background: rgba(80,70,228,0.07) !important;
	padding: 3px 9px !important;
	border-radius: 99px !important;
	margin-bottom: 9px !important;
}

.premium_announcement_title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	margin: 0 0 7px 0 !important;
}

.premium_announcement_title a {
	color: var(--pm-text-head) !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
}

body.premium_dark_mode .premium_announcement_title a { color: var(--pm-dark-text-head) !important; }
.premium_announcement_title a:hover { color: var(--pm-primary) !important; }

.premium_announcement_brief {
	font-size: 13.5px !important;
	color: var(--pm-text-muted) !important;
	margin: 0 !important;
	line-height: 1.65 !important;
}

body.premium_dark_mode .premium_announcement_brief { color: var(--pm-dark-text-muted) !important; }

/* ============================================================
   13. CURRENT ISSUE / ARTICLE LISTINGS
   ============================================================ */
.premium_current_issue_section { margin-bottom: 24px !important; }

.sections { margin: 0 !important; padding: 0 !important; }
.section  { margin-bottom: 26px !important; }

.section h2,
.section_title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.2px !important;
	color: var(--pm-text-muted) !important;
	margin: 0 0 13px 0 !important;
	padding: 0 0 9px 0 !important;
	border-bottom: 1px solid var(--pm-border) !important;
}

body.premium_dark_mode .section h2,
body.premium_dark_mode .section_title {
	color: var(--pm-dark-text-muted) !important;
	border-bottom-color: var(--pm-dark-border) !important;
}

ul.articles,
.articles {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

li.article {
	background: var(--pm-surface-2) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-md) !important;
	padding: 18px 22px !important;
	transition: var(--pm-trans) !important;
}

body.premium_dark_mode li.article {
	background: var(--pm-dark-surface-2) !important;
	border-color: var(--pm-dark-border) !important;
}

li.article:hover {
	border-color: rgba(80,70,228,0.2) !important;
	box-shadow: var(--pm-shadow-sm) !important;
	transform: translateX(3px) !important;
}

li.article .title,
li.article h3.title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	margin: 0 0 5px 0 !important;
	line-height: 1.4 !important;
}

li.article .title a,
li.article h3.title a {
	color: var(--pm-text-head) !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
}

body.premium_dark_mode li.article .title a { color: var(--pm-dark-text-head) !important; }
li.article .title a:hover { color: var(--pm-primary) !important; }

li.article .authors {
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: var(--pm-text-muted) !important;
	margin-bottom: 9px !important;
	display: block !important;
}

body.premium_dark_mode li.article .authors { color: var(--pm-dark-text-muted) !important; }

ul.galleys_links,
li.article .galleys_links {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	list-style: none !important;
	margin: 9px 0 0 !important;
	padding: 0 !important;
}

.galleys_links a.obj_galley_link,
a.obj_galley_link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	padding: 4px 13px !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	border-radius: 99px !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
	background: var(--pm-primary) !important;
	color: #ffffff !important;
	border: none !important;
}

.galleys_links a.obj_galley_link:hover,
a.obj_galley_link:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 14px rgba(80,70,228,0.4) !important;
}

.galleys_links a.obj_galley_link.pdf,
a.obj_galley_link.pdf {
	background: #ef4444 !important;
}

/* ============================================================
   14. EMPTY STATE
   ============================================================ */
.no_issues {
	text-align: center !important;
	padding: 64px 32px !important;
	background: rgba(80,70,228,0.03) !important;
	border: 2px dashed rgba(80,70,228,0.15) !important;
	border-radius: var(--pm-r-lg) !important;
	margin: 20px 0 !important;
	font-family: 'Outfit', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--pm-text-head) !important;
}

body.premium_dark_mode .no_issues {
	background: rgba(80,70,228,0.05) !important;
	color: var(--pm-dark-text-head) !important;
}

/* ============================================================
   15. SIDEBAR
   ============================================================ */
.pkp_structure_sidebar.premium_sidebar_container {
	width: 270px !important;
	flex-shrink: 0 !important;
	float: none !important;
	padding: 0 !important;
	border: none !important;
}

.premium_sidebar_inner {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
}

.premium_sidebar_inner .pkp_block {
	background: var(--pm-surface) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-md) !important;
	padding: 22px !important;
	box-shadow: var(--pm-shadow-sm) !important;
	transition: var(--pm-trans) !important;
}

body.premium_dark_mode .premium_sidebar_inner .pkp_block {
	background: var(--pm-dark-surface) !important;
	border-color: var(--pm-dark-border) !important;
}

.premium_sidebar_inner .pkp_block:hover {
	transform: translateY(-2px) !important;
	box-shadow: var(--pm-shadow-md) !important;
}

.premium_sidebar_inner .pkp_block .title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	color: var(--pm-text-head) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	margin: 0 0 13px 0 !important;
	padding-bottom: 10px !important;
	border-bottom: 1px solid var(--pm-border) !important;
}

body.premium_dark_mode .premium_sidebar_inner .pkp_block .title {
	color: var(--pm-dark-text-head) !important;
	border-bottom-color: var(--pm-dark-border) !important;
}

/* ============================================================
   16. ISSUE ARCHIVE
   ============================================================ */
.issues_archive {
	display: flex !important;
	flex-direction: column !important;
	gap: 24px !important;
	margin-top: 18px !important;
}

.obj_issue_summary {
	background: var(--pm-surface) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-lg) !important;
	padding: 24px !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 28px !important;
	transition: var(--pm-trans) !important;
	box-shadow: var(--pm-shadow-sm) !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode .obj_issue_summary {
	background: var(--pm-dark-surface) !important;
	border-color: var(--pm-dark-border) !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}

.obj_issue_summary:hover {
	border-color: rgba(80,70,228,0.2) !important;
	box-shadow: var(--pm-shadow-md) !important;
	transform: translateY(-4px) !important;
}

.obj_issue_summary a.cover {
	display: block !important;
	flex-shrink: 0 !important;
	width: 220px !important;
	border-radius: var(--pm-r-md) !important;
	overflow: hidden !important;
	box-shadow: var(--pm-shadow-sm) !important;
	border: 1px solid var(--pm-border) !important;
	transition: var(--pm-trans) !important;
}

body.premium_dark_mode .obj_issue_summary a.cover {
	border-color: var(--pm-dark-border) !important;
}

.obj_issue_summary a.cover:hover {
	transform: scale(1.03) !important;
	box-shadow: var(--pm-shadow-md) !important;
}

.obj_issue_summary a.cover img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	object-fit: cover !important;
}

.obj_issue_summary > :not(a.cover) {
	flex: 1 1 0% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 12px !important;
}

.obj_issue_summary .title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	margin: 0 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.5px !important;
}

.obj_issue_summary .title a {
	color: var(--pm-text-head) !important;
	text-decoration: none !important;
	background: linear-gradient(135deg, var(--pm-primary) 0%, #818cf8 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	transition: opacity 0.2s !important;
	display: inline-block !important;
}

body.premium_dark_mode .obj_issue_summary .title a {
	color: var(--pm-dark-text-head) !important;
}

.obj_issue_summary .title a:hover {
	opacity: 0.85 !important;
}

.obj_issue_summary .description {
	font-size: 14.5px !important;
	line-height: 1.65 !important;
	color: var(--pm-text-body) !important;
	margin: 0 !important;
}

body.premium_dark_mode .obj_issue_summary .description {
	color: var(--pm-dark-text-body) !important;
}

.obj_issue_summary .published {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--pm-text-muted) !important;
}

body.premium_dark_mode .obj_issue_summary .published {
	color: var(--pm-dark-text-muted) !important;
}

@media (max-width: 576px) {
	.obj_issue_summary {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 18px !important;
		padding: 18px !important;
	}
	.obj_issue_summary a.cover {
		width: 100% !important;
		max-width: 220px !important;
		margin: 0 auto !important;
	}
	.obj_issue_summary .title {
		font-size: 20px !important;
	}
}

/* ============================================================
   17. FOOTER
   ============================================================ */
footer.pkp_structure_footer_wrapper,
.premium_footer_container {
	background: var(--pm-surface) !important;
	border-top: 1px solid var(--pm-border) !important;
	margin-top: auto !important;
}

body.premium_dark_mode footer.pkp_structure_footer_wrapper {
	background: var(--pm-dark-surface) !important;
	border-top-color: var(--pm-dark-border) !important;
}

.premium_footer_content_section {
	max-width: 1280px !important;
	margin: 0 auto !important;
	padding: 56px 24px 44px !important;
}

.premium_footer_grid {
	display: grid !important;
	grid-template-columns: 1.8fr 1fr 1.2fr !important;
	gap: 48px !important;
}

.premium_footer_title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 12.5px !important;
	font-weight: 800 !important;
	color: var(--pm-text-head) !important;
	margin: 0 0 18px 0 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	padding-bottom: 11px !important;
	position: relative !important;
}

.premium_footer_title::after {
	content: '' !important;
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 26px !important;
	height: 2px !important;
	background: linear-gradient(90deg, var(--pm-primary), var(--pm-accent)) !important;
	border-radius: 99px !important;
}

body.premium_dark_mode .premium_footer_title { color: var(--pm-dark-text-head) !important; }

.premium_footer_text {
	font-size: 14px !important;
	color: var(--pm-text-muted) !important;
	line-height: 1.8 !important;
}

body.premium_dark_mode .premium_footer_text { color: var(--pm-dark-text-muted) !important; }

.premium_footer_links {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.premium_footer_links li { margin-bottom: 9px !important; }

.premium_footer_links a {
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--pm-text-muted) !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
}

.premium_footer_links a:hover {
	color: var(--pm-primary) !important;
	padding-left: 4px !important;
}

body.premium_dark_mode .premium_footer_links a { color: var(--pm-dark-text-muted) !important; }
body.premium_dark_mode .premium_footer_links a:hover { color: #a5b4fc !important; }

.premium_footer_socials {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 9px !important;
	margin-bottom: 16px !important;
}

.premium_footer_socials a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: var(--pm-r-sm) !important;
	background: var(--pm-surface-2) !important;
	border: 1px solid var(--pm-border) !important;
	color: var(--pm-text-muted) !important;
	font-size: 15px !important;
	transition: var(--pm-trans) !important;
	text-decoration: none !important;
}

body.premium_dark_mode .premium_footer_socials a {
	background: var(--pm-dark-surface-2) !important;
	border-color: var(--pm-dark-border) !important;
}

.premium_footer_socials a:hover {
	color: #fff !important;
	border-color: transparent !important;
	transform: translateY(-2px) !important;
}

.premium_footer_socials a.facebook:hover  { background: #1877f2 !important; }
.premium_footer_socials a.twitter:hover   { background: #1d9bf0 !important; }
.premium_footer_socials a.linkedin:hover  { background: #0a66c2 !important; }
.premium_footer_socials a.instagram:hover { background: radial-gradient(circle at 30% 107%, #fdf497, #fd5949, #d6249f, #285aeb) !important; }
.premium_footer_socials a.whatsapp:hover  { background: #25d366 !important; }

.premium_footer_bottom.pkp_structure_footer {
	border-top: 1px solid var(--pm-border) !important;
	background: rgba(0,0,0,0.02) !important;
	padding: 0 !important;
	margin: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

body.premium_dark_mode .premium_footer_bottom {
	border-top-color: var(--pm-dark-border) !important;
	background: rgba(0,0,0,0.12) !important;
}

.premium_footer_bottom_inner {
	max-width: 1280px !important;
	margin: 0 auto !important;
	padding: 12px 24px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	min-height: auto !important;
	box-sizing: border-box !important;
}

.premium_footer_bottom_left {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.premium_footer_bottom_right {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.pkp_footer_content,
.pkp_brand_footer {
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	position: static !important;
	background: transparent !important;
}

.premium_copyright_text,
.premium_page_footer_text,
.premium_page_footer_text p {
	font-size: 11px !important;
	color: var(--pm-text-muted) !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.premium_dark_mode .premium_copyright_text,
body.premium_dark_mode .premium_page_footer_text,
body.premium_dark_mode .premium_page_footer_text p {
	color: var(--pm-dark-text-muted) !important;
}

/* ============================================================
   18. FORMS
   ============================================================ */
.pkp_structure_main input[type="text"],
.pkp_structure_main input[type="search"],
.pkp_structure_main input[type="password"],
.pkp_structure_main input[type="email"],
.pkp_structure_main select,
.pkp_structure_main textarea {
	width: 100% !important;
	padding: 10px 14px !important;
	font-size: 15px !important;
	font-family: 'Inter', sans-serif !important;
	color: var(--pm-text-body) !important;
	background: var(--pm-surface) !important;
	border: 1.5px solid var(--pm-border) !important;
	border-radius: var(--pm-r-sm) !important;
	box-shadow: var(--pm-shadow-xs) !important;
	transition: var(--pm-trans-fast) !important;
	box-sizing: border-box !important;
	outline: none !important;
}

body.premium_dark_mode .pkp_structure_main input,
body.premium_dark_mode .pkp_structure_main select,
body.premium_dark_mode .pkp_structure_main textarea {
	color: var(--pm-dark-text-body) !important;
	background: var(--pm-dark-surface-2) !important;
	border-color: var(--pm-dark-border) !important;
}

.pkp_structure_main input:focus,
.pkp_structure_main select:focus,
.pkp_structure_main textarea:focus {
	border-color: var(--pm-primary) !important;
	box-shadow: 0 0 0 3px rgba(80,70,228,0.12) !important;
}

.pkp_structure_main button,
.pkp_structure_main input[type="submit"],
.pkp_structure_main .pkp_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 10px 22px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	font-family: 'Inter', sans-serif !important;
	color: #ffffff !important;
	background: linear-gradient(135deg, var(--pm-primary), #7c6ff7) !important;
	border: none !important;
	border-radius: var(--pm-r-sm) !important;
	cursor: pointer !important;
	transition: var(--pm-trans) !important;
	box-shadow: 0 4px 12px rgba(80,70,228,0.28) !important;
}

.pkp_structure_main button:hover,
.pkp_structure_main input[type="submit"]:hover {
	transform: translateY(-1.5px) !important;
	box-shadow: 0 8px 20px rgba(80,70,228,0.4) !important;
}

/* ============================================================
   19. PAGINATION
   ============================================================ */
.cmp_pagination {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	margin: 36px 0 10px !important;
	list-style: none !important;
	padding: 0 !important;
	flex-wrap: wrap !important;
}

.cmp_pagination a,
.cmp_pagination span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 36px !important;
	height: 36px !important;
	padding: 0 9px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--pm-text-muted) !important;
	background: var(--pm-surface) !important;
	border: 1.5px solid var(--pm-border) !important;
	border-radius: var(--pm-r-sm) !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
}

.cmp_pagination a:hover {
	color: var(--pm-primary) !important;
	border-color: rgba(80,70,228,0.3) !important;
}

.cmp_pagination .current {
	background: linear-gradient(135deg, var(--pm-primary), #818cf8) !important;
	border-color: transparent !important;
	color: #fff !important;
	box-shadow: 0 3px 10px rgba(80,70,228,0.3) !important;
}

/* ============================================================
   20. TYPOGRAPHY (inner main card)
   ============================================================ */
.pkp_structure_main h2 {
	font-family: 'Outfit', sans-serif !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--pm-text-head) !important;
	margin: 28px 0 12px !important;
	letter-spacing: -0.5px !important;
}

body.premium_dark_mode .pkp_structure_main h2 { color: var(--pm-dark-text-head) !important; }

.pkp_structure_main h3 {
	font-family: 'Outfit', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--pm-text-head) !important;
	margin: 22px 0 9px !important;
}

body.premium_dark_mode .pkp_structure_main h3 { color: var(--pm-dark-text-head) !important; }

.pkp_structure_main p {
	color: var(--pm-text-body) !important;
	line-height: 1.75 !important;
	margin: 0 0 14px !important;
}

body.premium_dark_mode .pkp_structure_main p { color: var(--pm-dark-text-body) !important; }

.pkp_structure_main a:not([class]) {
	color: var(--pm-primary) !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}

/* ============================================================
   21. ACCESSIBILITY
   ============================================================ */
.pkp_screen_reader {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.pkp_skip_to_content {
	position: absolute !important;
	top: -100px !important;
	left: 0 !important;
	background: var(--pm-primary) !important;
	color: #fff !important;
	padding: 10px 18px !important;
	border-radius: 0 0 var(--pm-r-sm) 0 !important;
	font-weight: 700 !important;
	z-index: 99999 !important;
}

.pkp_skip_to_content:focus { top: 0 !important; }

/* ============================================================
   22. LEGACY FLOAT CLEANUP
   ============================================================ */
.pkp_structure_main {
	clear: none !important;
	float: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.pkp_structure_sidebar { clear: none !important; float: none !important; }

.pkp_structure_content.has_sidebar {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 24px !important;
}

.pkp_structure_content.has_sidebar .pkp_structure_main {
	flex: 1 1 0% !important;
	min-width: 0 !important;
}

/* ============================================================
   23. ENTRANCE ANIMATIONS
   ============================================================ */
@keyframes pm-fadeup {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: translateY(0); }
}

.premium_hero_section          { animation: pm-fadeup 0.45s var(--pm-ease) both; }
.premium_stats_section         { animation: pm-fadeup 0.45s var(--pm-ease) 0.08s both; }
.premium_about_section         { animation: pm-fadeup 0.45s var(--pm-ease) 0.12s both; }
.premium_announcements_section { animation: pm-fadeup 0.45s var(--pm-ease) 0.12s both; }
.premium_current_issue_section { animation: pm-fadeup 0.45s var(--pm-ease) 0.16s both; }

/* ============================================================
   24. RESPONSIVE — MEDIUM DESKTOP (≤1200px)
   ============================================================ */
@media (max-width: 1200px) {
	.pkp_head_wrapper.premium_nav_wrapper {
		padding: 0 24px !important;
		gap: 16px !important;
	}

	.pkp_structure_content,
	.pkp_structure_content.premium_page_container {
		padding: 24px 20px !important;
	}

	#navigationPrimary > li > a {
		padding: 8px 10px !important;
		font-size: 13.5px !important;
	}

	.pkp_structure_main,
	.pkp_structure_main.premium_main_content {
		padding: 36px !important;
	}

	.premium_hero_section { padding: 52px 44px !important; }
	.premium_hero_title { font-size: 40px !important; }
}

/* ============================================================
   25. RESPONSIVE — TABLET & MOBILE COLLAPSE (≤991px)
   ============================================================ */
@media (max-width: 991px) {
	/* Sticky Navbar for Mobile */
	.pkp_head_wrapper.premium_nav_wrapper {
		padding: 0 16px !important;
		height: 60px !important;
		gap: 0 !important;
	}

	/* Show Mobile Hamburger Toggle & Prevent Absolute Overlap */
	.pkp_site_nav_toggle {
		display: inline-flex !important;
		position: relative !important;
		top: auto !important;
		left: auto !important;
		margin: 0 !important;
	}

	/* Logo Text on Mobile */
	.pkp_site_name a.is_text,
	.pkp_site_name a.premium_logo_text,
	a.premium_logo_text {
		font-size: 20px !important;
	}

	/* Hide desktop menu flow on mobile by default */
	.pkp_site_nav_menu.premium_nav_menu:not(.pm-mobile-open):not(.pkp_site_nav_menu--isOpen) {
		display: none !important;
	}

	/* Full bleed dropdown mobile navigation card */
	.pkp_site_nav_menu.premium_nav_menu.pm-mobile-open,
	.pkp_site_nav_menu.premium_nav_menu.pkp_site_nav_menu--isOpen {
		display: flex !important;
		position: fixed !important;
		top: 60px !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		height: auto !important;
		max-height: calc(100vh - 60px) !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		background: rgba(255,255,255,0.98) !important;
		backdrop-filter: blur(20px) saturate(180%) !important;
		-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
		border-bottom: 1px solid var(--pm-border) !important;
		box-shadow: var(--pm-shadow-lg) !important;
		padding: 16px 20px 24px !important;
		gap: 12px !important;
		z-index: 9999 !important;
		overflow-y: auto !important;
		margin: 0 !important;
	}

	body.premium_dark_mode .pkp_site_nav_menu.premium_nav_menu.pm-mobile-open,
	body.premium_dark_mode .pkp_site_nav_menu.premium_nav_menu.pkp_site_nav_menu--isOpen {
		background: rgba(10,14,24,0.98) !important;
		border-bottom-color: var(--pm-dark-border) !important;
	}

	/* Convert flex flows to vertical stacked rows on mobile */
	.pkp_navigation_primary_row,
	.pkp_navigation_primary_wrapper,
	ul.pkp_navigation_primary,
	#navigationPrimary,
	ul.pkp_navigation_user,
	#navigationUser,
	.pkp_navigation_user_wrapper.premium_user_menu {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 4px !important;
		justify-content: flex-start !important;
	}

	#navigationPrimary > li,
	ul.pkp_navigation_primary > li,
	#navigationUser > li {
		width: 100% !important;
		flex-shrink: 0 !important;
	}

	/* Fully padded mobile touch target items */
	#navigationPrimary > li > a,
	ul.pkp_navigation_primary > li > a,
	#navigationUser > li > a {
		width: 100% !important;
		display: flex !important;
		padding: 12px 16px !important;
		font-size: 15px !important;
		text-align: left !important;
		border-radius: var(--pm-r-md) !important;
		box-sizing: border-box !important;
	}

	/* Search form link styling for mobile */
	.pkp_navigation_search_wrapper {
		width: 100% !important;
		margin: 4px 0 0 0 !important;
	}

	.pkp_search.pkp_search_desktop,
	a.premium_search_link {
		width: 100% !important;
		display: flex !important;
		padding: 12px 16px !important;
		font-size: 15px !important;
		border-radius: var(--pm-r-md) !important;
		box-sizing: border-box !important;
	}

	/* User controls divider on mobile */
	.pkp_navigation_user_wrapper.premium_user_menu {
		margin-top: 12px !important;
		padding-top: 12px !important;
		border-top: 1px solid var(--pm-border) !important;
	}

	body.premium_dark_mode .pkp_navigation_user_wrapper.premium_user_menu {
		border-top-color: var(--pm-dark-border) !important;
	}

	/* Full-width call-to-actions for mobile authentications */
	#navigationUser > li > a[href*="login"],
	#navigationUser > li > a[href*="register"] {
		width: 100% !important;
		justify-content: center !important;
		box-sizing: border-box !important;
	}

	/* Hide absolute hover submenus on mobile, or stack them safely */
	#navigationPrimary li > ul,
	#navigationUser li > ul {
		position: static !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: none !important;
		box-shadow: none !important;
		border: none !important;
		border-radius: 0 !important;
		background: rgba(80,70,228,0.04) !important;
		padding: 4px 4px 4px 16px !important;
		min-width: 0 !important;
		width: 100% !important;
		display: none !important; /* Managed by toggle or default hidden */
	}

	body.premium_dark_mode #navigationPrimary li > ul,
	body.premium_dark_mode #navigationUser li > ul {
		background: rgba(255,255,255,0.03) !important;
	}

	/* Page content and grids stacking */
	.pkp_structure_content,
	.pkp_structure_content.premium_page_container,
	.pkp_structure_content.has_sidebar {
		flex-direction: column !important;
		padding: 20px 16px !important;
		gap: 20px !important;
	}

	.pkp_structure_sidebar.premium_sidebar_container {
		width: 100% !important;
		order: 2 !important;
		margin-top: 12px !important;
	}

	.premium_sidebar_inner {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 16px !important;
	}

	.premium_sidebar_inner .pkp_block {
		flex: 1 1 280px !important;
	}

	.pkp_structure_main,
	.pkp_structure_main.premium_main_content {
		padding: 28px 24px !important;
		border-radius: var(--pm-r-lg) !important;
		width: 100% !important;
		flex: none !important;
	}

	.premium_hero_section {
		padding: 44px 28px !important;
		border-radius: var(--pm-r-lg) !important;
		margin-bottom: 16px !important;
	}

	.premium_hero_grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	.premium_hero_image_container,
	.premium_hero_slideshow_container { display: none !important; }

	.premium_hero_title { font-size: 32px !important; letter-spacing: -0.8px !important; }
	.premium_hero_desc { font-size: 15px !important; }

	.premium_stats_grid {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 12px !important;
	}

	.premium_footer_grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 28px !important;
	}

	.premium_footer_grid > .premium_footer_col:last-child {
		grid-column: 1 / -1 !important;
	}

	.premium_footer_content_section {
		padding: 40px 16px 28px !important;
	}
}

/* ============================================================
   26. RESPONSIVE — MOBILE (≤680px)
   ============================================================ */
@media (max-width: 680px) {
	.premium_stats_grid {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}

	.premium_stat_card {
		padding: 24px 20px !important;
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		text-align: left !important;
		gap: 16px !important;
	}

	.premium_stat_icon {
		width: 52px !important;
		height: 52px !important;
		margin: 0 !important;
		flex-shrink: 0 !important;
	}

	.premium_stat_value { font-size: 30px !important; }

	.premium_footer_grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	.premium_footer_bottom_inner {
		padding: 14px 16px !important;
		flex-direction: column !important;
		text-align: center !important;
		gap: 8px !important;
	}

	.premium_footer_bottom_left {
		align-items: center !important;
		text-align: center !important;
	}
}

/* ============================================================
   27. RESPONSIVE — SMALL MOBILE (≤440px)
   ============================================================ */
@media (max-width: 440px) {
	.pkp_head_wrapper.premium_nav_wrapper {
		padding: 0 12px !important;
		height: 56px !important;
	}

	.pkp_site_nav_menu.premium_nav_menu.pm-mobile-open,
	.pkp_site_nav_menu.premium_nav_menu.pkp_site_nav_menu--isOpen {
		top: 56px !important;
		max-height: calc(100vh - 56px) !important;
	}

	.pkp_site_name a.is_text,
	.pkp_site_name a.premium_logo_text,
	a.premium_logo_text {
		font-size: 18px !important;
	}

	.premium_hero_section {
		padding: 32px 20px !important;
	}

	.premium_hero_title {
		font-size: 26px !important;
	}
}

/* ============================================================
   28. FLOATING DARK/LIGHT MODE SWITCHER
   ============================================================ */
.premium_theme_toggle_btn {
	position: fixed !important;
	right: 28px !important;
	bottom: 28px !important;
	width: 50px !important;
	height: 50px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	z-index: 99990 !important;
	box-shadow: 0 10px 30px rgba(80,70,228,0.25) !important;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
	outline: none !important;
	background: rgba(255, 255, 255, 0.90) !important;
	backdrop-filter: blur(12px) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	border: 1.5px solid rgba(80, 70, 228, 0.18) !important;
	color: var(--pm-primary) !important;
	padding: 0 !important;
}

.premium_theme_toggle_btn:hover {
	transform: scale(1.12) translateY(-3px) !important;
	box-shadow: 0 16px 40px rgba(80,70,228,0.40) !important;
	border-color: var(--pm-primary) !important;
}

.premium_theme_toggle_btn svg {
	width: 21px !important;
	height: 21px !important;
	transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
	position: absolute !important;
}

/* Show/Hide Sun and Moon icons based on body class */
/* If LIGHT (no premium_dark_mode), show Moon icon, hide Sun icon */
body:not(.premium_dark_mode) .premium_theme_toggle_btn .theme-icon-sun {
	opacity: 0 !important;
	transform: rotate(45deg) scale(0) !important;
}

body:not(.premium_dark_mode) .premium_theme_toggle_btn .theme-icon-moon {
	opacity: 1 !important;
	transform: rotate(0deg) scale(1) !important;
}

/* If DARK (has premium_dark_mode), show Sun icon, hide Moon icon */
body.premium_dark_mode .premium_theme_toggle_btn {
	background: rgba(15, 20, 33, 0.90) !important;
	border-color: rgba(255, 255, 255, 0.12) !important;
	color: #f8fafc !important;
	box-shadow: 0 10px 30px rgba(0,0,0,0.55) !important;
}

body.premium_dark_mode .premium_theme_toggle_btn:hover {
	box-shadow: 0 16px 40px rgba(0,0,0,0.75) !important;
	border-color: rgba(255,255,255,0.3) !important;
}

body.premium_dark_mode .premium_theme_toggle_btn .theme-icon-sun {
	opacity: 1 !important;
	transform: rotate(0deg) scale(1) !important;
}

body.premium_dark_mode .premium_theme_toggle_btn .theme-icon-moon {
	opacity: 0 !important;
	transform: rotate(-45deg) scale(0) !important;
}

/* ============================================================
   28B. FLOATING BACK TO TOP BUTTON (.premium_back_to_top_btn)
   ============================================================ */
.premium_back_to_top_btn {
	position: fixed !important;
	right: 28px !important;
	bottom: 94px !important;
	width: 50px !important;
	height: 50px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	z-index: 99990 !important;
	box-shadow: 0 10px 30px rgba(80,70,228,0.20) !important;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
	outline: none !important;
	background: rgba(255, 255, 255, 0.90) !important;
	backdrop-filter: blur(12px) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	border: 1.5px solid rgba(80, 70, 228, 0.18) !important;
	color: var(--pm-primary) !important;
	padding: 0 !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transform: scale(0.8) translateY(10px) !important;
	pointer-events: none !important;
}

.premium_back_to_top_btn.premium_back_to_top_show {
	opacity: 1 !important;
	visibility: visible !important;
	transform: scale(1) translateY(0) !important;
	pointer-events: auto !important;
}

.premium_back_to_top_btn:hover {
	transform: scale(1.12) translateY(-3px) !important;
	box-shadow: 0 16px 40px rgba(80,70,228,0.40) !important;
	border-color: var(--pm-primary) !important;
}

.premium_back_to_top_btn svg {
	width: 20px !important;
	height: 20px !important;
	transition: transform 0.3s var(--pm-trans-fast) !important;
}

.premium_back_to_top_btn:hover svg {
	transform: translateY(-2px) !important;
}

body.premium_dark_mode .premium_back_to_top_btn {
	background: rgba(15, 20, 33, 0.85) !important;
	border-color: rgba(255, 255, 255, 0.08) !important;
	color: #a5b4fc !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}

body.premium_dark_mode .premium_back_to_top_btn:hover {
	border-color: #a5b4fc !important;
	box-shadow: 0 16px 40px rgba(80,70,228,0.5) !important;
}

/* Responsive adjustment for floating button on mobile */
@media (max-width: 991px) {
	.pkp_structure_page {
		padding-top: 56px !important;
	}

	.premium_theme_toggle_btn {
		right: 20px !important;
		bottom: 20px !important;
		width: 46px !important;
		height: 46px !important;
		box-shadow: 0 6px 20px rgba(80,70,228,0.18) !important;
	}
	
	body.premium_dark_mode .premium_theme_toggle_btn {
		box-shadow: 0 6px 20px rgba(0,0,0,0.45) !important;
	}

	.premium_back_to_top_btn {
		right: 20px !important;
		bottom: 78px !important;
		width: 46px !important;
		height: 46px !important;
		box-shadow: 0 6px 20px rgba(80,70,228,0.15) !important;
	}

	body.premium_dark_mode .premium_back_to_top_btn {
		box-shadow: 0 6px 20px rgba(0,0,0,0.4) !important;
	}
}

/* ============================================================
   29. PREMIUM SIDEBAR MENU (ACCORDION)
   ============================================================ */
.premium_sidebar_card {
	background: var(--pm-surface) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-md) !important;
	padding: 22px !important;
	box-shadow: var(--pm-shadow-sm) !important;
	transition: var(--pm-trans) !important;
	margin-bottom: 16px !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode .premium_sidebar_card {
	background: var(--pm-dark-surface) !important;
	border-color: var(--pm-dark-border) !important;
}

.premium_sidebar_card:hover {
	transform: translateY(-2px) !important;
	box-shadow: var(--pm-shadow-md) !important;
}

.premium_sidebar_card .title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	color: var(--pm-text-head) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	margin: 0 0 13px 0 !important;
	padding-bottom: 10px !important;
	border-bottom: 1px solid var(--pm-border) !important;
}

body.premium_dark_mode .premium_sidebar_card .title {
	color: var(--pm-dark-text-head) !important;
	border-bottom-color: var(--pm-dark-border) !important;
}

/* Sidebar Accordion List */
ul.premium_sidebar_menu {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

ul.premium_sidebar_menu > li {
	display: block !important;
	position: relative !important;
	border-bottom: 1px solid rgba(80,70,228,0.08) !important;
}

body.premium_dark_mode ul.premium_sidebar_menu > li {
	border-bottom-color: rgba(255,255,255,0.06) !important;
}

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

ul.premium_sidebar_menu > li > a {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 11px 4px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--pm-text-body) !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
	line-height: 1.4 !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode ul.premium_sidebar_menu > li > a {
	color: var(--pm-dark-text-body) !important;
}

ul.premium_sidebar_menu > li > a:hover {
	color: var(--pm-primary) !important;
	padding-left: 8px !important;
}

body.premium_dark_mode ul.premium_sidebar_menu > li > a:hover {
	color: #a5b4fc !important;
}

/* Arrow indicator icon */
.pm-menu-arrow {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 16px !important;
	height: 16px !important;
	color: var(--pm-text-muted) !important;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

ul.premium_sidebar_menu > li:hover > a .pm-menu-arrow {
	color: var(--pm-primary) !important;
}

body.premium_dark_mode ul.premium_sidebar_menu > li:hover > a .pm-menu-arrow {
	color: #a5b4fc !important;
}

.pm-menu-arrow svg {
	width: 13px !important;
	height: 13px !important;
	stroke-width: 3px !important;
}

/* Arrow rotation when active */
li.pm-submenu-open > a .pm-menu-arrow {
	transform: rotate(180deg) !important;
	color: var(--pm-primary) !important;
}

body.premium_dark_mode li.pm-submenu-open > a .pm-menu-arrow {
	color: #a5b4fc !important;
}

/* Submenu container lists */
ul.premium_sidebar_menu li > ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 0 0 12px !important;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
	border-left: 1.5px solid rgba(80,70,228,0.15) !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode ul.premium_sidebar_menu li > ul {
	border-left-color: rgba(255,255,255,0.1) !important;
}

ul.premium_sidebar_menu li > ul li {
	display: block !important;
}

ul.premium_sidebar_menu li > ul li a {
	display: block !important;
	padding: 8px 4px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--pm-text-muted) !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode ul.premium_sidebar_menu li > ul li a {
	color: var(--pm-dark-text-muted) !important;
}

ul.premium_sidebar_menu li > ul li a:hover {
	color: var(--pm-primary) !important;
	padding-left: 6px !important;
}

body.premium_dark_mode ul.premium_sidebar_menu li > ul li a:hover {
	color: #a5b4fc !important;
}

/* ============================================================
   30. ANIMATED SIDEBAR CUSTOM BUTTONS (.menu-item-animated)
   ============================================================ */
.menu-item-animated,
a.menu-item-animated {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100% !important;
	padding: 13px 20px !important;
	border-radius: var(--pm-r-md, 12px) !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	color: #ffffff !important;
	background: linear-gradient(135deg, var(--pm-primary) 0%, #818cf8 50%, var(--pm-accent) 100%) !important;
	background-size: 200% auto !important;
	box-shadow: 0 4px 15px rgba(80,70,228,0.22) !important;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
	cursor: pointer !important;
	border: none !important;
}

body.premium_dark_mode .menu-item-animated,
body.premium_dark_mode a.menu-item-animated {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.menu-item-animated:hover,
a.menu-item-animated:hover {
	transform: translateY(-2.5px) scale(1.015) !important;
	background-position: right center !important;
	box-shadow: 0 10px 25px rgba(80,70,228,0.4) !important;
	color: #ffffff !important;
}

body.premium_dark_mode .menu-item-animated:hover,
body.premium_dark_mode a.menu-item-animated:hover {
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.6) !important;
}

.menu-item-animated:active,
a.menu-item-animated:active {
	transform: translateY(-1px) scale(0.99) !important;
}

/* ============================================================
   31. PREMIUM CUSTOM SIDEBAR MENU ACCORDION (.sb-menu)
   ============================================================ */
.sb-menu {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.sb-menu .sb-header {
	font-family: 'Outfit', sans-serif !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	color: var(--pm-primary) !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	margin: 16px 0 8px 4px !important;
	padding: 0 !important;
	opacity: 0.85;
}

body.premium_dark_mode .sb-menu .sb-header {
	color: #a5b4fc !important;
}

.sb-menu .sb-header:first-child {
	margin-top: 0 !important;
}

.sb-menu a.sb-item {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 11px 4px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--pm-text-body) !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
	line-height: 1.4 !important;
	box-sizing: border-box !important;
	border-bottom: 1px solid rgba(80,70,228,0.08) !important;
	cursor: pointer !important;
}

body.premium_dark_mode .sb-menu a.sb-item {
	color: var(--pm-dark-text-body) !important;
	border-bottom-color: rgba(255,255,255,0.06) !important;
}

.sb-menu a.sb-item:hover {
	color: var(--pm-primary) !important;
	padding-left: 8px !important;
}

body.premium_dark_mode .sb-menu a.sb-item:hover {
	color: #a5b4fc !important;
}

/* Arrow rotation when active for custom menu */
.sb-menu a.sb-item.pm-submenu-open .pm-menu-arrow {
	transform: rotate(180deg) !important;
	color: var(--pm-primary) !important;
}

body.premium_dark_mode .sb-menu a.sb-item.pm-submenu-open .pm-menu-arrow {
	color: #a5b4fc !important;
}

.sb-menu a.sb-item:hover .pm-menu-arrow {
	color: var(--pm-primary) !important;
}

body.premium_dark_mode .sb-menu a.sb-item:hover .pm-menu-arrow {
	color: #a5b4fc !important;
}

/* Submenu container list */
.sb-menu .sb-sub {
	display: block !important;
	margin: 0 !important;
	padding: 0 0 0 12px !important;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
	border-left: 1.5px solid rgba(80,70,228,0.15) !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode .sb-menu .sb-sub {
	border-left-color: rgba(255,255,255,0.1) !important;
}

.sb-menu .sb-sub a {
	display: block !important;
	padding: 8px 4px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--pm-text-muted) !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode .sb-menu .sb-sub a {
	color: var(--pm-dark-text-muted) !important;
}

.sb-menu .sb-sub a:hover {
	color: var(--pm-primary) !important;
	padding-left: 6px !important;
}

body.premium_dark_mode .sb-menu .sb-sub a:hover {
	color: #a5b4fc !important;
}

/* ============================================================
   32. PREMIUM HERO SLIDESHOW CONTAINER (.premium_hero_slideshow_container)
   ============================================================ */
.premium_hero_slideshow_container {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1.25 / 1 !important;
	max-width: 440px !important;
	height: 320px !important;
	border-radius: var(--pm-r-lg, 20px) !important;
	overflow: hidden !important;
	position: relative !important;
	box-shadow: var(--pm-shadow-xl) !important;
	border: 1px solid var(--pm-border) !important;
	transition: var(--pm-trans) !important;
	margin: 0 auto !important;
	background: var(--pm-surface-2) !important;
}

body.premium_dark_mode .premium_hero_slideshow_container {
	border-color: var(--pm-dark-border) !important;
	background: var(--pm-dark-surface-2) !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5) !important;
}

.premium_hero_slideshow_container:hover {
	transform: translateY(-2px) !important;
	box-shadow: var(--pm-shadow-lg) !important;
}

.premium_slideshow_inner {
	width: 100% !important;
	height: 100% !important;
	position: relative !important;
}

.premium_slide {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background-size: cover !important;
	background-position: center !important;
	opacity: 0 !important;
	transition: opacity 0.8s ease-in-out !important;
	z-index: 1 !important;
}

.premium_slide.active {
	opacity: 1 !important;
	z-index: 2 !important;
}

/* Slideshow navigation buttons */
.premium_slide_btn {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.75) !important;
	border: none !important;
	cursor: pointer !important;
	z-index: 10 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var(--pm-text-head) !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
	transition: var(--pm-trans-fast) !important;
	opacity: 0 !important;
}

body.premium_dark_mode .premium_slide_btn {
	background: rgba(15, 20, 33, 0.75) !important;
	color: var(--pm-dark-text-head) !important;
}

.premium_hero_slideshow_container:hover .premium_slide_btn {
	opacity: 1 !important;
}

.premium_slide_btn.prev {
	left: 16px !important;
}

.premium_slide_btn.next {
	right: 16px !important;
}

.premium_slide_btn:hover {
	background: #ffffff !important;
	color: var(--pm-primary) !important;
	transform: translateY(-50%) scale(1.05) !important;
}

body.premium_dark_mode .premium_slide_btn:hover {
	background: var(--pm-dark-surface-2) !important;
	color: #a5b4fc !important;
}

.premium_slide_btn svg {
	width: 18px !important;
	height: 18px !important;
	stroke-width: 3px !important;
}

/* Pagination indicators */
.premium_slide_dots {
	position: absolute !important;
	bottom: 16px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	display: flex !important;
	gap: 8px !important;
	z-index: 10 !important;
}

.premium_slide_dot {
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.45) !important;
	cursor: pointer !important;
	transition: var(--pm-trans-fast) !important;
}

.premium_slide_dot.active {
	width: 20px !important;
	border-radius: 4px !important;
	background: #ffffff !important;
	box-shadow: 0 1px 4px rgba(0,0,0,0.15) !important;
}

/* ============================================================
   33. UNIFIED SIDEBAR BLOCKS LIST STYLING (Informasi, Bahasa, etc.)
   ============================================================ */
.premium_sidebar_inner .pkp_block .content ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.premium_sidebar_inner .pkp_block .content ul li {
	display: block !important;
	border-bottom: 1px solid rgba(80,70,228,0.08) !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode .premium_sidebar_inner .pkp_block .content ul li {
	border-bottom-color: rgba(255,255,255,0.06) !important;
}

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

.premium_sidebar_inner .pkp_block .content ul li a {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 11px 4px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--pm-text-body) !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
	line-height: 1.4 !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

body.premium_dark_mode .premium_sidebar_inner .pkp_block .content ul li a {
	color: var(--pm-dark-text-body) !important;
}

.premium_sidebar_inner .pkp_block .content ul li a:hover {
	color: var(--pm-primary) !important;
	padding-left: 8px !important;
}

body.premium_dark_mode .premium_sidebar_inner .pkp_block .content ul li a:hover {
	color: #a5b4fc !important;
}

/* Current active locale highlight inside Language block */
.premium_sidebar_inner .pkp_block .content ul li.current a {
	color: var(--pm-primary) !important;
	font-weight: 700 !important;
}

body.premium_dark_mode .premium_sidebar_inner .pkp_block .content ul li.current a {
	color: #a5b4fc !important;
}

.premium_sidebar_inner .pkp_block .content ul li.current a::after {
	content: "" !important;
	display: inline-block !important;
	width: 6px !important;
	height: 6px !important;
	border-radius: 50% !important;
	background-color: var(--pm-primary) !important;
	margin-left: 8px !important;
}

body.premium_dark_mode .premium_sidebar_inner .pkp_block .content ul li.current a::after {
	background-color: #a5b4fc !important;
}

/* ============================================================
   34. RESPONSIVE FOOTER MAP EMBED (.premium_footer_map)
   ============================================================ */
.premium_footer_map {
	width: 100% !important;
	height: 180px !important;
	border-radius: var(--pm-r-md, 12px) !important;
	overflow: hidden !important;
	margin-top: 18px !important;
	border: 1px solid var(--pm-border, #e4e7ef) !important;
	transition: var(--pm-trans) !important;
	box-shadow: var(--pm-shadow-sm) !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode .premium_footer_map {
	border-color: var(--pm-dark-border, #1e2741) !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}

.premium_footer_map:hover {
	transform: translateY(-1px) !important;
	box-shadow: var(--pm-shadow-md) !important;
}

.premium_footer_map iframe {
	width: 100% !important;
	height: 100% !important;
	border: none !important;
	display: block !important;
}

/* ============================================================
   35. PREMIUM PAGE PRELOADER OVERLAY
   ============================================================ */
.premium-preloader-overlay {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: rgba(255, 255, 255, 0.90) !important;
	backdrop-filter: blur(12px) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 999999 !important;
	opacity: 1 !important;
	visibility: visible !important;
	transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body.premium_dark_mode .premium-preloader-overlay {
	background: rgba(10, 14, 24, 0.96) !important;
}

.premium-preloader-overlay.premium-preloader-hidden {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.premium-preloader-content {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 24px !important;
	max-width: 90% !important;
	text-align: center !important;
}

/* Custom logo/icon inside preloader */
.premium-preloader-logo-wrapper {
	margin-bottom: 8px !important;
}

.premium-preloader-logo {
	max-width: 120px !important;
	max-height: 120px !important;
	object-fit: contain !important;
	border-radius: var(--pm-r-md, 12px) !important;
	transition: transform 0.4s var(--pm-ease) !important;
}

/* Glow pulse animation for the icon only style */
@keyframes pm-logo-pulse {
	0% {
		transform: scale(0.96) !important;
		filter: drop-shadow(0 0 0 rgba(80, 70, 228, 0)) !important;
	}
	50% {
		transform: scale(1.04) !important;
		filter: drop-shadow(0 0 20px rgba(80, 70, 228, 0.45)) !important;
	}
	100% {
		transform: scale(0.96) !important;
		filter: drop-shadow(0 0 0 rgba(80, 70, 228, 0)) !important;
	}
}

body.premium_dark_mode .premium-preloader-logo-pulse {
	animation: pm-logo-pulse-dark 2.4s infinite cubic-bezier(0.4, 0, 0.2, 1) !important;
}

@keyframes pm-logo-pulse-dark {
	0% {
		transform: scale(0.96) !important;
		filter: drop-shadow(0 0 0 rgba(165, 180, 252, 0)) !important;
	}
	50% {
		transform: scale(1.04) !important;
		filter: drop-shadow(0 0 25px rgba(165, 180, 252, 0.6)) !important;
	}
	100% {
		transform: scale(0.96) !important;
		filter: drop-shadow(0 0 0 rgba(165, 180, 252, 0)) !important;
	}
}

.premium-preloader-logo-pulse {
	animation: pm-logo-pulse 2.4s infinite cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 1. Classic Dual-Ring Spinner */
.premium-preloader-spinner-wrapper {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.premium-spinner-ring {
	width: 54px !important;
	height: 54px !important;
	border: 3.5px solid rgba(80, 70, 228, 0.12) !important;
	border-radius: 50% !important;
	border-top-color: var(--pm-primary) !important;
	border-bottom-color: var(--pm-accent) !important;
	animation: pm-spin 1s infinite cubic-bezier(0.55, 0.055, 0.675, 0.19) !important;
}

body.premium_dark_mode .premium-spinner-ring {
	border-color: rgba(255, 255, 255, 0.08) !important;
	border-top-color: #a5b4fc !important;
	border-bottom-color: var(--pm-accent) !important;
}

@keyframes pm-spin {
	to { transform: rotate(360deg); }
}

/* 2. Double Pulse Circles Style */
.premium-spinner-pulse {
	width: 50px !important;
	height: 50px !important;
	position: relative !important;
}

.double-bounce1, .double-bounce2 {
	width: 100% !important;
	height: 100% !important;
	border-radius: 50% !important;
	background-color: var(--pm-primary) !important;
	opacity: 0.6 !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	animation: pm-double-bounce 2.0s infinite ease-in-out !important;
}

body.premium_dark_mode .double-bounce1, 
body.premium_dark_mode .double-bounce2 {
	background-color: #a5b4fc !important;
}

.double-bounce2 {
	animation-delay: -1.0s !important;
	background-color: var(--pm-accent) !important;
}

@keyframes pm-double-bounce {
	0%, 100% { transform: scale(0.0); }
	50% { transform: scale(1.0); }
}

/* 3. Bouncing Dots Style */
.premium-spinner-dots {
	display: flex !important;
	align-items: center !important;
	gap: 7px !important;
}

.premium-spinner-dots > div {
	width: 13px !important;
	height: 13px !important;
	background-color: var(--pm-primary) !important;
	border-radius: 50% !important;
	display: inline-block !important;
	animation: pm-bouncedelay 1.4s infinite ease-in-out both !important;
}

body.premium_dark_mode .premium-spinner-dots > div {
	background-color: #a5b4fc !important;
}

.premium-spinner-dots .bounce1 {
	animation-delay: -0.32s !important;
}

.premium-spinner-dots .bounce2 {
	animation-delay: -0.16s !important;
	background-color: var(--pm-accent) !important;
}

@keyframes pm-bouncedelay {
	0%, 80%, 100% { transform: scale(0.0); }
	40% { transform: scale(1.0); }
}

/* Preloader custom description text styling */
@keyframes pm-text-fade {
	0%, 100% { opacity: 0.7; }
	50% { opacity: 1; }
}

.premium-preloader-text {
	font-family: 'Outfit', sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	color: var(--pm-text-head) !important;
	margin: 0 !important;
	padding: 0 !important;
	animation: pm-text-fade 2s infinite ease-in-out !important;
	white-space: pre-line !important;
	line-height: 1.6 !important;
}

body.premium_dark_mode .premium-preloader-text {
	color: var(--pm-dark-text-head) !important;
}

/* ============================================================
   36. PREMIUM SITE-WIDE MULTI-JOURNAL DIRECTORY
   ============================================================ */
.premium_site_container {
	max-width: 1280px !important;
	margin: 0 auto !important;
	padding: 24px 20px 56px !important;
	box-sizing: border-box !important;
}

/* Premium Portal Hero Banner */
.premium_portal_hero {
	position: relative !important;
	border-radius: var(--pm-r-lg, 20px) !important;
	padding: 60px 48px !important;
	background: linear-gradient(135deg, var(--pm-primary) 0%, #312e81 100%) !important;
	color: #ffffff !important;
	overflow: hidden !important;
	box-shadow: var(--pm-shadow-md) !important;
	margin-bottom: 48px !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode .premium_portal_hero {
	background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%) !important;
	border: 1px solid var(--pm-dark-border) !important;
	box-shadow: 0 10px 40px rgba(0,0,0,0.4) !important;
}

.premium_portal_hero_overlay {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: radial-gradient(circle at 80% 20%, rgba(6, 192, 136, 0.22) 0%, transparent 50%) !important;
	z-index: 1 !important;
}

.premium_portal_hero_content {
	position: relative !important;
	z-index: 2 !important;
	max-width: 760px !important;
}

.premium_portal_title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 38px !important;
	font-weight: 900 !important;
	letter-spacing: -1px !important;
	margin: 0 0 16px 0 !important;
	line-height: 1.2 !important;
	text-shadow: 0 2px 10px rgba(0,0,0,0.15) !important;
}

.premium_portal_description {
	font-size: 15.5px !important;
	line-height: 1.8 !important;
	color: rgba(255, 255, 255, 0.88) !important;
	margin: 0 !important;
}

/* Journal Directory Container */
.premium_journal_directory {
	margin-top: 12px !important;
	box-sizing: border-box !important;
}

.premium_directory_header {
	margin-bottom: 32px !important;
}

.premium_directory_title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	color: var(--pm-text-head) !important;
	margin: 0 0 8px 0 !important;
}

body.premium_dark_mode .premium_directory_title {
	color: var(--pm-dark-text-head) !important;
}

.premium_directory_subtitle {
	font-size: 14.5px !important;
	color: var(--pm-text-muted) !important;
	margin: 0 !important;
}

body.premium_dark_mode .premium_directory_subtitle {
	color: var(--pm-dark-text-muted) !important;
}

/* Journals responsive CSS Grid */
.premium_journals_grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)) !important;
	gap: 32px !important;
	box-sizing: border-box !important;
}

@media (max-width: 767px) {
	.premium_journals_grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
	.premium_portal_hero {
		padding: 40px 24px !important;
	}
	.premium_portal_title {
		font-size: 28px !important;
	}
}

/* Journal directory card styling */
.premium_journal_card {
	background: var(--pm-surface) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-lg, 16px) !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: var(--pm-shadow-sm) !important;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode .premium_journal_card {
	background: var(--pm-dark-surface) !important;
	border-color: var(--pm-dark-border) !important;
	box-shadow: 0 4px 20px rgba(0,0,0,0.2) !important;
}

.premium_journal_card:hover {
	transform: translateY(-5px) !important;
	box-shadow: var(--pm-shadow-lg) !important;
	border-color: rgba(80, 70, 228, 0.18) !important;
}

body.premium_dark_mode .premium_journal_card:hover {
	box-shadow: 0 15px 40px rgba(0,0,0,0.45) !important;
	border-color: rgba(255,255,255,0.15) !important;
}

/* Thumbnail layout */
.premium_journal_thumb_area {
	width: 100% !important;
	height: 160px !important;
	overflow: hidden !important;
	position: relative !important;
	background: var(--pm-surface-2) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-bottom: 1px solid var(--pm-border) !important;
	box-sizing: border-box !important;
}

body.premium_dark_mode .premium_journal_thumb_area {
	background: var(--pm-dark-surface-2) !important;
	border-bottom-color: var(--pm-dark-border) !important;
}

.premium_journal_thumb_link {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.premium_journal_thumb_img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.premium_journal_card:hover .premium_journal_thumb_img {
	transform: scale(1.05) !important;
}

/* Custom gorgeous placeholder gradient thumbnail if no image uploaded */
.premium_journal_thumb_area.placeholder_thumb {
	background: linear-gradient(135deg, var(--pm-primary) 0%, var(--pm-accent) 100%) !important;
	border-bottom: none !important;
}

.premium_placeholder_icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 80px !important;
	height: 80px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.15) !important;
	backdrop-filter: blur(8px) !important;
	color: #ffffff !important;
	animation: pm-text-fade 3s infinite ease-in-out !important;
}

/* Card Body */
.premium_journal_card_body {
	padding: 24px !important;
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
}

.premium_journal_card_title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 18.5px !important;
	font-weight: 700 !important;
	margin: 0 0 10px 0 !important;
	line-height: 1.4 !important;
}

.premium_journal_card_title a {
	color: var(--pm-text-head) !important;
	text-decoration: none !important;
	transition: var(--pm-trans-fast) !important;
}

body.premium_dark_mode .premium_journal_card_title a {
	color: var(--pm-dark-text-head) !important;
}

.premium_journal_card_title a:hover {
	color: var(--pm-primary) !important;
}

body.premium_dark_mode .premium_journal_card_title a:hover {
	color: #a5b4fc !important;
}

.premium_journal_card_desc {
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: var(--pm-text-body) !important;
	margin-bottom: 24px !important;
	flex: 1 !important;
}

body.premium_dark_mode .premium_journal_card_desc {
	color: var(--pm-dark-text-body) !important;
}

.premium_journal_card_desc.placeholder_desc {
	font-style: italic !important;
	color: var(--pm-text-muted) !important;
}

body.premium_dark_mode .premium_journal_card_desc.placeholder_desc {
	color: var(--pm-dark-text-muted) !important;
}

/* Card CTA Action buttons inside footer wrapper */
.premium_journal_card_footer {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin-top: auto !important;
	box-sizing: border-box !important;
}

.premium_btn_journal_view {
	flex: 1.2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 10px 16px !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	background: linear-gradient(135deg, var(--pm-primary), #7c6ff7) !important;
	border-radius: var(--pm-r-md, 10px) !important;
	text-decoration: none !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	box-shadow: 0 4px 12px rgba(80,70,228,0.2) !important;
}

.premium_btn_journal_view:hover {
	transform: translateY(-1.5px) !important;
	box-shadow: 0 6px 16px rgba(80,70,228,0.3) !important;
	color: #ffffff !important;
}

.premium_btn_journal_current {
	flex: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 10px 16px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--pm-text-body) !important;
	background: var(--pm-surface-2) !important;
	border: 1px solid var(--pm-border) !important;
	border-radius: var(--pm-r-md, 10px) !important;
	text-decoration: none !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body.premium_dark_mode .premium_btn_journal_current {
	background: var(--pm-dark-surface-2) !important;
	border-color: var(--pm-dark-border) !important;
	color: var(--pm-dark-text-body) !important;
}

.premium_btn_journal_current:hover {
	background: var(--pm-border) !important;
	color: var(--pm-text-head) !important;
}

body.premium_dark_mode .premium_btn_journal_current:hover {
	background: var(--pm-dark-border) !important;
	color: var(--pm-dark-text-head) !important;
}

/* Empty State Card */
.premium_no_journals_card {
	text-align: center !important;
	padding: 60px 24px !important;
	border-radius: var(--pm-r-lg, 16px) !important;
	border: 2px dashed var(--pm-border) !important;
	color: var(--pm-text-muted) !important;
	font-size: 15px !important;
}

body.premium_dark_mode .premium_no_journals_card {
	border-color: var(--pm-dark-border) !important;
	color: var(--pm-dark-text-muted) !important;
}

.premium_no_journals_icon {
	margin-bottom: 16px !important;
	color: var(--pm-text-muted) !important;
}

/* ============================================================
   37. SITE-WIDE PARENT CONTEXT OVERRIDES (UN-NEST CARDS)
   ============================================================ */
.pm_site_context_container {
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.pm_site_context_main {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

body.premium_dark_mode .pm_site_context_main {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

/* ============================================================
   38. PREMIUM BRAND FOOTER CUSTOM LOGO
   ============================================================ */
.premium_brand_logo {
	display: inline-flex !important;
	align-items: center !important;
}

.premium_brand_logo a {
	display: inline-flex !important;
	align-items: center !important;
	text-decoration: none !important;
	padding: 0 !important;
	margin: 0 !important;
	height: auto !important;
	line-height: 1 !important;
}

.premium_footer_custom_logo {
	max-height: 36px !important;
	width: auto !important;
	object-fit: contain !important;
	filter: brightness(0.95) contrast(1.05) !important;
	transition: transform 0.3s var(--pm-trans-fast) !important;
	display: block !important;
}

body.premium_dark_mode .premium_footer_custom_logo {
	filter: brightness(1) !important;
}

/* Styled text logo in footer */
.premium_footer_text_logo {
	font-family: 'Outfit', sans-serif !important;
	font-size: 16.5px !important;
	font-weight: 800 !important;
	letter-spacing: -0.5px !important;
	background: linear-gradient(135deg, var(--pm-primary), var(--pm-accent)) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	transition: opacity 0.3s !important;
	display: inline-block !important;
}

.premium_brand_logo a:hover .premium_footer_custom_logo {
	transform: scale(1.04) !important;
}

.premium_brand_logo a:hover .premium_footer_text_logo {
	opacity: 0.85 !important;
}
