/* FB Video Embed – พะเยาทีวี */
.pfv {
	--pfv-navy: #0f1b33;
	--pfv-gold: #C9A227;
	--pfv-radius: 12px;
	box-sizing: border-box;
	width: var(--pfv-w, 100%);
	max-width: 100%;
	margin: 1.75em auto;
	padding: 0;
	font-family: "Sarabun", "Kanit", system-ui, sans-serif;
}
.pfv *, .pfv *::before, .pfv *::after { box-sizing: border-box; }
.pfv--left  { margin-left: 0; margin-right: auto; }
.pfv--right { margin-left: auto; margin-right: 0; }

.pfv__inner { position: relative; overflow: hidden; }

.pfv__media {
	position: relative;
	aspect-ratio: var(--pfv-ratio, 16/9);
	background: #000;
	overflow: hidden;
}
.pfv__media iframe,
.pfv__facade {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	border: 0; display: block;
}

/* ภาพปก + ปุ่มเล่น */
.pfv__facade { padding: 0; margin: 0; cursor: pointer; background: #000; }
.pfv__facade img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease, filter .3s; }
.pfv__facade:hover img { transform: scale(1.03); filter: brightness(.85); }
.pfv__play {
	position: absolute; top: 50%; left: 50%;
	width: 72px; height: 72px; margin: -36px 0 0 -36px;
	border-radius: 50%;
	background: rgba(15, 27, 51, .78);
	border: 3px solid var(--pfv-accent);
	transition: transform .2s ease;
}
.pfv__play::after {
	content: ""; position: absolute; top: 50%; left: 54%;
	transform: translate(-50%, -50%);
	border-style: solid; border-width: 13px 0 13px 22px;
	border-color: transparent transparent transparent #fff;
}
.pfv__facade:hover .pfv__play,
.pfv__facade:focus-visible .pfv__play { transform: scale(1.1); }
.pfv__facade:focus-visible { outline: 3px solid var(--pfv-accent); outline-offset: -3px; }

/* ป้ายกำกับ */
.pfv__badge {
	position: absolute; top: 12px; left: 12px; z-index: 3;
	padding: 4px 12px; border-radius: 999px;
	background: var(--pfv-accent); color: var(--pfv-ink);
	font: 600 13px/1.4 "Kanit", sans-serif;
	box-shadow: 0 2px 8px rgba(0,0,0,.3);
	pointer-events: none;
}
.pfv__badge--live { background: #D62828; color: #fff; padding-left: 26px; }
.pfv__badge--live::before {
	content: ""; position: absolute; left: 11px; top: 50%;
	width: 8px; height: 8px; margin-top: -4px; border-radius: 50%;
	background: #fff; animation: pfv-pulse 1.4s infinite;
}
@keyframes pfv-pulse { 0%,100% { opacity: 1; } 50% { opacity: .25; } }

/* คำบรรยาย */
.pfv__caption { padding: 14px 16px 16px; }
.pfv__title {
	margin: 0 0 6px !important; padding: 0 !important;
	font: 600 1.15em/1.45 "Kanit", sans-serif !important;
	color: inherit;
}
.pfv__desc { font-size: .97em; line-height: 1.75; opacity: .9; }
.pfv__desc p { margin: 0 0 .6em; }
.pfv__desc p:last-child { margin-bottom: 0; }
.pfv__meta {
	display: flex; justify-content: space-between; align-items: center;
	flex-wrap: wrap; gap: 6px 12px;
	margin-top: 10px; font-size: .85em; opacity: .8;
}
.pfv__credit { font-style: italic; }
.pfv__link { color: inherit !important; text-decoration: none !important; font-weight: 600; border-bottom: 1px solid currentColor; }
.pfv__link:hover { color: var(--pfv-accent) !important; }

/* ======================== กรอบ ======================== */

/* ไม่มีกรอบ */
.pfv--none .pfv__caption { padding: 10px 0 0; }

/* การ์ดเงา */
.pfv--card .pfv__inner {
	background: #fff; color: #1d2433;
	border-radius: var(--pfv-radius);
	box-shadow: 0 6px 24px rgba(15, 27, 51, .14), 0 1px 3px rgba(0,0,0,.08);
}

/* มุมโค้งเรียบ */
.pfv--rounded .pfv__media { border-radius: 18px; }
.pfv--rounded .pfv__caption { padding: 12px 4px 0; }

/* เส้นขอบสีเน้น */
.pfv--outline .pfv__inner {
	border: 3px solid var(--pfv-accent);
	border-radius: var(--pfv-radius);
	background: #fff; color: #1d2433;
}

/* พะเยาทีวี: กรมท่า–ทอง */
.pfv--phayao .pfv__inner {
	background: linear-gradient(160deg, #13234a 0%, var(--pfv-navy) 70%);
	color: #eef1f7;
	border-radius: var(--pfv-radius);
	border-top: 4px solid var(--pfv-accent);
	box-shadow: 0 10px 30px rgba(15, 27, 51, .35);
	padding: 10px;
}
.pfv--phayao .pfv__media { border-radius: 8px; }
.pfv--phayao .pfv__badge { top: 22px; left: 22px; }
.pfv--phayao .pfv__caption { padding: 14px 6px 6px; }
.pfv--phayao .pfv__title { color: var(--pfv-accent); }

/* ข่าวเด่น: แถบสีด้านข้าง */
.pfv--news .pfv__inner {
	background: #f7f8fb; color: #1d2433;
	border-left: 6px solid var(--pfv-accent);
	border-radius: 0 var(--pfv-radius) var(--pfv-radius) 0;
}
.pfv--news .pfv__title { font-size: 1.25em !important; }

/* โรงหนัง */
.pfv--cinema .pfv__inner {
	background: #0a0a0a; color: #e8e8e8;
	padding: 28px 28px 8px;
	border-radius: 6px;
	box-shadow: 0 20px 50px rgba(0,0,0,.5);
}
.pfv--cinema .pfv__media { box-shadow: 0 0 60px rgba(255,255,255,.06); }
.pfv--cinema .pfv__badge { top: 40px; left: 40px; }
.pfv--cinema .pfv__caption { text-align: center; padding: 14px 0 12px; }
.pfv--cinema .pfv__meta { justify-content: center; }

/* โพลารอยด์ */
.pfv--polaroid .pfv__inner {
	background: #fff; color: #222;
	padding: 14px 14px 4px;
	box-shadow: 0 8px 22px rgba(0,0,0,.18);
	transform: rotate(-1deg);
	transition: transform .3s ease;
}
.pfv--polaroid:hover .pfv__inner { transform: rotate(0); }
.pfv--polaroid .pfv__badge { top: 26px; left: 26px; }
.pfv--polaroid .pfv__caption { text-align: center; padding: 14px 4px 14px; }
.pfv--polaroid .pfv__title { font-family: "Noto Serif Thai", serif !important; }
.pfv--polaroid .pfv__meta { justify-content: center; }

/* กรอบมือถือ */
.pfv--phone .pfv__inner { overflow: visible; }
.pfv--phone .pfv__media {
	border: 12px solid #111;
	border-radius: 38px;
	box-shadow: 0 0 0 2px #333, 0 18px 40px rgba(0,0,0,.35);
}
.pfv--phone .pfv__media::before {
	content: ""; position: absolute; z-index: 4;
	top: 8px; left: 50%; transform: translateX(-50%);
	width: 32%; height: 20px; border-radius: 12px;
	background: #111; pointer-events: none;
}
.pfv--phone .pfv__badge { top: 38px; }
.pfv--phone .pfv__caption { text-align: center; padding: 16px 4px 0; }
.pfv--phone .pfv__meta { justify-content: center; }

/* แนวตั้งในหน้ากว้าง: ไม่ให้สูงล้นจอ */
.pfv--vertical .pfv__media { max-height: 88vh; margin-left: auto; margin-right: auto; }

/* ข้อความแจ้งเตือนสำหรับแอดมิน */
.pfv-error {
	padding: 12px 16px; margin: 1em 0;
	border-left: 4px solid #D62828; background: #fff4f4; color: #7a1a1a;
	font-size: 14px; border-radius: 4px;
}

/* จอเล็ก */
@media (max-width: 600px) {
	.pfv { width: 100% !important; }
	.pfv--phone { width: min(var(--pfv-w), 100%) !important; }
	.pfv--cinema .pfv__inner { padding: 14px 14px 4px; }
	.pfv--cinema .pfv__badge { top: 26px; left: 26px; }
	.pfv--polaroid .pfv__inner { transform: none; }
	.pfv__play { width: 60px; height: 60px; margin: -30px 0 0 -30px; }
}

@media (prefers-reduced-motion: reduce) {
	.pfv *, .pfv *::before { animation: none !important; transition: none !important; }
}

/* ในหน้าแก้ไข: กันไม่ให้คลิก iframe แย่งโฟกัสบล็อก */
.pfv-editor .pfv__media iframe { pointer-events: none; }
