/*
Theme Name: Sirichayagems
Theme URI: https://sirichayagems.com
Author: Sirichayagems
Author URI: https://sirichayagems.com
Description: ธีมเวิร์ดเพรสสำหรับ Sirichayagems สร้างขึ้นเองแบบ Native Theme ไม่พึ่งพา Page Builder อย่าง Elementor โทนสีขาว-ครีม-ทอง เหมาะกับธุรกิจอัญมณี ดูหรูหราแต่เรียบสะอาด รองรับหน้า Home / Service / Classes และเนื้อหาภาษาไทย
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sirichayagems
Tags: custom-background, custom-logo, custom-menu, featured-images, translation-ready, threaded-comments, block-styles, wide-blocks
*/

/* =========================================================
   0. CSS VARIABLES — โทนสีหลักของแบรนด์ (ปรับได้ที่นี่จุดเดียว)
   ========================================================= */
:root {
	--sg-cream: #faf6ee;
	--sg-cream-dark: #f1e9d8;
	--sg-white: #ffffff;
	--sg-gold: #b8965a;
	--sg-gold-dark: #8f6e3f;
	--sg-gold-light: #d9c39c;
	--sg-text: #2c2620;
	--sg-text-soft: #5c5348;
	--sg-border: #e6dcc8;
	--sg-shadow: 0 10px 30px rgba(44, 38, 32, 0.08);
	--sg-radius: 6px;
	--sg-font-heading: "Noto Serif Thai", "Playfair Display", "Cormorant Garamond", serif;
	--sg-font-body: "Noto Sans Thai", "Prompt", -apple-system, BlinkMacSystemFont, sans-serif;
	--sg-container: 1180px;
}

/* =========================================================
   1. RESET & BASE
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--sg-cream);
	color: var(--sg-text);
	font-family: var(--sg-font-body);
	font-size: 17px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a {
	color: var(--sg-gold-dark);
	text-decoration: none;
	transition: color 0.25s ease;
}
a:hover { color: var(--sg-gold); }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--sg-font-heading);
	font-weight: 600;
	color: var(--sg-text);
	line-height: 1.3;
	margin: 0 0 0.6em;
	letter-spacing: 0.01em;
}

h1 { font-size: clamp(2.1rem, 4vw, 3.2rem); }
h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
h3 { font-size: clamp(1.3rem, 2.2vw, 1.6rem); }

p { margin: 0 0 1.2em; }

.sg-container {
	max-width: var(--sg-container);
	margin: 0 auto;
	padding: 0 24px;
}

.sg-eyebrow {
	display: inline-block;
	font-family: var(--sg-font-body);
	font-size: 0.8rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--sg-gold-dark);
	margin-bottom: 0.9em;
}

.sg-divider {
	width: 64px;
	height: 2px;
	background: var(--sg-gold);
	border: none;
	margin: 1.4em 0;
}
.sg-divider.center { margin-left: auto; margin-right: auto; }

/* =========================================================
   2. BUTTONS
   ========================================================= */
.sg-btn,
.wp-block-button__link {
	display: inline-block;
	padding: 14px 34px;
	background: var(--sg-gold);
	color: var(--sg-white) !important;
	border-radius: 999px;
	font-size: 0.95rem;
	letter-spacing: 0.04em;
	border: 1px solid var(--sg-gold);
	cursor: pointer;
	transition: all 0.25s ease;
}
.sg-btn:hover,
.wp-block-button__link:hover {
	background: var(--sg-gold-dark);
	border-color: var(--sg-gold-dark);
	color: var(--sg-white) !important;
}

.sg-btn.outline,
.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--sg-gold-dark) !important;
	border: 1px solid var(--sg-gold);
}
.sg-btn.outline:hover,
.is-style-outline .wp-block-button__link:hover {
	background: var(--sg-gold);
	color: var(--sg-white) !important;
}

/* =========================================================
   3. HEADER / NAV
   ========================================================= */
.sg-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(250, 246, 238, 0.92);
	backdrop-filter: saturate(150%) blur(6px);
	border-bottom: 1px solid var(--sg-border);
}

.sg-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 24px;
	max-width: var(--sg-container);
	margin: 0 auto;
}

.sg-logo {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--sg-font-heading);
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--sg-text);
	letter-spacing: 0.03em;
}
.sg-logo img {
	max-height: 84px;
	width: auto;
}
.sg-logo:hover { color: var(--sg-gold-dark); }

.sg-nav-toggle {
	display: none;
	background: none;
	border: 1px solid var(--sg-gold);
	border-radius: var(--sg-radius);
	padding: 8px 10px;
	cursor: pointer;
}
.sg-nav-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--sg-text);
	margin: 4px 0;
}

.sg-primary-menu {
	list-style: none;
	display: flex;
	gap: 34px;
	margin: 0;
	padding: 0;
}
.sg-primary-menu a {
	color: var(--sg-text);
	font-size: 0.98rem;
	letter-spacing: 0.02em;
	position: relative;
	padding: 4px 0;
}
.sg-primary-menu a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 0;
	height: 1px;
	background: var(--sg-gold);
	transition: width 0.25s ease;
}
.sg-primary-menu a:hover::after,
.sg-primary-menu .current-menu-item a::after { width: 100%; }
.sg-primary-menu .current-menu-item > a { color: var(--sg-gold-dark); }

.sg-primary-menu ul {
	list-style: none;
	position: absolute;
	background: var(--sg-white);
	box-shadow: var(--sg-shadow);
	padding: 10px 0;
	margin: 14px 0 0 -16px;
	min-width: 200px;
	border-radius: var(--sg-radius);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: all 0.2s ease;
}
.sg-primary-menu li { position: relative; }
.sg-primary-menu li:hover > ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.sg-primary-menu ul a { display: block; padding: 8px 20px; }
.sg-primary-menu ul a::after { display: none; }

/* =========================================================
   4. HERO (ใช้ร่วมกันทั้ง Home / Service / Classes)
   ========================================================= */
.sg-hero {
	position: relative;
	padding: 110px 24px 90px;
	text-align: center;
	background: linear-gradient(180deg, var(--sg-cream-dark) 0%, var(--sg-cream) 100%);
	overflow: hidden;
}
.sg-hero.has-image {
	background-size: cover;
	background-position: center;
	color: var(--sg-white);
}
.sg-hero.has-image::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(44,38,32,0.55), rgba(44,38,32,0.65));
}
.sg-hero.has-image .sg-hero-inner { position: relative; z-index: 2; }
.sg-hero.has-image h1,
.sg-hero.has-image .sg-eyebrow { color: var(--sg-white); }

.sg-hero-inner {
	max-width: 780px;
	margin: 0 auto;
}
.sg-hero p.sg-hero-sub {
	font-size: 1.15rem;
	color: var(--sg-text-soft);
	max-width: 620px;
	margin: 0 auto 1.8em;
}
.sg-hero.has-image p.sg-hero-sub { color: rgba(255,255,255,0.88); }

.sg-hero-actions {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 1.6em;
}

/* Page hero (Service / Classes / หน้าอื่น ๆ) — เล็กกว่า Home hero */
.sg-page-hero { padding: 80px 24px 60px; }
.sg-page-hero h1 { margin-bottom: 0.3em; }

/* =========================================================
   5. SECTIONS ทั่วไป
   ========================================================= */
.sg-section { padding: 90px 24px; }
.sg-section.alt { background: var(--sg-white); }
.sg-section-head {
	text-align: center;
	max-width: 700px;
	margin: 0 auto 56px;
}

.sg-content-area {
	max-width: var(--sg-container);
	margin: 0 auto;
	padding: 70px 24px 100px;
}
.sg-content-area .entry-content > * { max-width: 820px; margin-left: auto; margin-right: auto; }
.sg-content-area .entry-content > .alignwide,
.sg-content-area .entry-content > .alignfull { max-width: none; }

/* Cards grid — ใช้กับบริการ/คอร์สเด่นในหน้า Home */
.sg-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}
.sg-card {
	background: var(--sg-white);
	border: 1px solid var(--sg-border);
	border-radius: var(--sg-radius);
	padding: 40px 30px;
	text-align: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sg-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--sg-shadow);
}
.sg-card-icon {
	width: 56px;
	height: 56px;
	margin: 0 auto 22px;
	border-radius: 50%;
	background: var(--sg-cream-dark);
	color: var(--sg-gold-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
}
.sg-card h3 { margin-bottom: 0.5em; }
.sg-card p { color: var(--sg-text-soft); margin-bottom: 0; }

/* CTA band */
.sg-cta {
	background: var(--sg-text);
	color: var(--sg-cream);
	text-align: center;
	padding: 80px 24px;
}
.sg-cta h2 { color: var(--sg-white); }
.sg-cta p { color: rgba(250,246,238,0.8); max-width: 600px; margin: 0 auto 1.8em; }

/* =========================================================
   6. GUTENBERG / EDITOR CONTENT STYLING
   ========================================================= */
.entry-content .wp-block-columns { gap: 32px; margin-bottom: 2em; }
.entry-content .wp-block-column { }
.entry-content figure.wp-block-image {
	border-radius: var(--sg-radius);
	overflow: hidden;
}
.entry-content .wp-block-image img { border-radius: var(--sg-radius); }
.entry-content .wp-block-quote {
	border-left: 3px solid var(--sg-gold);
	padding-left: 24px;
	font-family: var(--sg-font-heading);
	font-style: italic;
	color: var(--sg-text-soft);
}
.entry-content .wp-block-separator {
	border: none;
	border-top: 1px solid var(--sg-border);
	width: 100px;
	margin: 3em auto;
}
.entry-content .wp-block-group {
	padding: 2em;
}
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content li { margin-bottom: 0.4em; }

/* =========================================================
   7. FOOTER
   ========================================================= */
.sg-site-footer {
	background: var(--sg-text);
	color: rgba(250, 246, 238, 0.75);
	padding: 70px 24px 30px;
}
.sg-footer-grid {
	max-width: var(--sg-container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr;
	gap: 40px;
	padding-bottom: 46px;
	border-bottom: 1px solid rgba(250, 246, 238, 0.12);
}
.sg-footer-grid h4 {
	color: var(--sg-gold-light);
	font-family: var(--sg-font-body);
	font-size: 0.85rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	margin-bottom: 1.2em;
}
.sg-footer-about .sg-logo { color: var(--sg-white); margin-bottom: 14px; }
.sg-footer-about p { color: rgba(250,246,238,0.65); max-width: 320px; }

.sg-footer-links ul { list-style: none; margin: 0; padding: 0; }
.sg-footer-links li { margin-bottom: 10px; }
.sg-footer-links a { color: rgba(250,246,238,0.75); }
.sg-footer-links a:hover { color: var(--sg-gold-light); }

.sg-footer-contact p { margin-bottom: 10px; color: rgba(250,246,238,0.75); }
.sg-footer-social { display: flex; gap: 14px; margin-top: 18px; }
.sg-footer-social a {
	width: 38px;
	height: 38px;
	border: 1px solid rgba(250,246,238,0.25);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--sg-cream);
	font-size: 0.85rem;
}
.sg-footer-social a:hover { border-color: var(--sg-gold); color: var(--sg-gold-light); }

.sg-footer-bottom {
	max-width: var(--sg-container);
	margin: 0 auto;
	padding-top: 26px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 0.85rem;
	color: rgba(250,246,238,0.5);
}

/* =========================================================
   8. LANGUAGE SWITCH (ไทย / EN) — ไม่ใช้ปลั๊กอิน
   ========================================================= */
/* ค่าเริ่มต้นก่อน JS ทำงาน: แสดงไทยก่อนเสมอ กัน layout กระพริบ
   ใช้ display:inline เป็นค่าเริ่มต้นเสมอ (ไม่ใช้ inherit) เพราะ .lang-th/
   .lang-en มักถูกวางแทรกกลางประโยคหรือหน้าองค์ประกอบอื่น (เช่น "โทร: "
   ก่อนลิงก์เบอร์โทร) ถ้าใช้ inherit จะกลายเป็น block ตามพ่อแม่และทำให้
   ตัดบรรทัดผิดที่ */
html:not([data-lang]) .lang-en { display: none; }
html[data-lang="th"] .lang-en { display: none; }
html[data-lang="th"] .lang-th { display: inline; }
html[data-lang="en"] .lang-th { display: none; }
html[data-lang="en"] .lang-en { display: inline; }

.sg-lang-switch {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.85rem;
}
.sg-lang-btn {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--sg-text-soft);
	padding: 4px 6px;
	font-family: var(--sg-font-body);
	font-size: 0.85rem;
	letter-spacing: 0.03em;
}
.sg-lang-btn.is-active { color: var(--sg-gold-dark); font-weight: 600; }
.sg-lang-sep { color: var(--sg-border); }

/* =========================================================
   9. AWARDS BAR
   ========================================================= */
.sg-awards {
	background: var(--sg-text);
	color: var(--sg-cream);
	padding: 70px 24px;
}
.sg-awards-inner {
	max-width: var(--sg-container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 50px;
	align-items: start;
}
.sg-awards-badge {
	border: 1px solid rgba(250,246,238,0.25);
	border-radius: var(--sg-radius);
	padding: 26px 24px;
}
.sg-awards-year {
	font-family: var(--sg-font-heading);
	font-size: 2.6rem;
	color: var(--sg-gold-light);
	line-height: 1;
	margin-bottom: 14px;
}
.sg-awards-title { color: var(--sg-white); margin-bottom: 0.2em; font-size: 1.2rem; }
.sg-awards-subtitle { color: rgba(250,246,238,0.65); font-size: 0.92rem; }

.sg-awards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}
.sg-awards-item .sg-awards-label {
	display: block;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sg-gold-light);
	margin-bottom: 10px;
}
.sg-awards-item .sg-awards-value {
	color: rgba(250,246,238,0.9);
	font-size: 1.02rem;
	line-height: 1.55;
}

/* =========================================================
   10. PHILOSOPHY / TEXT BAND
   ========================================================= */
.sg-philosophy {
	background: var(--sg-white);
	padding: 100px 24px;
}
.sg-philosophy-inner {
	max-width: 880px;
	margin: 0 auto;
}
.sg-philosophy-lead {
	font-family: var(--sg-font-heading);
	font-size: clamp(1.4rem, 2.6vw, 1.9rem);
	font-weight: 500;
	color: var(--sg-text);
	line-height: 1.55;
	margin-bottom: 0.9em;
}
.sg-philosophy-body {
	font-size: 1.05rem;
	color: var(--sg-text-soft);
	line-height: 1.85;
}

/* =========================================================
   11. BLOG PREVIEW (หน้าแรก — ล่างสุด)
   ========================================================= */
.sg-blog {
	background: var(--sg-cream-dark);
	padding: 90px 24px;
}
.sg-blog-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
	margin-top: 50px;
}
.sg-blog-card {
	background: var(--sg-white);
	border-radius: var(--sg-radius);
	overflow: hidden;
	border: 1px solid var(--sg-border);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sg-blog-card:hover { transform: translateY(-4px); box-shadow: var(--sg-shadow); }
.sg-blog-thumb { aspect-ratio: 16/10; overflow: hidden; background: var(--sg-cream-dark); }
.sg-blog-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sg-blog-card-body { padding: 30px; }
.sg-blog-date {
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sg-gold-dark);
	margin-bottom: 10px;
	display: block;
}
.sg-blog-card h3 { margin-bottom: 0.5em; font-size: 1.25rem; }
.sg-blog-card h3 a { color: var(--sg-text); }
.sg-blog-card h3 a:hover { color: var(--sg-gold-dark); }
.sg-blog-excerpt { color: var(--sg-text-soft); margin-bottom: 1.4em; }
.sg-blog-readmore {
	font-size: 0.92rem;
	color: var(--sg-gold-dark);
	border-bottom: 1px solid var(--sg-gold);
	padding-bottom: 2px;
}
.sg-blog-readmore:hover { color: var(--sg-gold); }
.sg-blog-empty { color: var(--sg-text-soft); text-align: center; padding: 20px 0; }

/* =========================================================
   12. LOGO FALLBACK (ใช้เมื่อยังไม่ได้อัปโหลดโลโก้ผ่าน Customizer)
   ========================================================= */
.sg-logo-fallback-link { display: inline-flex; align-items: center; }
.sg-logo-fallback { max-height: 64px; width: auto; }

/* =========================================================
   13. RESPONSIVE
   ========================================================= */
@media (max-width: 900px) {
	.sg-grid { grid-template-columns: repeat(2, 1fr); }
	.sg-footer-grid { grid-template-columns: 1fr 1fr; }
	.sg-footer-about { grid-column: 1 / -1; }
}

@media (max-width: 782px) {
	.sg-nav-toggle { display: inline-block; }
	.sg-primary-menu-wrap {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--sg-white);
		box-shadow: var(--sg-shadow);
		padding: 10px 24px 20px;
	}
	.sg-primary-menu-wrap.is-open { display: block; }
	.sg-primary-menu { flex-direction: column; gap: 0; }
	.sg-primary-menu li { width: 100%; }
	.sg-primary-menu a { display: block; padding: 12px 0; }
	.sg-primary-menu ul {
		position: static;
		box-shadow: none;
		margin: 0 0 0 14px;
		padding: 0;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: none;
	}
	.sg-primary-menu li.sg-submenu-open > ul { display: block; }

	.sg-grid { grid-template-columns: 1fr; }
	.sg-hero { padding: 80px 20px 60px; }
	.sg-section { padding: 60px 20px; }
	.sg-footer-grid { grid-template-columns: 1fr; }

	.sg-awards-inner { grid-template-columns: 1fr; gap: 30px; }
	.sg-awards-grid { grid-template-columns: 1fr; gap: 22px; }
	.sg-awards { padding: 50px 20px; }
	.sg-philosophy { padding: 60px 20px; }
	.sg-blog { padding: 60px 20px; }
	.sg-blog-grid { grid-template-columns: 1fr; }
}
