/* ธีมเว็บพระสิงห์มูลนิธิ — โทนสีจีวร/ทองแบบวิหารล้านนา
   แก้สีทั้งเว็บที่ :root จุดเดียว */
:root {
	--psf-brown: #4a1f0b;
	--psf-brown-2: #6b2c0f;
	--psf-saffron: #b5500f;
	--psf-saffron-2: #d9761f;
	--psf-gold: #c99a2e;
	--psf-gold-light: #f2d78e;
	--psf-cream: #fbf6ec;
	--psf-cream-2: #f4ead6;
	--psf-ink: #2b1a10;
	--psf-muted: #7a6656;
	--psf-radius: 14px;
	--psf-shadow: 0 6px 24px rgba(74, 31, 11, .08);

	--bs-primary: var(--psf-saffron);
	--bs-primary-rgb: 181, 80, 15;
	--bs-link-color: #9a440c;
	--bs-link-color-rgb: 154, 68, 12;
	--bs-link-hover-color: #6b2c0f;
	--bs-link-hover-color-rgb: 107, 44, 15;
	--bs-body-font-family: 'Sarabun', Tahoma, sans-serif;
	--bs-body-color: var(--psf-ink);
	--bs-body-bg: var(--psf-cream);
	--bs-border-color: #e8dcc6;
}

body { font-size: 1.02rem; line-height: 1.75; }
h1, h2, h3, h4, h5, .font-head { font-family: 'Pridi', 'Sarabun', serif; font-weight: 500; color: var(--psf-brown); }
a { text-underline-offset: 3px; }
img { max-width: 100%; height: auto; }
::selection { background: var(--psf-gold-light); }

/* ปุ่ม */
.btn-primary {
	--bs-btn-bg: var(--psf-saffron); --bs-btn-border-color: var(--psf-saffron);
	--bs-btn-hover-bg: var(--psf-brown-2); --bs-btn-hover-border-color: var(--psf-brown-2);
	--bs-btn-active-bg: var(--psf-brown); --bs-btn-active-border-color: var(--psf-brown);
	--bs-btn-disabled-bg: var(--psf-saffron); --bs-btn-disabled-border-color: var(--psf-saffron);
}
.btn-outline-primary {
	--bs-btn-color: var(--psf-saffron); --bs-btn-border-color: var(--psf-saffron);
	--bs-btn-hover-bg: var(--psf-saffron); --bs-btn-hover-border-color: var(--psf-saffron);
	--bs-btn-active-bg: var(--psf-brown-2); --bs-btn-active-border-color: var(--psf-brown-2);
}
.btn-gold {
	--bs-btn-color: var(--psf-brown); --bs-btn-bg: var(--psf-gold-light); --bs-btn-border-color: var(--psf-gold);
	--bs-btn-hover-color: var(--psf-brown); --bs-btn-hover-bg: #ffe39a; --bs-btn-hover-border-color: var(--psf-gold);
	--bs-btn-active-bg: var(--psf-gold); font-weight: 600;
}
.form-control:focus, .form-select:focus { border-color: var(--psf-saffron-2); box-shadow: 0 0 0 .2rem rgba(217, 118, 31, .2); }
.page-link { color: var(--psf-saffron); }
.active > .page-link, .page-link.active { background: var(--psf-saffron); border-color: var(--psf-saffron); }

/* แถบบนสุด */
.psf-topbar { background: var(--psf-brown); color: #f3e5cf; font-size: .88rem; }
.psf-topbar a { color: var(--psf-gold-light); text-decoration: none; }
.psf-topbar a:hover { color: #fff; }

/* หัวเว็บ */
.psf-brand-bar {
	background:
		radial-gradient(circle at 12% 50%, rgba(242, 215, 142, .35), transparent 40%),
		linear-gradient(180deg, #fffaf0 0%, var(--psf-cream-2) 100%);
	border-bottom: 3px solid var(--psf-gold);
}
.psf-brand { display: flex; align-items: center; gap: 1rem; text-decoration: none; color: inherit; }
.psf-brand img { width: 74px; height: 74px; border-radius: 50%; background: #fff; padding: 3px; box-shadow: 0 0 0 3px var(--psf-gold), var(--psf-shadow); }
.psf-brand-name { font-family: 'Pridi', serif; font-size: 1.85rem; line-height: 1.15; color: var(--psf-brown); font-weight: 600; }
.psf-brand-sub { color: var(--psf-saffron); font-size: .95rem; letter-spacing: .02em; }
.psf-brand-addr { color: var(--psf-muted); font-size: .85rem; }

/* เมนู */
.psf-nav { background: linear-gradient(180deg, #8a4a26, #73391b); }
.psf-nav .navbar-nav .nav-link {
	color: #fbefdc; font-weight: 500; padding: .85rem .9rem; line-height: 1.25; text-align: center;
	border-bottom: 3px solid transparent;
}
.psf-nav .navbar-nav .nav-link small { display: block; font-size: .72rem; opacity: .75; font-weight: 400; }
.psf-nav .navbar-nav .nav-link:hover { color: #fff; background: rgba(255, 255, 255, .08); }
.psf-nav .navbar-nav .nav-link.active { color: var(--psf-gold-light); border-bottom-color: var(--psf-gold); background: rgba(0, 0, 0, .1); }
.psf-nav .navbar-toggler { border-color: rgba(242, 215, 142, .5); }
.psf-nav .navbar-toggler-icon { filter: invert(1) sepia(1) saturate(3) hue-rotate(5deg); }
@media (max-width: 991.98px) {
	.psf-nav .navbar-nav .nav-link { text-align: left; border-bottom: 0; border-left: 3px solid transparent; }
	.psf-nav .navbar-nav .nav-link small { display: inline; margin-left: .35rem; }
	.psf-nav .navbar-nav .nav-link.active { border-left-color: var(--psf-gold); }
}

/* hero หน้าแรก */
.psf-hero {
	background:
		linear-gradient(115deg, rgba(122, 61, 27, .95) 0%, rgba(145, 76, 34, .9) 55%, rgba(196, 108, 40, .85) 100%),
		url('../../images/bg-activity.jpg') center/cover;
	color: #fdf1e0;
}
.psf-hero h1 { color: #fff; font-size: clamp(1.9rem, 3.4vw, 2.9rem); font-weight: 600; }
.psf-hero .lead { color: #f8e6cc; }
.psf-hero .hero-sub { color: var(--psf-gold-light); }
.psf-hero .badge-gold { background: rgba(242, 215, 142, .18); color: var(--psf-gold-light); border: 1px solid rgba(242, 215, 142, .45); }
.psf-hero .carousel { border-radius: var(--psf-radius); overflow: hidden; box-shadow: 0 16px 36px rgba(0, 0, 0, .25); border: 3px solid rgba(242, 215, 142, .6); }
.psf-hero .carousel-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.psf-hero .carousel-caption { left: 0; right: 0; bottom: 0; padding: 2.5rem 1.25rem 1rem; text-align: left;
	background: linear-gradient(0deg, rgba(0, 0, 0, .75), transparent); }
.psf-hero .carousel-caption h5 { color: #fff; font-size: 1.05rem; margin: 0; }
.psf-hero .carousel-caption p { font-size: .85rem; margin: .2rem 0 0; opacity: .9; }

/* หัวข้อ section แบบมีเส้นทอง */
.psf-section-title { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; }
.psf-section-title h2 { margin: 0; font-size: 1.55rem; }
.psf-section-title::after { content: ''; flex: 1; height: 2px; background: linear-gradient(90deg, var(--psf-gold), transparent); }
.psf-section-title .bi { color: var(--psf-saffron); font-size: 1.4rem; }
.psf-eyebrow { color: var(--psf-saffron); font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; }

/* การ์ด */
.psf-card { background: #fff; border: 1px solid var(--bs-border-color); border-radius: var(--psf-radius); box-shadow: var(--psf-shadow); }
.psf-card-head { background: linear-gradient(90deg, #8a4a26, #c06a26); color: #fff; border-radius: var(--psf-radius) var(--psf-radius) 0 0; padding: .75rem 1.1rem; font-family: 'Pridi', serif; font-size: 1.1rem; }
.psf-card-head .bi { color: var(--psf-gold-light); }

/* วัตถุประสงค์ */
.psf-purpose { height: 100%; padding: 1.4rem 1.2rem; text-align: center; transition: transform .2s, box-shadow .2s; }
.psf-purpose:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(74, 31, 11, .14); }
.psf-purpose .psf-purpose-icon { width: 58px; height: 58px; margin: 0 auto .8rem; border-radius: 50%; display: grid; place-items: center;
	background: radial-gradient(circle at 30% 30%, #fff3d0, var(--psf-gold-light)); color: var(--psf-brown-2); font-size: 1.6rem; box-shadow: inset 0 0 0 2px var(--psf-gold); }
.psf-purpose h3 { font-size: 1.08rem; margin-bottom: .2rem; }
.psf-purpose p { margin: 0; color: var(--psf-muted); font-size: .85rem; }

/* ร่วมทำบุญ */
.psf-donate { background: linear-gradient(135deg, #fff7e3, #fde9c0); border: 2px dashed var(--psf-gold); border-radius: var(--psf-radius); }
.psf-account { font-family: 'Pridi', serif; font-size: 1.5rem; color: var(--psf-brown); letter-spacing: .05em; }

/* รายการข่าว */
.psf-news-item { display: flex; gap: .9rem; padding: .85rem 0; border-bottom: 1px dashed var(--bs-border-color); }
.psf-news-item:last-child { border-bottom: 0; }
.psf-news-date { flex: 0 0 58px; text-align: center; background: var(--psf-cream-2); border-radius: 10px; padding: .35rem 0; line-height: 1.1; color: var(--psf-brown-2); }
.psf-news-date b { display: block; font-size: 1.35rem; font-family: 'Pridi', serif; }
.psf-news-date span { font-size: .72rem; }
.psf-news-item a { color: var(--psf-ink); text-decoration: none; font-weight: 500; }
.psf-news-item a:hover { color: var(--psf-saffron); }
.psf-news-meta { font-size: .8rem; color: var(--psf-muted); }
.badge-new { background: #c0392b; font-size: .65rem; vertical-align: middle; }

/* แกลเลอรี */
.psf-album { display: block; text-decoration: none; color: inherit; border-radius: var(--psf-radius); overflow: hidden; background: #fff; box-shadow: var(--psf-shadow); height: 100%; transition: transform .2s; }
.psf-album:hover { transform: translateY(-3px); }
.psf-album-img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--psf-cream-2); }
.psf-album-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.psf-album:hover .psf-album-img img { transform: scale(1.05); }
.psf-album-body { padding: .7rem .85rem .85rem; }
.psf-album-body h3 { font-size: .98rem; margin: 0 0 .25rem; font-family: 'Sarabun', sans-serif; font-weight: 600; color: var(--psf-ink);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.psf-album-body small { color: var(--psf-muted); }
.psf-photo { display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 1 / 1; background: var(--psf-cream-2); }
.psf-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.psf-photo:hover img { transform: scale(1.06); }
.psf-photo.active { outline: 3px solid var(--psf-saffron); outline-offset: 2px; }
.psf-viewer { background: #1b0f08; border-radius: var(--psf-radius); overflow: hidden; text-align: center; }
.psf-viewer img { max-height: 75vh; width: auto; margin: 0 auto; display: block; }

/* ปฏิทิน */
.psf-cal { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 3px; }
.psf-cal th { text-align: center; font-size: .78rem; color: var(--psf-muted); font-weight: 600; }
.psf-cal th:first-child { color: #c0392b; }
.psf-cal td { text-align: center; padding: 0; height: 38px; }
.psf-cal td a, .psf-cal td span { display: grid; place-items: center; height: 100%; border-radius: 8px; text-decoration: none; color: var(--psf-ink); font-size: .9rem; }
.psf-cal td.sun span, .psf-cal td.sun a { color: #c0392b; }
.psf-cal td.today span, .psf-cal td.today a { box-shadow: inset 0 0 0 2px var(--psf-gold); font-weight: 700; }
.psf-cal td.has-event a { background: var(--psf-saffron); color: #fff; font-weight: 600; }
.psf-cal td.has-event a:hover { background: var(--psf-brown-2); }
.psf-cal td.selected a { box-shadow: 0 0 0 3px var(--psf-gold-light); }
.psf-event { border-left: 4px solid var(--psf-saffron); background: #fff8ec; padding: .55rem .8rem; border-radius: 0 8px 8px 0; margin-bottom: .5rem; font-size: .92rem; }

/* สถิติ */
.psf-stat { display: flex; justify-content: space-between; padding: .45rem 0; border-bottom: 1px dashed var(--bs-border-color); font-size: .92rem; }
.psf-stat:last-child { border-bottom: 0; }
.psf-stat b { color: var(--psf-brown-2); }

/* หัวหน้าเพจภายใน */
.psf-page-head { background: linear-gradient(90deg, #7a3d1b, #8f4b24 60%, #c06a26); color: #fbeedb; }
.psf-page-head h1 { color: #fff; font-size: clamp(1.5rem, 2.6vw, 2.1rem); margin: 0; }
.psf-page-head .breadcrumb { --bs-breadcrumb-divider-color: rgba(255, 255, 255, .55); --bs-breadcrumb-item-active-color: var(--psf-gold-light); margin: 0; font-size: .88rem; }
.psf-page-head .breadcrumb a { color: #f6e2c4; text-decoration: none; }

/* เนื้อหาจากตัวแก้ไขข้อความ (ข้อมูลเก่ามี style inline ฟอนต์ Verdana 14px ปนอยู่ บังคับให้เข้าธีม) */
.psf-content { overflow-wrap: anywhere; }
.psf-content, .psf-content span, .psf-content p, .psf-content dd, .psf-content font { font-family: inherit !important; font-size: inherit !important; line-height: 1.85 !important; }
.psf-content img { border-radius: 10px; }
.psf-content table { max-width: 100%; }
.psf-content dd { margin-left: 1rem; }
.psf-float-img { float: left; max-width: 45%; margin: 0 1.25rem .75rem 0; border-radius: var(--psf-radius); box-shadow: var(--psf-shadow); }
@media (max-width: 575.98px) { .psf-float-img { float: none; max-width: 100%; margin: 0 0 1rem; } }

/* รายการวัตถุสถานของวัด */
.psf-place img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--psf-radius) var(--psf-radius) 0 0; }
.psf-place .num { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--psf-saffron); color: #fff; font-size: .8rem; font-weight: 700; margin-right: .35rem; }

/* footer */
.psf-footer { background: var(--psf-brown); color: #e9d7bd; font-size: .92rem; border-top: 4px solid var(--psf-gold); }
.psf-footer h5 { color: var(--psf-gold-light); font-size: 1.05rem; }
.psf-footer a { color: #f3dfc2; text-decoration: none; }
.psf-footer a:hover { color: #fff; text-decoration: underline; }
.psf-footer .psf-copy { background: rgba(0, 0, 0, .25); color: #c8b296; font-size: .82rem; }

.table-psf thead th { background: var(--psf-cream-2); color: var(--psf-brown); font-weight: 600; white-space: nowrap; }
.ratio-map iframe { border: 0; border-radius: var(--psf-radius); }
.back-to-top { position: fixed; right: 18px; bottom: 18px; z-index: 1030; width: 44px; height: 44px; border-radius: 50%; display: none; place-items: center;
	background: var(--psf-saffron); color: #fff; box-shadow: var(--psf-shadow); border: 0; }
.back-to-top.show { display: grid; }

@media print {
	.psf-topbar, .psf-nav, .psf-footer, .back-to-top, .psf-sidebar { display: none !important; }
}


.psf-hero .carousel-indicators { top: .5rem; bottom: auto; margin-bottom: 0; }
/* ---------- ส่วนผู้ดูแลระบบ : ขาว มินิมอล ตัวอักษรเข้ม อ่านชัด (ไม่ใช้โทนเหลือง/ครีมของหน้าเว็บ) ---------- */
.adm-body {
	--bs-body-bg: #f6f7f9; --bs-body-color: #1f2328; --bs-border-color: #e3e6ea;
	--bs-primary: #6b2c0f; --bs-primary-rgb: 107, 44, 15;
	--bs-link-color: #8a3a0c; --bs-link-color-rgb: 138, 58, 12;
	--bs-link-hover-color: #4a1f0b; --bs-link-hover-color-rgb: 74, 31, 11;
	background: #f6f7f9; color: #1f2328;
}
.adm-body h1, .adm-body h2, .adm-body h3, .adm-body h4, .adm-body h5 { font-family: 'Sarabun', sans-serif; font-weight: 600; color: #1f2328; }
.adm-body .btn-primary { --bs-btn-bg: #6b2c0f; --bs-btn-border-color: #6b2c0f; --bs-btn-hover-bg: #4a1f0b; --bs-btn-hover-border-color: #4a1f0b; --bs-btn-active-bg: #4a1f0b; }
.adm-body .btn-outline-primary { --bs-btn-color: #6b2c0f; --bs-btn-border-color: #cfc5bf; --bs-btn-hover-bg: #6b2c0f; --bs-btn-hover-border-color: #6b2c0f; --bs-btn-hover-color: #fff; }
.adm-body .form-control, .adm-body .form-select { border-color: #d0d5db; color: #1f2328; background-color: #fff; }
.adm-body .form-control:focus, .adm-body .form-select:focus { border-color: #8a3a0c; box-shadow: 0 0 0 .2rem rgba(107, 44, 15, .12); }
.adm-body .form-text, .adm-body .text-muted { color: #5f6b76 !important; }
.adm-body .breadcrumb { --bs-breadcrumb-item-active-color: #5f6b76; }
.adm-body .nav-pills .nav-link { color: #1f2328; }
.adm-body .nav-pills .nav-link.active { background: #1f2328; color: #fff; }
.adm-body .nav-tabs .nav-link { color: #5f6b76; }
.adm-body .nav-tabs .nav-link.active { color: #1f2328; font-weight: 600; }
.adm-top { background: #fff; color: #1f2328; border-bottom: 1px solid #e3e6ea; }
.adm-top a { color: #1f2328; text-decoration: none; }
.adm-top a:hover { color: #6b2c0f; }
.adm-top .adm-brand { font-weight: 600; font-size: 1.05rem; color: #1f2328; }
.adm-side { width: 250px; }
@media (min-width: 992px) { .adm-side { position: sticky; top: 0; height: calc(100vh - 57px); overflow-y: auto; border-right: 1px solid #e3e6ea; background: #fff; } }
.adm-side .nav-link { color: #3b434b; border-radius: 8px; padding: .5rem .75rem; display: flex; gap: .65rem; align-items: center; font-size: .95rem; }
.adm-side .nav-link .bi { color: #8b949e; font-size: 1.05rem; }
.adm-side .nav-link:hover { background: #f1f3f5; color: #1f2328; }
.adm-side .nav-link.active { background: #f1f3f5; color: #1f2328; font-weight: 600; box-shadow: inset 3px 0 0 #6b2c0f; }
.adm-side .nav-link.active .bi { color: #6b2c0f; }
.adm-side .adm-group { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: #8b949e; padding: .9rem .75rem .3rem; }
.adm-main { min-width: 0; }
.adm-card { background: #fff; border: 1px solid #e3e6ea; border-radius: 12px; }
.adm-tile { display: flex; gap: .9rem; align-items: center; padding: 1rem 1.1rem; text-decoration: none; color: #1f2328; height: 100%; transition: border-color .15s; }
.adm-tile:hover { border-color: #6b2c0f; color: #1f2328; }
.adm-tile .ic { width: 44px; height: 44px; border-radius: 10px; display: grid; place-items: center; background: #f1f3f5; color: #6b2c0f; font-size: 1.3rem; flex: 0 0 44px; }
.adm-tile b { display: block; font-size: 1.35rem; color: #1f2328; line-height: 1.15; }
.adm-table td, .adm-table th { vertical-align: middle; }
.adm-table thead th { background: #f6f7f9; color: #3b434b; font-weight: 600; white-space: nowrap; font-size: .88rem; border-bottom: 1px solid #e3e6ea; }
.adm-thumb { width: 72px; height: 54px; object-fit: cover; border-radius: 6px; background: #f1f3f5; }
.form-label { font-weight: 500; }
.req::after { content: ' *'; color: #dc3545; }
/* หน้าเข้าสู่ระบบ */
.adm-login { min-height: 100vh; display: flex; align-items: center; }
.adm-login .adm-card { box-shadow: 0 8px 30px rgba(0, 0, 0, .06); }
.swal2-popup { font-family: 'Sarabun', Tahoma, sans-serif !important; }
@media (min-width: 992px) { .adm-side { flex: 0 0 250px; } }
