/*
|--------------------------------------------------------------------------
| Recent Posts Author Canonical
|--------------------------------------------------------------------------
*/

.pt-rpac-list{
	list-style:none;
	margin:0;
	padding:0;
}

.pt-rpac-item{
	margin-bottom:14px;
	padding-bottom:14px;
	border-bottom:1px solid rgba(0,0,0,.06);
}

.pt-rpac-item:last-child{
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:0;
}

.pt-rpac-title{
	display:block;
	font-size:1em;
	line-height:1.4;
	font-weight:600;
	text-decoration:none;
}

.pt-rpac-meta{
	display:block;
	margin-top:4px;
	font-size:.82em;
	line-height:1.35;
	opacity:.78;
}

.pt-rpac-meta strong{
	font-weight:700;
}

.pt-rpac-meta em{
	font-style:italic;
}

/*
|--------------------------------------------------------------------------
| PT Custom Login
|--------------------------------------------------------------------------
*/

body.login.pt-custom-login {
	min-height:100vh;
	background:
		radial-gradient(circle at top left, var(--pt-login-accent-soft) 0, transparent 34%),
		linear-gradient(135deg, var(--pt-login-bg-1) 0%, var(--pt-login-bg-2) 100%);
}

body.login.pt-custom-login #login {
	width:360px;
	max-width:calc(100% - 32px);
	padding-top:7vh;
}

body.login.pt-custom-login h1 {
	display:none;
}

body.login.pt-custom-login form {
	border:1px solid var(--pt-login-border);
	border-radius:18px;
	background:var(--pt-login-box);
	box-shadow:0 18px 45px rgba(0,0,0,.14);
	padding:28px;
}

body.login.pt-custom-login label {
	color:var(--pt-login-text);
	font-weight:600;
}

body.login.pt-custom-login form .input,
body.login.pt-custom-login input[type="text"],
body.login.pt-custom-login input[type="password"],
body.login.pt-custom-login input[type="email"] {
	border:1px solid var(--pt-login-border);
	border-radius:12px;
	background:var(--pt-login-input);
	color:var(--pt-login-text);
	box-shadow:none;
	min-height:44px;
	padding:8px 12px;
}

body.login.pt-custom-login form .input:focus,
body.login.pt-custom-login input[type="text"]:focus,
body.login.pt-custom-login input[type="password"]:focus,
body.login.pt-custom-login input[type="email"]:focus {
	border-color:var(--pt-login-accent);
	box-shadow:0 0 0 3px var(--pt-login-accent-soft);
	outline:none;
}

body.login.pt-custom-login .button-primary {
	background:var(--pt-login-accent);
	border-color:var(--pt-login-accent);
	border-radius:999px;
	font-weight:700;
	box-shadow:none;
	min-height:40px;
	padding:0 20px;
}

body.login.pt-custom-login .button-primary:hover,
body.login.pt-custom-login .button-primary:focus {
	background:var(--pt-login-accent-dark);
	border-color:var(--pt-login-accent-dark);
}

body.login.pt-custom-login #nav,
body.login.pt-custom-login #backtoblog {
	text-align:center;
}

body.login.pt-custom-login #nav a,
body.login.pt-custom-login #backtoblog a,
body.login.pt-custom-login .privacy-policy-page-link a {
	color:var(--pt-login-muted);
	text-decoration:none;
}

body.login.pt-custom-login #nav a:hover,
body.login.pt-custom-login #backtoblog a:hover,
body.login.pt-custom-login .privacy-policy-page-link a:hover {
	color:var(--pt-login-accent);
}

body.login.pt-custom-login .message,
body.login.pt-custom-login .notice,
body.login.pt-custom-login .success {
	border-left-color:var(--pt-login-accent);
	border-radius:12px;
}

.pt-sso-login-wrap {
	margin-top:18px;
	padding-top:18px;
	border-top:1px solid var(--pt-login-border);
}

.pt-sso-login-title {
	display:block;
	margin-bottom:10px;
	color:var(--pt-login-muted);
	font-size:13px;
	text-align:center;
}

/*
|--------------------------------------------------------------------------
| PT Google SSO Buttons
|--------------------------------------------------------------------------
*/

.pt-sso-buttons-container{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
	margin-top:14px;
}

.pt-sso-buttons{
	display:flex;
}

.gsi-material-button{
	background:#fff;
	border:1px solid #dadce0;
	border-radius:999px;
	box-sizing:border-box;
	color:#3c4043;
	cursor:pointer;
	font-family:Roboto,Arial,sans-serif;
	font-size:14px;
	font-weight:500;
	height:42px;
	min-width:120px;
	padding:0 14px;
	text-decoration:none;
	box-shadow:0 2px 8px rgba(0,0,0,.06);
	transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;
}

.gsi-material-button:hover{
	background:#f8f9fa;
	border-color:#d2e3fc;
	box-shadow:0 6px 16px rgba(0,0,0,.10);
	transform:translateY(-1px);
}

.gsi-material-button-content-wrapper{
	display:flex;
	align-items:center;
	justify-content:center;
	height:100%;
	width:100%;
}

.gsi-material-button-icon{
	width:20px;
	height:20px;
	margin-right:10px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.gsi-material-button-icon svg{
	display:block;
	width:20px;
	height:20px;
}

.gsi-material-button-contents{
	color:#3c4043;
	font-size:14px;
	font-weight:500;
	line-height:1;
}

/*
|--------------------------------------------------------------------------
| PT Mobile Domain Avatar Menu
|--------------------------------------------------------------------------
*/

.pt-mdam{
	display:none;
}

@media (max-width:767px){

	.pt-mdam{
		display:block;
	}

	/*
	|--------------------------------------------------------------------------
	| Avatar Button
	|--------------------------------------------------------------------------
	*/

	.pt-mdam-avatar{
		position:fixed;
		top:14px;
		right:14px;
		z-index:100000;
		width:48px;
		height:48px;
		padding:0;
		border:2px solid rgba(255,255,255,.95);
		border-radius:999px;
		background:#fff;
		box-shadow:
			0 10px 30px rgba(0,0,0,.20),
			0 2px 8px rgba(0,0,0,.08);
		display:flex;
		align-items:center;
		justify-content:center;
		cursor:pointer;
	}

	/*
	|--------------------------------------------------------------------------
	| Jika Admin Bar Aktif
	|--------------------------------------------------------------------------
	*/

	body.admin-bar .pt-mdam-avatar{
		top:60px;
	}

	body.admin-bar .pt-mdam-close{
		top:60px;
	}

	.pt-mdam-avatar img{
		width:100%;
		height:100%;
		display:block;
		object-fit:cover;
		border-radius:999px;
	}

	/*
	|--------------------------------------------------------------------------
	| Fullscreen Panel
	|--------------------------------------------------------------------------
	*/

	.pt-mdam-panel{
		display:none;
		position:fixed;
		inset:0;
		width:100vw;
		height:100vh;
		margin:0;
		padding:0;
		border:0;
		z-index:99998;
		background:#fff;
		overflow-y:auto;
		overflow-x:hidden;
		-webkit-overflow-scrolling:touch;
	}

	.pt-mdam.is-open .pt-mdam-panel{
		display:block;
	}

	/*
	|--------------------------------------------------------------------------
	| Close Button
	|--------------------------------------------------------------------------
	*/

	.pt-mdam-close{
		position:fixed;
		top:14px;
		right:14px;
		z-index:100001;
		width:44px;
		height:44px;
		padding:0;
		border:0;
		border-radius:0;
		background:transparent;
		box-shadow:none;
		display:none;
		align-items:center;
		justify-content:center;
		cursor:pointer;
		font-size:44px;
		line-height:1;
		font-weight:300;
		color:#fff;
		text-shadow:
			0 2px 6px rgba(0,0,0,.95),
			0 0 3px rgba(0,0,0,.95),
			0 -1px 2px rgba(0,0,0,.75);
	}

	.pt-mdam.is-open .pt-mdam-close{
		display:flex;
	}

	.pt-mdam-close:hover,
	.pt-mdam-close:focus{
		background:transparent;
		color:#fff;
		outline:none;
		box-shadow:none;
		transform:scale(1.06);
	}

	/*
	|--------------------------------------------------------------------------
	| Hide Avatar When Open
	|--------------------------------------------------------------------------
	*/

	.pt-mdam.is-open .pt-mdam-avatar{
		display:none;
	}

	/*
	|--------------------------------------------------------------------------
	| Elementor Fullscreen Content
	|--------------------------------------------------------------------------
	*/

	.pt-mdam-content{
		width:100%;
		min-width:100%;
		max-width:100%;
		min-height:100%;
		margin:0 !important;
		padding:0 !important;
		border:0;
	}

	.pt-mdam-content .elementor{
		width:100%;
		max-width:100%;
		margin:0 !important;
		padding:0 !important;
	}

	.pt-mdam-content .elementor-section,
	.pt-mdam-content .elementor-container,
	.pt-mdam-content .elementor-column,
	.pt-mdam-content .elementor-widget-wrap{
		margin:0;
	}

	/*
	|--------------------------------------------------------------------------
	| Paksa Page 976 Fullscreen Tanpa Padding
	|--------------------------------------------------------------------------
	*/

	.pt-mdam-content .elementor-section-wrap,
	.pt-mdam-content .elementor-location-single,
	.pt-mdam-content .elementor-page,
	.pt-mdam-content .elementor-element{
		padding-top:0 !important;
		padding-right:0 !important;
		padding-bottom:0 !important;
		padding-left:0 !important;
	}
}

/*
|--------------------------------------------------------------------------
| Hide Tablet & Desktop
|--------------------------------------------------------------------------
*/

@media (min-width:768px){

	.pt-mdam{
		display:none !important;
	}
}

/* 
|--------------------------------------------------------------------------
| PT Home Responsive Cover Panel - Large Tablet Fix
|--------------------------------------------------------------------------
*/

.pt-hrcp {
	display: none;
}

.pt-hrcp.is-open {
	display: block;
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	z-index: 999998;
	background: #fff;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

.pt-hrcp-content {
	width: 100%;
	min-height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.pt-hrcp-content .elementor {
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
	max-width: 100%;
}

.pt-hrcp-close {
	position: fixed;
	top: 14px;
	right: 14px;
	z-index: 999999;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	font-size: 44px;
	line-height: 1;
	font-weight: 300;
	color: #fff;
	text-shadow:
		0 2px 6px rgba(0,0,0,.95),
		0 0 3px rgba(0,0,0,.95),
		0 -1px 2px rgba(0,0,0,.75);
}

.pt-hrcp-locked,
.pt-hrcp-locked body {
	overflow: hidden;
}

/* ==========================================================================
   LOGIKA RESPONSIVE ULTRA-SAFE (ANTI-BLANK TABLET BESAR)
   ========================================================================== */

/* 1. KONDISI DEFAULT / LAYAR BESAR (>= 1024px) */
.pt-hrcp-desktop {
	display: block; /* Aktif sebagai cadangan utama untuk PC Desktop */
}

.pt-hrcp-tablet,
.pt-hrcp-mobile {
	display: none;
}

/* KOREKSI JIKA TABLET UKURAN BESAR (> 1024px seperti iPad Pro) */
.pt-hrcp:has(.pt-hrcp-tablet) .pt-hrcp-tablet {
	display: block; /* Paksa munculkan versi tablet jika kodenya ada di HTML */
}
.pt-hrcp:has(.pt-hrcp-tablet) .pt-hrcp-desktop,
.pt-hrcp:has(.pt-hrcp-tablet) .pt-hrcp-mobile {
	display: none;  /* Matikan fallback desktop karena ini adalah perangkat tablet */
}


/* 2. KONDISI KHUSUS LAYAR KECIL / HANDPHONE (< 768px) */
@media (max-width: 767.98px) {
	/* Jika dibuka di HP asli (elemen mobile tersedia di HTML) */
	.pt-hrcp:has(.pt-hrcp-mobile) .pt-hrcp-mobile {
		display: block;
	}
	/* Matikan versi tablet dan desktop jika versi mobile sukses dirender */
	.pt-hrcp:has(.pt-hrcp-mobile) .pt-hrcp-desktop,
	.pt-hrcp:has(.pt-hrcp-mobile) .pt-hrcp-tablet {
		display: none;
	}
}

/*
|--------------------------------------------------------------------------
| Future Custom Plugins
|--------------------------------------------------------------------------
*/