/*!
 * Satit VRU Modern Skin v3.0.0
 * ทุกกฎผูกกับ body.svru-skin — ปลั๊กอินปิดเมื่อใด เว็บกลับเป็นแบบเดิมทันที
 * ไม่ใช้ตัวเลือกแบบครอบจักรวาล (*) กับฟอนต์ เพื่อไม่ให้ไอคอนฟอนต์ของปลั๊กอินอื่นเสีย
 */

/* ---------- 1) Tokens ---------- */
body.svru-skin {
	--svru-ink: #1b2033;
	--svru-muted: #5b6478;
	--svru-line: #e3e7f0;
	--svru-card: #ffffff;
	--svru-header-h: 76px;
	--svru-btt-bottom: 24px;
	--svru-ease: cubic-bezier(.2, .7, .2, 1);
	--svru-shadow-sm: 0 1px 2px rgba(var(--svru-primary-rgb), .06), 0 4px 14px -6px rgba(var(--svru-primary-rgb), .10);
	--svru-shadow-md: 0 18px 40px -18px rgba(var(--svru-primary-rgb), .35);
	background-color: var(--svru-surface);
	color: var(--svru-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

html:has(body.svru-skin) {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--svru-header-h, 76px) + 12px);
}

body.svru-skin ::selection { background: rgba(var(--svru-accent-rgb), .35); color: inherit; }

/* ---------- 2) Typography ---------- */
body.svru-skin.svru-font,
body.svru-skin.svru-font :is(p, li, td, th, dd, dt, label, blockquote, input, textarea, select, button) {
	font-family: var(--svru-font-body);
}
body.svru-skin.svru-font :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title, .elementor-post__title, .entry-title) {
	font-family: var(--svru-font-head) !important;
}
body.svru-skin.svru-font :is(.elementor-nav-menu a, .main-navigation a, .elementor-button, .elementor-tab-title, .elementor-accordion-title) {
	font-family: var(--svru-font-head) !important;
}
body.svru-skin :is(.elementor-widget-text-editor, .entry-content) :is(p, li) {
	line-height: 1.75;
}
body.svru-skin :is(h1, h2, h3).elementor-heading-title { line-height: 1.35; }

/* ลิงก์ในเนื้อหา */
body.svru-skin.svru-globals :is(.elementor-widget-text-editor, .entry-content) a:not(.elementor-button):not(.button) {
	color: var(--svru-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
body.svru-skin.svru-globals :is(.elementor-widget-text-editor, .entry-content) a:not(.elementor-button):not(.button):hover {
	color: var(--svru-primary-ink);
	text-decoration-color: var(--svru-accent);
}

/* ---------- 3) Header ---------- */
body.svru-skin :is(#site-header, #masthead, header.site-header, .elementor-location-header) {
	transition: box-shadow .3s var(--svru-ease), background-color .3s var(--svru-ease), border-color .3s var(--svru-ease);
}
body.svru-skin.svru-sticky :is(#site-header, #masthead, header.site-header, header.elementor-location-header, div.elementor-location-header) {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 990;
}
body.svru-skin.svru-hdr-glass :is(#site-header, #masthead, header.site-header, .elementor-location-header) {
	background-color: rgba(255, 255, 255, .86) !important;
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid transparent;
}
body.svru-skin.svru-hdr-glass :is(#site-header, #masthead, header.site-header, .elementor-location-header) :is(.elementor-section, .e-con, .ast-primary-header-bar, .main-header-bar) {
	background-color: transparent !important;
}
body.svru-skin.svru-hdr-brand :is(#site-header, #masthead, header.site-header, .elementor-location-header) {
	background-color: var(--svru-primary) !important;
	border-bottom: 3px solid var(--svru-accent);
}
body.svru-skin.svru-hdr-brand :is(#site-header, #masthead, header.site-header, .elementor-location-header) :is(.elementor-section, .e-con, .ast-primary-header-bar, .main-header-bar) {
	background-color: transparent !important;
}
body.svru-skin.svru-scrolled:not(.svru-hdr-keep) :is(#site-header, #masthead, header.site-header, .elementor-location-header) {
	box-shadow: 0 8px 28px -14px rgba(var(--svru-primary-rgb), .35);
}
body.svru-skin.svru-scrolled.svru-hdr-glass :is(#site-header, #masthead, header.site-header, .elementor-location-header) {
	border-bottom-color: var(--svru-line);
}

/* โลโก้ */
body.svru-skin :is(.site-logo, .custom-logo-link, .elementor-location-header .elementor-widget-theme-site-logo, .elementor-location-header .elementor-widget-image) img {
	transition: transform .3s var(--svru-ease);
}

/* ---------- 4) Main navigation (Elementor Nav / Hello / Astra / WP menus) ---------- */
body.svru-skin:not(.svru-hdr-keep) :is(.elementor-nav-menu--main .elementor-nav-menu, .site-navigation > ul, .main-navigation > div > ul, .main-navigation > ul, .main-header-menu) > li > a {
	border-radius: 999px;
	padding-left: 14px !important;
	padding-right: 14px !important;
	font-weight: 500;
	transition: background-color .2s var(--svru-ease), color .2s var(--svru-ease);
}
body.svru-skin:not(.svru-hdr-keep) .elementor-nav-menu--main .elementor-item::before,
body.svru-skin:not(.svru-hdr-keep) .elementor-nav-menu--main .elementor-item::after {
	display: none !important; /* แทนเอฟเฟกต์เส้นใต้เดิมด้วยพื้นหลังแบบเม็ดยา */
}

/* glass */
body.svru-skin.svru-hdr-glass :is(.elementor-nav-menu--main .elementor-nav-menu, .site-navigation > ul, .main-navigation > div > ul, .main-navigation > ul, .main-header-menu) > li > a {
	color: var(--svru-ink) !important;
}
body.svru-skin.svru-hdr-glass :is(.elementor-nav-menu--main .elementor-nav-menu, .site-navigation > ul, .main-navigation > div > ul, .main-navigation > ul, .main-header-menu) > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > a {
	color: var(--svru-primary) !important;
	background-color: rgba(var(--svru-primary-rgb), .08);
}
body.svru-skin.svru-hdr-glass :is(.elementor-nav-menu--main .elementor-nav-menu, .site-navigation > ul, .main-header-menu) > li:is(.current-menu-item) > a {
	box-shadow: inset 0 -2px 0 var(--svru-accent);
}

/* brand */
body.svru-skin.svru-hdr-brand :is(.elementor-nav-menu--main .elementor-nav-menu, .site-navigation > ul, .main-navigation > div > ul, .main-navigation > ul, .main-header-menu) > li > a {
	color: #fff !important;
}
body.svru-skin.svru-hdr-brand :is(.elementor-nav-menu--main .elementor-nav-menu, .site-navigation > ul, .main-navigation > div > ul, .main-navigation > ul, .main-header-menu) > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > a {
	background-color: rgba(255, 255, 255, .14);
	color: #fff !important;
}
body.svru-skin.svru-hdr-brand :is(.elementor-menu-toggle, .menu-toggle, .site-navigation-toggle) { color: #fff !important; }
body.svru-skin.svru-hdr-brand :is(.elementor-menu-toggle, .menu-toggle, .site-navigation-toggle) svg { fill: #fff !important; }

/* Dropdown */
body.svru-skin:not(.svru-hdr-keep) :is(.elementor-nav-menu--main, .site-navigation, .main-navigation, .ast-builder-menu) .sub-menu {
	background-color: #fff !important;
	border: 1px solid var(--svru-line) !important;
	border-radius: 14px !important;
	box-shadow: var(--svru-shadow-md) !important;
	padding: 6px !important;
	min-width: 240px;
}
body.svru-skin:not(.svru-hdr-keep) :is(.elementor-nav-menu--main, .site-navigation, .main-navigation, .ast-builder-menu) .sub-menu a {
	color: var(--svru-ink) !important;
	background-color: transparent !important;
	border-radius: 9px;
	padding: 9px 14px !important;
	line-height: 1.45;
	border: 0 !important;
	transition: background-color .15s var(--svru-ease), color .15s var(--svru-ease);
}
body.svru-skin:not(.svru-hdr-keep) :is(.elementor-nav-menu--main, .site-navigation, .main-navigation, .ast-builder-menu) .sub-menu li:is(:hover, :focus-within, .current-menu-item) > a {
	background-color: var(--svru-surface) !important;
	color: var(--svru-primary) !important;
}

/* เมนูมือถือ */
body.svru-skin:not(.svru-hdr-keep) .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	background-color: #fff !important;
	border: 1px solid var(--svru-line);
	border-radius: 14px;
	box-shadow: var(--svru-shadow-md);
	margin-top: 10px !important;
	padding: 6px;
}
body.svru-skin:not(.svru-hdr-keep) .elementor-nav-menu--dropdown a {
	color: var(--svru-ink) !important;
	background-color: transparent !important;
	border-radius: 9px;
}
body.svru-skin:not(.svru-hdr-keep) .elementor-nav-menu--dropdown a:is(:hover, .elementor-item-active, .highlighted) {
	background-color: var(--svru-surface) !important;
	color: var(--svru-primary) !important;
}
body.svru-skin :is(.elementor-menu-toggle, .menu-toggle, .site-navigation-toggle) {
	border-radius: 10px;
}

/* ช่องค้นหา */
body.svru-skin :is(.elementor-search-form__container, .search-form) {
	border-radius: 999px !important;
	overflow: hidden;
}
body.svru-skin .search-form .search-field {
	border-radius: 999px;
	border: 1px solid var(--svru-line);
	padding-inline: 16px;
}

/* ---------- 5) Buttons ---------- */
body.svru-skin :is(.elementor-button, .wp-block-button__link, .ast-button, a.button, button.button, input[type="submit"]) {
	border-radius: 999px !important;
	font-weight: 600;
	transition: transform .2s var(--svru-ease), box-shadow .2s var(--svru-ease), background-color .2s var(--svru-ease), color .2s var(--svru-ease);
}
body.svru-skin :is(.elementor-button, .wp-block-button__link, .ast-button):hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 22px -12px rgba(var(--svru-primary-rgb), .65);
}
body.svru-skin.svru-globals .elementor-widget-button .elementor-button {
	background-color: var(--svru-primary) !important;
	color: #fff !important;
	border-color: var(--svru-primary) !important;
	padding: 13px 26px;
}
body.svru-skin.svru-globals .elementor-widget-button .elementor-button:hover {
	background-color: var(--svru-primary-ink) !important;
}

/* ---------- 6) Images, video, sliders ---------- */
body.svru-skin.svru-cards :is(.elementor-widget-image, .elementor-widget-image-box):not(:is(header, footer, .elementor-location-header, .elementor-location-footer) *) img {
	border-radius: calc(var(--svru-radius) - 2px);
}
body.svru-skin.svru-cards .elementor-widget-video .elementor-wrapper {
	border-radius: var(--svru-radius);
	overflow: hidden;
	box-shadow: var(--svru-shadow-md);
}
body.svru-skin.svru-cards :is(.elementor-image-carousel .swiper-slide-image, .elementor-slides .swiper-slide-inner) {
	border-radius: var(--svru-radius);
}
body.svru-skin.svru-cards .elementor-image-carousel-wrapper {
	border-radius: var(--svru-radius);
}

/* ---------- 7) Cards: ข่าว กิจกรรม รางวัล ฟีด ---------- */
body.svru-skin.svru-cards :is(
	.elementor-posts--skin-classic .elementor-post,
	.elementor-posts--skin-full_content .elementor-post,
	.elementor-post__card,
	.cff-item,
	.ecs-post-loop
) {
	background-color: var(--svru-card) !important;
	border: 1px solid var(--svru-line) !important;
	border-radius: var(--svru-radius) !important;
	box-shadow: var(--svru-shadow-sm);
	overflow: hidden;
	transition: transform .25s var(--svru-ease), box-shadow .25s var(--svru-ease), border-color .25s var(--svru-ease);
}
body.svru-skin.svru-cards :is(.elementor-posts--skin-classic .elementor-post, .elementor-post__card, .cff-item, .ecs-post-loop):hover {
	transform: translateY(-3px);
	box-shadow: var(--svru-shadow-md);
	border-color: rgba(var(--svru-primary-rgb), .22) !important;
}
body.svru-skin.svru-cards .elementor-posts--skin-classic .elementor-post__thumbnail__link { margin-bottom: 14px !important; }
body.svru-skin.svru-cards .elementor-posts--skin-classic .elementor-post__text { padding: 0 18px 18px; }
body.svru-skin.svru-cards .elementor-posts--skin-classic .elementor-post:not(.has-post-thumbnail) .elementor-post__text { padding-top: 18px; }
body.svru-skin.svru-cards .elementor-post__thumbnail img {
	transition: transform .5s var(--svru-ease);
}
body.svru-skin.svru-cards :is(.elementor-post, .elementor-post__card):hover .elementor-post__thumbnail img {
	transform: scale(1.04);
}
body.svru-skin.svru-cards .elementor-post__title a { color: var(--svru-ink); }
body.svru-skin.svru-cards .elementor-post__title a:hover { color: var(--svru-primary); }
body.svru-skin.svru-cards .elementor-post__meta-data { color: var(--svru-muted); }
body.svru-skin.svru-cards .elementor-post__read-more {
	color: var(--svru-primary) !important;
	font-weight: 600;
}

/* โพสต์จากลูปของธีมบนหน้าแรก/หน้ารวม */
body.svru-skin.svru-cards:is(.home, .blog, .archive) :is(#content, .site-main, main) article:is(.post, .type-post):not(.elementor-post) {
	background-color: var(--svru-card);
	border: 1px solid var(--svru-line);
	border-radius: var(--svru-radius);
	box-shadow: var(--svru-shadow-sm);
	padding: 12px 12px 18px;
	transition: box-shadow .25s var(--svru-ease), transform .25s var(--svru-ease);
}
body.svru-skin.svru-cards:is(.home, .blog, .archive) :is(#content, .site-main, main) article:is(.post, .type-post):not(.elementor-post):hover {
	box-shadow: var(--svru-shadow-md);
	transform: translateY(-3px);
}
body.svru-skin.svru-cards:is(.home, .blog, .archive) :is(#content, .site-main, main) article:is(.post, .type-post):not(.elementor-post) img {
	border-radius: calc(var(--svru-radius) - 6px);
}

/* Image box (เช่น อาคารสถานที่) */
body.svru-skin.svru-cards .elementor-widget-image-box:not(:is(header, footer, .elementor-location-header, .elementor-location-footer) *) .elementor-image-box-wrapper {
	background-color: var(--svru-card);
	border: 1px solid var(--svru-line);
	border-radius: var(--svru-radius);
	padding: 12px 12px 18px;
	box-shadow: var(--svru-shadow-sm);
	height: 100%;
}
body.svru-skin.svru-cards .elementor-widget-image-box .elementor-image-box-title { margin-top: 4px; }
body.svru-skin.svru-cards .elementor-widget-image-box .elementor-image-box-description { color: var(--svru-muted); }

/* Icon list (รายการประกาศ/ลิงก์) */
body.svru-skin .elementor-icon-list-item > a {
	border-radius: 8px;
	transition: background-color .15s var(--svru-ease), color .15s var(--svru-ease);
}
body.svru-skin .elementor-icon-list-item > a:hover .elementor-icon-list-text {
	color: var(--svru-primary);
}

/* Tabs / Accordion */
body.svru-skin :is(.elementor-accordion-item, .elementor-toggle-item) {
	border-radius: 12px;
	overflow: hidden;
}

/* ---------- 8) Footer ---------- */
body.svru-skin :is(footer.site-footer, #colophon, .elementor-location-footer) {
	border-top: 3px solid var(--svru-accent);
}
body.svru-skin :is(footer.site-footer, #colophon, .elementor-location-footer) a {
	transition: color .2s var(--svru-ease), opacity .2s var(--svru-ease);
}
body.svru-skin :is(footer.site-footer, #colophon, .elementor-location-footer) a:hover {
	opacity: .8;
}

/* ---------- 9) Hero entrance (JS เพิ่ม .svru-hero เฉพาะตอนโหลด) ---------- */
body.svru-skin .svru-hero .elementor-widget {
	opacity: 0;
	transform: translateY(14px);
}
body.svru-skin .svru-hero.is-in .elementor-widget {
	opacity: 1;
	transform: none;
	transition: opacity .7s var(--svru-ease), transform .7s var(--svru-ease);
	transition-delay: calc(var(--svru-i, 0) * 70ms);
}

/* ---------- 10) Back to top ---------- */
.svru-btt {
	position: fixed;
	right: 20px;
	bottom: var(--svru-btt-bottom, 24px);
	z-index: 980;
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: var(--svru-primary);
	color: #fff;
	box-shadow: 0 10px 24px -10px rgba(var(--svru-primary-rgb), .7);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .25s var(--svru-ease), transform .25s var(--svru-ease), visibility .25s, background-color .2s;
}
.svru-btt.is-visible { opacity: 1; visibility: visible; transform: none; }
.svru-btt:hover { background: var(--svru-primary-ink); }
.svru-btt svg { width: 20px; height: 20px; }

/* ---------- 11) Accessibility ---------- */
body.svru-skin :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid rgba(var(--svru-accent-rgb), .95) !important;
	outline-offset: 2px;
}
.svru-btt:focus-visible { outline: 3px solid var(--svru-accent); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
	html:has(body.svru-skin) { scroll-behavior: auto; }
	body.svru-skin :is(.elementor-post, .elementor-post__card, .cff-item, .elementor-button, article, img, .svru-btt) {
		transition: none !important;
		transform: none !important;
	}
}

/* ---------- 12) Responsive ---------- */
@media (max-width: 1024px) {
	body.svru-skin { --svru-header-h: 64px; }
}
@media (max-width: 767px) {
	body.svru-skin.svru-cards .elementor-posts--skin-classic .elementor-post__text { padding: 0 14px 14px; }
	.svru-btt { right: 14px; width: 42px; height: 42px; }
}

/* ---------- 13) Print ---------- */
@media print {
	body.svru-skin { background: #fff; }
	body.svru-skin :is(#site-header, #masthead, header.site-header, .elementor-location-header) { position: static !important; box-shadow: none !important; }
	.svru-btt { display: none !important; }
}


/* =====================================================================
   PRESET: SCHOOL BRIGHT (v2) — สดใส เป็นมิตร มีสีประจำกลุ่ม
   เปิดเมื่อ body มีคลาส .svru-preset-school
   ===================================================================== */
body.svru-skin.svru-preset-school {
	--svru-sky: #2e9be6;
	--svru-mint: #1fb185;
	--svru-coral: #f2655a;
	--svru-grape: #7c5ce0;
	--svru-rainbow: linear-gradient(90deg, var(--svru-primary) 0 20%, var(--svru-sky) 20% 40%, var(--svru-mint) 40% 60%, var(--svru-accent) 60% 80%, var(--svru-coral) 80% 100%);
	--svru-shadow-sm: 0 1px 2px rgba(var(--svru-primary-rgb), .05), 0 8px 24px -14px rgba(var(--svru-primary-rgb), .18);
	--svru-shadow-md: 0 24px 48px -22px rgba(var(--svru-primary-rgb), .38);
}

/* พื้นหลังลายจุด */
body.svru-skin.svru-pattern {
	background-image: radial-gradient(rgba(var(--svru-primary-rgb), .075) 1.1px, transparent 1.3px);
	background-size: 22px 22px;
}

/* ส่วนบนสุด: พื้นไล่สีนุ่ม ๆ (เฉพาะเมื่อเดิมไม่มีพื้นหลัง) */
body.svru-skin.svru-pattern .svru-top-bare {
	background:
		radial-gradient(55% 70% at 8% 0%, rgba(46, 155, 230, .20), transparent 62%),
		radial-gradient(45% 65% at 95% 8%, rgba(var(--svru-accent-rgb), .26), transparent 60%),
		radial-gradient(40% 55% at 70% 100%, rgba(31, 177, 133, .14), transparent 60%),
		linear-gradient(180deg, #fff 0%, var(--svru-primary-soft) 100%);
	border-radius: 0 0 clamp(24px, 4vw, 56px) clamp(24px, 4vw, 56px);
	padding-bottom: clamp(16px, 3vw, 40px);
}

/* แถบสีสายรุ้ง (ลายเซ็นของสไตล์) */
body.svru-skin.svru-stripe :is(#site-header, #masthead, header.site-header, .elementor-location-header) {
	border-bottom: 0 !important;
	box-shadow: none;
	background-image: var(--svru-rainbow) !important;
	background-repeat: no-repeat !important;
	background-size: 100% 4px !important;
	background-position: bottom left !important;
}
body.svru-skin.svru-stripe.svru-scrolled :is(#site-header, #masthead, header.site-header, .elementor-location-header) {
	box-shadow: 0 10px 30px -16px rgba(var(--svru-primary-rgb), .4);
}
body.svru-skin.svru-stripe :is(footer.site-footer, #colophon, .elementor-location-footer) {
	border-top: 0;
	position: relative;
}
body.svru-skin.svru-stripe :is(footer.site-footer, #colophon, .elementor-location-footer)::after {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 5px;
	background: var(--svru-rainbow);
	pointer-events: none;
	z-index: 2;
}

/* หัวข้อส่วน: ไฮไลต์แบบปากกาเน้นข้อความ */
body.svru-skin.svru-preset-school .elementor-widget-heading:not(:is(header, footer, .elementor-location-header, .elementor-location-footer) *) h2.elementor-heading-title {
	display: inline;
	font-weight: 700;
	background-image: linear-gradient(transparent 58%, rgba(var(--svru-accent-rgb), .42) 58%, rgba(var(--svru-accent-rgb), .42) 90%, transparent 90%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	padding: 0 .18em;
	border-radius: 4px;
}
body.svru-skin.svru-preset-school .elementor-widget-heading:not(:is(header, footer, .elementor-location-header, .elementor-location-footer) *) h1.elementor-heading-title {
	font-weight: 700;
	letter-spacing: .01em;
}

/* แถบพื้นสลับสี */
body.svru-skin.svru-preset-school .svru-band {
	background-color: #fff;
	border-radius: clamp(20px, 3vw, 40px);
	box-shadow: var(--svru-shadow-sm);
}
body.svru-skin.svru-preset-school .svru-has-title { padding-top: clamp(12px, 2vw, 28px); }

/* สีประจำการ์ด วนตามลำดับ */
body.svru-skin.svru-preset-school :is(.elementor-post, .cff-item, .elementor-column, .e-con-inner > .e-con, .e-con > .e-con):nth-child(4n+1) { --svru-tone: var(--svru-sky); }
body.svru-skin.svru-preset-school :is(.elementor-post, .cff-item, .elementor-column, .e-con-inner > .e-con, .e-con > .e-con):nth-child(4n+2) { --svru-tone: var(--svru-mint); }
body.svru-skin.svru-preset-school :is(.elementor-post, .cff-item, .elementor-column, .e-con-inner > .e-con, .e-con > .e-con):nth-child(4n+3) { --svru-tone: var(--svru-accent); }
body.svru-skin.svru-preset-school :is(.elementor-post, .cff-item, .elementor-column, .e-con-inner > .e-con, .e-con > .e-con):nth-child(4n+4) { --svru-tone: var(--svru-coral); }

body.svru-skin.svru-preset-school.svru-cards :is(.elementor-posts--skin-classic .elementor-post, .elementor-post__card, .cff-item, .ecs-post-loop) {
	position: relative;
	border-radius: var(--svru-radius) !important;
}
body.svru-skin.svru-preset-school.svru-cards :is(.elementor-posts--skin-classic .elementor-post, .elementor-post__card, .cff-item, .ecs-post-loop)::after {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 5px;
	background: var(--svru-tone, var(--svru-sky));
	z-index: 3;
	pointer-events: none;
}
body.svru-skin.svru-preset-school.svru-cards .elementor-widget-image-box:not(:is(header, footer, .elementor-location-header, .elementor-location-footer) *) .elementor-image-box-wrapper {
	position: relative;
	overflow: hidden;
	border-top: 5px solid var(--svru-tone, var(--svru-sky));
	transition: transform .25s var(--svru-ease), box-shadow .25s var(--svru-ease);
}
body.svru-skin.svru-preset-school.svru-cards .elementor-widget-image-box .elementor-image-box-wrapper:hover {
	transform: translateY(-4px);
	box-shadow: var(--svru-shadow-md);
}
body.svru-skin.svru-preset-school .elementor-widget-image-box .elementor-image-box-title {
	color: var(--svru-primary-ink);
	font-weight: 700;
}

/* ป้ายหมวด / อ่านเพิ่มเติม เป็นชิปสี */
body.svru-skin.svru-preset-school .elementor-post__badge {
	background: var(--svru-tone, var(--svru-primary)) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-weight: 600;
	padding: 5px 12px !important;
}
body.svru-skin.svru-preset-school.svru-cards .elementor-post__read-more {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(var(--svru-primary-rgb), .07);
	transition: background-color .2s var(--svru-ease), color .2s var(--svru-ease);
}
body.svru-skin.svru-preset-school.svru-cards .elementor-post__read-more:hover {
	background: var(--svru-primary);
	color: #fff !important;
}

/* ปุ่มไล่สี */
body.svru-skin.svru-preset-school.svru-globals .elementor-widget-button .elementor-button {
	background-image: linear-gradient(135deg, var(--svru-primary) 0%, #3157c9 100%) !important;
	border: 0 !important;
	padding: 14px 28px;
	box-shadow: 0 12px 24px -14px rgba(var(--svru-primary-rgb), .8);
}
body.svru-skin.svru-preset-school.svru-globals .elementor-widget-button .elementor-button:hover {
	background-image: linear-gradient(135deg, var(--svru-primary-ink) 0%, var(--svru-primary) 100%) !important;
	box-shadow: 0 0 0 4px rgba(var(--svru-accent-rgb), .45), 0 14px 26px -14px rgba(var(--svru-primary-rgb), .8);
}

/* เมนู: ป้ายเมนูที่ใช้อยู่เป็นสีทองอ่อน */
body.svru-skin.svru-preset-school.svru-hdr-glass :is(.elementor-nav-menu--main .elementor-nav-menu, .site-navigation > ul, .main-header-menu) > li:is(.current-menu-item) > a {
	background-color: rgba(var(--svru-accent-rgb), .22);
	color: var(--svru-primary-ink) !important;
	box-shadow: none;
}
body.svru-skin.svru-preset-school:not(.svru-hdr-keep) :is(.elementor-nav-menu--main, .site-navigation, .main-navigation, .ast-builder-menu) .sub-menu {
	border-top: 4px solid var(--svru-accent) !important;
}

/* วิดีโอ: กรอบขาวหนาแบบรูปถ่ายติดบอร์ด */
body.svru-skin.svru-preset-school.svru-cards .elementor-widget-video .elementor-wrapper {
	border: 8px solid #fff;
	box-shadow: var(--svru-shadow-md);
}

/* ภาพทั่วไปในเนื้อหา: เงานุ่ม */
body.svru-skin.svru-preset-school.svru-cards .elementor-widget-image:not(:is(header, footer, .elementor-location-header, .elementor-location-footer) *) a img {
	transition: transform .35s var(--svru-ease), box-shadow .35s var(--svru-ease);
}
body.svru-skin.svru-preset-school.svru-cards .elementor-widget-image:not(:is(header, footer, .elementor-location-header, .elementor-location-footer) *) a:hover img {
	transform: translateY(-3px);
	box-shadow: var(--svru-shadow-md);
}

/* ไอคอนในรายการ */
body.svru-skin.svru-preset-school .elementor-icon-list-icon :is(i, svg) {
	color: var(--svru-tone, var(--svru-primary));
	fill: var(--svru-tone, var(--svru-primary));
}

/* ปุ่มกลับด้านบน: ขอบทอง */
body.svru-skin.svru-preset-school .svru-btt {
	box-shadow: 0 0 0 3px rgba(var(--svru-accent-rgb), .9), 0 12px 24px -10px rgba(var(--svru-primary-rgb), .7);
}

/* แถบเลื่อน */
html:has(body.svru-skin.svru-preset-school) { scrollbar-color: rgba(var(--svru-primary-rgb), .35) transparent; scrollbar-width: thin; }

@media (max-width: 767px) {
	body.svru-skin.svru-preset-school .svru-band { border-radius: 20px; }
	body.svru-skin.svru-pattern .svru-top-bare { border-radius: 0 0 24px 24px; }
}
@media print {
	body.svru-skin.svru-pattern { background-image: none; }
}


/* =====================================================================
   PRESET: GRADIENT POP (v3) — ตามแบบ Lector dashboard
   การ์ดขาวมุมมนน้อย เงานุ่ม, ไล่สี ชมพู→ม่วง / ม่วง / ฟ้า / ส้ม→เหลือง
   ===================================================================== */
body.svru-skin.svru-preset-lector {
	--svru-primary: #e5517b;
	--svru-primary-ink: #c23a65;
	--svru-primary-rgb: 229, 81, 123;
	--svru-primary-soft: #fdeef3;
	--svru-accent: #9055c7;
	--svru-accent-rgb: 144, 85, 199;
	--svru-surface: #f6f2f9;
	--svru-ink: #353a4c;
	--svru-muted: #8e94a6;
	--svru-line: #eeeaf3;
	--svru-dark: #2f3344;
	--svru-radius: 10px;

	--svru-g-pink: linear-gradient(135deg, #e5517b 0%, #a557c2 100%);
	--svru-g-purple: linear-gradient(135deg, #8b5bd0 0%, #5a4bb8 100%);
	--svru-g-blue: linear-gradient(135deg, #5db9ec 0%, #6c8de8 100%);
	--svru-g-orange: linear-gradient(135deg, #f9c34a 0%, #f07e5a 100%);
	--svru-c-pink: #e5517b;
	--svru-c-purple: #7e57c9;
	--svru-c-blue: #5aaee8;
	--svru-c-orange: #f2a54a;
	--svru-c-green: #7cd957;

	--svru-rainbow: var(--svru-g-pink);
	--svru-shadow-sm: 0 2px 4px rgba(80, 60, 120, .03), 0 6px 20px rgba(80, 60, 120, .06);
	--svru-shadow-md: 0 14px 34px -12px rgba(120, 70, 160, .28);
	--e-global-color-primary: #e5517b;
	--e-global-color-accent: #9055c7;
}
body.svru-skin.svru-preset-lector.svru-pattern { background-image: none; }

/* ส่วนบนสุด: ไล่สีชมพู–ม่วงจาง */
body.svru-skin.svru-preset-lector.svru-pattern .svru-top-bare {
	background:
		radial-gradient(50% 70% at 0% 0%, rgba(229, 81, 123, .14), transparent 62%),
		radial-gradient(50% 70% at 100% 0%, rgba(144, 85, 199, .16), transparent 62%),
		linear-gradient(180deg, #fff 0%, #f6f2f9 100%);
	border-radius: 0 0 28px 28px;
}

/* Header แบบโลโก้บาร์ไล่สี (เมื่อเลือก "พื้นสีหลัก") */
body.svru-skin.svru-preset-lector.svru-hdr-brand :is(#site-header, #masthead, header.site-header, .elementor-location-header) {
	background-color: #c4528f !important;
	background-image: var(--svru-g-pink) !important;
	background-size: 100% 100% !important;
	border-bottom: 0;
}
body.svru-skin.svru-preset-lector.svru-stripe :is(#site-header, #masthead, header.site-header, .elementor-location-header) {
	background-size: 100% 3px !important;
}
body.svru-skin.svru-preset-lector.svru-stripe.svru-hdr-brand :is(#site-header, #masthead, header.site-header, .elementor-location-header) {
	background-size: 100% 100% !important;
}

/* เมนู: ตัวที่ใช้อยู่เป็นชมพู เหมือนเมนูข้างของแบบ */
body.svru-skin.svru-preset-lector.svru-hdr-glass :is(.elementor-nav-menu--main .elementor-nav-menu, .site-navigation > ul, .main-navigation > div > ul, .main-navigation > ul, .main-header-menu) > li > a {
	border-radius: 8px;
	font-weight: 500;
}
body.svru-skin.svru-preset-lector.svru-hdr-glass :is(.elementor-nav-menu--main .elementor-nav-menu, .site-navigation > ul, .main-navigation > div > ul, .main-navigation > ul, .main-header-menu) > li:is(:hover, :focus-within, .current-menu-item, .current-menu-ancestor) > a {
	color: var(--svru-c-pink) !important;
	background-color: var(--svru-primary-soft);
	box-shadow: none;
}
body.svru-skin.svru-preset-lector:not(.svru-hdr-keep) :is(.elementor-nav-menu--main, .site-navigation, .main-navigation, .ast-builder-menu) .sub-menu {
	border-radius: 10px !important;
	border-top: 0 !important;
	box-shadow: 0 18px 40px -14px rgba(80, 60, 120, .3) !important;
}
body.svru-skin.svru-preset-lector:not(.svru-hdr-keep) :is(.elementor-nav-menu--main, .site-navigation, .main-navigation, .ast-builder-menu) .sub-menu a {
	border-left: 3px solid transparent !important;
	border-radius: 6px;
}
body.svru-skin.svru-preset-lector:not(.svru-hdr-keep) :is(.elementor-nav-menu--main, .site-navigation, .main-navigation, .ast-builder-menu) .sub-menu li:is(:hover, :focus-within, .current-menu-item) > a {
	border-left-color: var(--svru-c-pink) !important;
	background-color: #faf6fc !important;
	color: var(--svru-c-pink) !important;
}

/* หัวข้อส่วน: ตัวเข้ม ขีดล่างไล่สีบาง */
body.svru-skin.svru-preset-lector .elementor-widget-heading:not(:is(header, footer, .elementor-location-header, .elementor-location-footer) *) h2.elementor-heading-title {
	display: inline;
	font-weight: 600;
	color: var(--svru-ink);
	background-image: var(--svru-g-pink);
	background-repeat: no-repeat;
	background-size: 100% 3px;
	background-position: 0 100%;
	padding-bottom: 6px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* แผงพื้นขาว (ส่วนที่ไม่มีพื้นหลังเดิม) */
body.svru-skin.svru-preset-lector .svru-band {
	background-color: #fff;
	border-radius: 14px;
	box-shadow: var(--svru-shadow-sm);
}

/* สีประจำลำดับ */
body.svru-skin.svru-preset-lector :is(.elementor-post, .cff-item, .elementor-column, .e-con-inner > .e-con, .e-con > .e-con, .elementor-icon-list-item):nth-child(4n+1) { --svru-tone: var(--svru-c-pink); --svru-tone-g: var(--svru-g-pink); }
body.svru-skin.svru-preset-lector :is(.elementor-post, .cff-item, .elementor-column, .e-con-inner > .e-con, .e-con > .e-con, .elementor-icon-list-item):nth-child(4n+2) { --svru-tone: var(--svru-c-purple); --svru-tone-g: var(--svru-g-purple); }
body.svru-skin.svru-preset-lector :is(.elementor-post, .cff-item, .elementor-column, .e-con-inner > .e-con, .e-con > .e-con, .elementor-icon-list-item):nth-child(4n+3) { --svru-tone: var(--svru-c-blue); --svru-tone-g: var(--svru-g-blue); }
body.svru-skin.svru-preset-lector :is(.elementor-post, .cff-item, .elementor-column, .e-con-inner > .e-con, .e-con > .e-con, .elementor-icon-list-item):nth-child(4n+4) { --svru-tone: var(--svru-c-orange); --svru-tone-g: var(--svru-g-orange); }

/* การ์ดข่าว/กิจกรรม: ขาว ไม่มีขอบ เงานุ่ม แถบไล่สีบน */
body.svru-skin.svru-preset-lector.svru-cards :is(.elementor-posts--skin-classic .elementor-post, .elementor-post__card, .cff-item, .ecs-post-loop) {
	position: relative;
	border: 0 !important;
	border-radius: var(--svru-radius) !important;
	box-shadow: var(--svru-shadow-sm);
}
body.svru-skin.svru-preset-lector.svru-cards :is(.elementor-posts--skin-classic .elementor-post, .elementor-post__card, .cff-item, .ecs-post-loop)::after {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	background: var(--svru-tone-g, var(--svru-g-pink));
	z-index: 3;
	pointer-events: none;
}
body.svru-skin.svru-preset-lector.svru-cards :is(.elementor-posts--skin-classic .elementor-post, .elementor-post__card, .cff-item, .ecs-post-loop):hover {
	box-shadow: var(--svru-shadow-md);
}
body.svru-skin.svru-preset-lector.svru-cards .elementor-post__read-more {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 6px;
	background: var(--svru-primary-soft);
	color: var(--svru-c-pink) !important;
	font-weight: 600;
}
body.svru-skin.svru-preset-lector.svru-cards .elementor-post__read-more:hover {
	background: var(--svru-g-pink);
	color: #fff !important;
}
body.svru-skin.svru-preset-lector .elementor-post__badge {
	background: var(--svru-tone-g, var(--svru-g-pink)) !important;
	border-radius: 6px !important;
	color: #fff !important;
}
body.svru-skin.svru-preset-lector.svru-cards .elementor-post__meta-data { color: var(--svru-muted); font-size: .85em; }

/* Image box (เช่น อาคารสถานที่) = การ์ดสถิติไล่สี 4 สี ตัวอักษรขาว */
body.svru-skin.svru-preset-lector.svru-cards .elementor-widget-image-box:not(:is(header, footer, .elementor-location-header, .elementor-location-footer) *) .elementor-image-box-wrapper {
	background: var(--svru-tone-g, var(--svru-g-pink)) !important;
	border: 0 !important;
	border-radius: 12px;
	padding: 14px 14px 18px;
	color: #fff;
	box-shadow: 0 14px 28px -16px rgba(120, 70, 160, .55);
	transition: transform .25s var(--svru-ease), box-shadow .25s var(--svru-ease);
}
body.svru-skin.svru-preset-lector.svru-cards .elementor-widget-image-box .elementor-image-box-wrapper:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 36px -16px rgba(120, 70, 160, .6);
}
body.svru-skin.svru-preset-lector.svru-cards .elementor-widget-image-box:not(:is(header, footer, .elementor-location-header, .elementor-location-footer) *) :is(.elementor-image-box-title, .elementor-image-box-title a, .elementor-image-box-description) {
	color: #fff !important;
}
body.svru-skin.svru-preset-lector.svru-cards .elementor-widget-image-box .elementor-image-box-title { font-weight: 600; }
body.svru-skin.svru-preset-lector.svru-cards .elementor-widget-image-box .elementor-image-box-description { opacity: .9; }
body.svru-skin.svru-preset-lector.svru-cards .elementor-widget-image-box .elementor-image-box-img img {
	border-radius: 8px;
	box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .35);
}

/* รายการไอคอน = วงกลมสีแบบ "Recent Activities" */
body.svru-skin.svru-preset-lector .elementor-icon-list-icon {
	width: 30px !important;
	height: 30px;
	min-width: 30px;
	border-radius: 50%;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: var(--svru-tone, var(--svru-c-pink));
	margin-right: 10px;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, .9), 0 4px 10px -4px var(--svru-tone, var(--svru-c-pink));
}
body.svru-skin.svru-preset-lector .elementor-icon-list-icon :is(i, svg) {
	color: #fff !important;
	fill: #fff !important;
	font-size: 13px !important;
	width: 13px !important;
	height: 13px !important;
}

/* ปุ่ม: สี่เหลี่ยมมุมมน ไล่สีชมพู–ม่วง */
body.svru-skin.svru-preset-lector :is(.elementor-button, .wp-block-button__link, .ast-button, a.button, button.button, input[type="submit"]) {
	border-radius: 6px !important;
}
body.svru-skin.svru-preset-lector.svru-globals .elementor-widget-button .elementor-button {
	background-color: var(--svru-c-pink) !important;
	background-image: var(--svru-g-pink) !important;
	border: 0 !important;
	padding: 13px 26px;
	box-shadow: 0 10px 20px -10px rgba(229, 81, 123, .7);
}
body.svru-skin.svru-preset-lector.svru-globals .elementor-widget-button .elementor-button:hover {
	background-image: linear-gradient(135deg, #d43f6b 0%, #8b49b8 100%) !important;
	box-shadow: 0 14px 24px -10px rgba(229, 81, 123, .8);
}

/* ตาราง (เช่น หน้า ITA / ดาวน์โหลด) = หัวตารางสีเข้ม แถวสลับ */
body.svru-skin.svru-preset-lector :is(.elementor-widget-text-editor, .entry-content, .elementor-widget-shortcode) table:not(.svru-skip) {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: var(--svru-shadow-sm);
	border: 0;
}
body.svru-skin.svru-preset-lector :is(.elementor-widget-text-editor, .entry-content, .elementor-widget-shortcode) table:not(.svru-skip) :is(thead th, thead td) {
	background: var(--svru-dark) !important;
	color: #fff !important;
	font-weight: 600;
	border: 0 !important;
	padding: 12px 14px;
}
body.svru-skin.svru-preset-lector :is(.elementor-widget-text-editor, .entry-content, .elementor-widget-shortcode) table:not(.svru-skip) tbody :is(td, th) {
	border: 0 !important;
	border-bottom: 1px solid var(--svru-line) !important;
	padding: 11px 14px;
}
body.svru-skin.svru-preset-lector :is(.elementor-widget-text-editor, .entry-content, .elementor-widget-shortcode) table:not(.svru-skip) tbody tr:nth-child(even) { background: #faf8fc; }
body.svru-skin.svru-preset-lector :is(.elementor-widget-text-editor, .entry-content, .elementor-widget-shortcode) table:not(.svru-skip) tbody tr:hover { background: var(--svru-primary-soft); }

/* เลขหน้า = วงกลม ตัวที่เลือกชมพู */
body.svru-skin.svru-preset-lector :is(.page-numbers, .elementor-pagination .page-numbers) {
	display: inline-grid;
	place-items: center;
	min-width: 32px;
	height: 32px;
	padding: 0 8px;
	border-radius: 999px;
	color: var(--svru-muted);
	text-decoration: none;
	transition: background-color .2s, color .2s;
}
body.svru-skin.svru-preset-lector :is(.page-numbers, .elementor-pagination .page-numbers):is(.current, :hover) {
	background: var(--svru-g-pink);
	color: #fff;
}

/* วิดีโอ */
body.svru-skin.svru-preset-lector.svru-cards .elementor-widget-video .elementor-wrapper {
	border: 0;
	border-radius: 12px;
	box-shadow: var(--svru-shadow-md);
}

/* ส่วนท้าย: แถบไล่สีบาง */
body.svru-skin.svru-preset-lector.svru-stripe :is(footer.site-footer, #colophon, .elementor-location-footer)::after { height: 3px; }

/* ปุ่มกลับด้านบน */
body.svru-skin.svru-preset-lector .svru-btt {
	background: var(--svru-g-pink);
	border-radius: 12px;
	box-shadow: 0 12px 24px -10px rgba(229, 81, 123, .7);
}

/* โฟกัส */
body.svru-skin.svru-preset-lector :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline-color: rgba(144, 85, 199, .85) !important;
}
