/**
 * Like_system / SMM panel theme — pairs with layout.twig (.allez-theme)
 * Pure CSS only (no <style> tags).
 *
 * Background: โทนชาอ่อน / กระดาษครีม + ลายน้ำ debossed — ปรับใน --allez-bg-stack
 */

/* -------------------------------------------------------------------------- */
/* Tokens                                                                     */
/* -------------------------------------------------------------------------- */

.allez-theme {
	--allez-brown: #4a3228;
	--allez-brown-mid: #3d2a22;
	--allez-brown-deep: #2d211c;
	--allez-gold: #e8c547;
	--allez-gold-mid: #c9a227;
	--allez-gold-dark: #8b6914;
	--allez-cream: #fdf8f0;
	--allez-card: #ffffff;
	--allez-accent: #e07020;
	--allez-accent-light: #ff9a4a;
	--allez-text: #1a120e;
	--allez-text-muted: #ff0000;
	--allez-border-soft: #ffd9c2;
	--allez-shadow: rgba(45, 33, 28, 0.14);
	--allez-shadow-deep: rgba(45, 33, 28, 0.24);
	--allez-radius: 15px;
	--allez-radius-sm: 12px;
	--allez-font: "Prompt", "Sarabun", "Segoe UI", system-ui, sans-serif;
	--allez-bg-stack:
		radial-gradient(ellipse 120% 70% at 50% -15%, rgba(255, 255, 252, 0.9) 0%, transparent 55%),
		radial-gradient(ellipse 50% 40% at 0% 100%, rgba(200, 185, 168, 0.2) 0%, transparent 50%),
		radial-gradient(ellipse 45% 38% at 100% 95%, rgba(190, 175, 158, 0.18) 0%, transparent 48%),
		linear-gradient(
			168deg,
			#f7f4ed 0%,
			#f0ebe2 28%,
			#e8e2d6 52%,
			#ddd4c6 78%,
			#cfc4b4 100%
		);

	min-height: 100vh;
	position: relative;
	color: var(--allez-text);
	font-family: var(--allez-font);

	/* ---- ขนาดตัวอักษรหลัก: อ่านง่ายสำหรับภาษาไทย ---- */
	font-size: 17px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* -------------------------------------------------------------------------- */
/* Background layers                                                          */
/* -------------------------------------------------------------------------- */

.allez-bg {
	position: fixed;
	inset: 0;
	z-index: -4;
	background-color: #ebe8e2;
	background-image: var(
		--allez-bg-stack,
		linear-gradient(168deg, #f7f4ed 0%, #e8e2d6 55%, #cfc4b4 100%)
	);
	background-size: 100% 100%;
	will-change: transform;
}

/* ลายน้ำชื่อเว็บ — debossed / letterpress ชัดเจน (แสงซ้ายบน, หลายชั้นเงา) */
.allez-bg-watermark {
	--wm-hero-fill: #b8b0a2;
	--wm-cell-fill: #d8d2ca;
	--wm-hi: rgba(255, 252, 248, 0.98);
	--wm-hi-soft: rgba(255, 255, 255, 0.72);
	--wm-sh: rgba(38, 32, 26, 0.42);
	--wm-sh-mid: rgba(58, 48, 40, 0.32);
	--wm-sh-soft: rgba(72, 62, 52, 0.2);
	position: fixed;
	inset: 0;
	z-index: -3;
	overflow: hidden;
	pointer-events: none;
}

.allez-bg-watermark__hero {
	position: absolute;
	left: 50%;
	top: 40%;
	z-index: 1;
	margin: 0;
	max-width: 96vw;
	padding: 0;
	transform: translate(-50%, -50%) rotate(-11deg);
	font-family: var(--allez-font);
	font-weight: 900;
	font-style: italic;
	font-size: clamp(4rem, 20vw, 15.5rem);
	line-height: 0.88;
	letter-spacing: 0.03em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: center;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--wm-hero-fill);
	/* มิติกดลง: ขอบบน-ซ้ายมืดลงหลุม + ล่าง-ขวาสะท้อนแสง + เงาท้ายตัว */
	text-shadow:
		-3px -3px 6px var(--wm-hi-soft),
		-1px -1px 0 var(--wm-hi),
		-5px -6px 14px rgba(255, 255, 255, 0.55),
		2px 3px 2px rgba(255, 255, 255, 0.35),
		4px 6px 10px var(--wm-sh-mid),
		6px 9px 18px var(--wm-sh-soft),
		8px 12px 28px rgba(35, 28, 22, 0.14),
		1px 2px 3px var(--wm-sh),
		0 10px 40px rgba(40, 34, 28, 0.08);
	filter: drop-shadow(0 14px 32px rgba(45, 38, 30, 0.12));
}

/* ผู้ใช้ขอให้เหลือแค่ลายน้ำตัวเล็ก: ซ่อนชื่อเว็บตัวใหญ่ */
.allez-bg-watermark__hero {
	display: none;
}

.allez-bg-watermark__inner {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 0;
	width: 135%;
	min-height: 120%;
	transform: translate(-50%, -50%) rotate(-14deg);
	direction: ltr;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	grid-template-rows: repeat(5, minmax(5.5rem, 1fr));
	align-items: center;
	justify-items: center;
	gap: 0.65rem 1.15rem;
	box-sizing: border-box;
	padding: 2rem;
}

.allez-bg-watermark__cell {
	font-family: var(--allez-font);
	font-weight: 900;
	font-style: italic;
	font-size: clamp(1.25rem, 3.5vw, 2.65rem);
	line-height: 1;
	letter-spacing: 0.06em;
	white-space: nowrap;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 0 0.25rem;
	opacity: 0.25;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--wm-cell-fill);
	text-shadow:
		-2px -2px 4px var(--wm-hi-soft),
		-1px -1px 0 var(--wm-hi),
		2px 3px 4px var(--wm-sh-mid),
		3px 5px 10px var(--wm-sh-soft),
		4px 6px 14px rgba(35, 28, 22, 0.1),
		1px 2px 2px var(--wm-sh);
	filter: drop-shadow(0 6px 14px rgba(45, 38, 30, 0.08));
}

@media (max-width: 767px) {
	.allez-bg-watermark__hero {
		font-size: clamp(2.85rem, 16vw, 7rem);
		top: 36%;
	}

	.allez-bg-watermark__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-template-rows: auto;
		grid-auto-rows: minmax(4rem, auto);
	}

	.allez-bg-watermark__cell {
		font-size: clamp(1rem, 5vw, 1.5rem);
	}
}

/* guest: ตัดกับพื้นอุ่นนิด — ยังโทนเดียวกัน แต่เข้มขึ้นให้ลายน้ำโดด */
.allez-guest .allez-bg-watermark {
	--wm-hero-fill: #aea696;
	--wm-cell-fill: #cdc7bd;
	--wm-sh: rgba(32, 28, 22, 0.48);
	--wm-sh-mid: rgba(52, 44, 36, 0.38);
}

.allez-bg-glow {
	position: fixed;
	left: 50%;
	top: -10%;
	width: 130vw;
	height: 78vh;
	transform: translateX(-50%);
	z-index: -2;
	background: radial-gradient(
		ellipse 58% 48% at 50% 28%,
		rgba(255, 255, 255, 0.45) 0%,
		rgba(245, 240, 230, 0.18) 42%,
		transparent 70%
	);
	pointer-events: none;
}

.allez-particles {
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	opacity: 0.28;
	background-image:
		radial-gradient(2px 2px at 12% 18%, rgba(255, 255, 255, 0.55) 88%, transparent 100%),
		radial-gradient(2px 2px at 88% 22%, rgba(210, 200, 188, 0.4) 88%, transparent 100%),
		radial-gradient(2px 2px at 40% 75%, rgba(232, 197, 71, 0.12) 88%, transparent 100%),
		radial-gradient(2px 2px at 72% 64%, rgba(190, 180, 168, 0.28) 88%, transparent 100%);
}

/* Optional side accents — อ่อนให้เข้ากับกระดาษชา */
.allez-decor {
	position: fixed;
	top: 0;
	bottom: 0;
	width: min(22vw, 200px);
	z-index: 0;
	pointer-events: none;
	opacity: 0.22;
}

.allez-decor--left {
	left: 0;
	background: radial-gradient(ellipse 80% 50% at 0% 70%, rgba(255, 255, 255, 0.35) 0%, transparent 65%);
}

.allez-decor--right {
	right: 0;
	background: radial-gradient(ellipse 70% 45% at 100% 45%, rgba(200, 188, 172, 0.25) 0%, transparent 60%);
}

@media (max-width: 767px) {
	.allez-decor {
		display: none;
	}
}

/* Center column for main content (navbar stays full width) */
.allez-shell {
	position: relative;
	z-index: 1;
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}

/* Allow New Order page to hug left edge (escape centered shell) */
.allez-shell:has(.neworder-page) {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: 15px;
	padding-right: 15px;
}

/* -------------------------------------------------------------------------- */
/* Main + layout z-index                                                      */
/* -------------------------------------------------------------------------- */

.allez-main {
	position: relative;
	z-index: 1;
	padding-bottom: 5.5rem;
}

.allez-theme .container,
.allez-theme .container-fluid {
	position: relative;
	z-index: 2;
}

/* -------------------------------------------------------------------------- */
/* User strip (logged in)                                                     */
/* -------------------------------------------------------------------------- */

.allez-user-strip {
	background: linear-gradient(90deg, var(--allez-brown-deep), var(--allez-brown-mid));
	border-bottom: 2px solid var(--allez-gold-mid);
	box-shadow: 0 4px 16px var(--allez-shadow-deep);
}

.allez-user-strip-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.5rem 15px;
}

.allez-top-quicklinks {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.allez-top-quicklinks a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--allez-gold) !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	border: 1px solid rgba(232, 197, 71, 0.45);
	background: rgba(0, 0, 0, 0.15);
	transition: background 0.2s, color 0.2s;
}

.allez-top-quicklinks a:hover,
.allez-top-quicklinks a:focus {
	background: rgba(232, 197, 71, 0.22);
	color: #fff !important;
}

.allez-user-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--allez-cream);
	font-weight: 600;
	font-size: 14px;
}

.allez-user-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	line-height: 1;
	background: linear-gradient(145deg, var(--allez-gold), var(--allez-gold-mid));
	color: var(--allez-brown-deep);
	border-radius: 50%;
	font-size: 14px;
}

/* -------------------------------------------------------------------------- */
/* Navbar                                                                     */
/* -------------------------------------------------------------------------- */

.allez-navbar {
	background: linear-gradient(180deg, rgba(253, 248, 240, 0.98), rgba(245, 235, 220, 0.94)) !important;
	border: none !important;
	border-bottom: 3px solid var(--allez-gold-mid) !important;
	box-shadow: 0 8px 28px var(--allez-shadow);
	margin-bottom: 0;
	backdrop-filter: none;
}

.allez-navbar .navbar-nav > li > a {
	color: var(--allez-brown) !important;
	font-weight: 600;
	transition: color 0.2s, background 0.2s;
}

.allez-navbar .navbar-nav > .active > a,
.allez-navbar .navbar-nav > .active > a:hover,
.allez-navbar .navbar-nav > .active > a:focus,
.allez-navbar .navbar-nav > li > a:hover,
.allez-navbar .navbar-nav > li > a:focus {
	background: rgba(232, 197, 71, 0.22) !important;
	color: var(--allez-brown-deep) !important;
}

.allez-navbar .navbar-toggle {
	border-color: var(--allez-brown);
	border-radius: var(--allez-radius-sm);
}

.allez-navbar .navbar-toggle .icon-bar {
	background: var(--allez-brown);
}

.allez-brand {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	display: flex !important;
	align-items: center !important;
}

/*
 * แถบนำทางเต็มความกว้างจอ (ไม่ใช่กล่อง container กลางจอ)
 * เว้นซ้ายจากขอบจอ ~10–20px + safe-area
 */
.allez-navbar > .container,
.allez-navbar > .container-fluid {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: calc(env(safe-area-inset-left, 0px) + clamp(10px, 2.2vw, 20px));
	padding-right: max(15px, env(safe-area-inset-right, 0px));
	box-sizing: border-box;
}

.allez-navbar .navbar-header {
	margin-left: 0;
	padding-left: 0;
	float: left;
}

.allez-navbar .navbar-brand.allez-brand {
	float: left;
	margin-left: 0 !important;
	margin-right: 0;
	padding-left: 0 !important;
	padding-right: 12px !important;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	display: flex !important;
	align-items: center !important;
	height: 62px;
}

.allez-rtl .allez-navbar > .container,
.allez-rtl .allez-navbar > .container-fluid {
	padding-right: calc(env(safe-area-inset-right, 0px) + clamp(10px, 2.2vw, 20px));
	padding-left: max(15px, env(safe-area-inset-left, 0px));
}

.allez-rtl .allez-navbar .navbar-header {
	float: right;
	padding-right: 0;
	margin-right: 0;
}

.allez-rtl .allez-navbar .navbar-brand.allez-brand {
	float: right;
	padding-right: 0 !important;
	padding-left: 12px !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.allez-brand img {
	max-height: 40px;
	width: auto;
}

.allez-text-logo {
	display: block;
	font-size: 1.65rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	line-height: 1.05;
	background: linear-gradient(180deg, #f5e6a8, var(--allez-gold-mid) 48%, var(--allez-gold-dark));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	filter: drop-shadow(0 2px 3px rgba(45, 33, 28, 0.28));
}

/* Language pill — guest */
.allez-lang-pill {
	background: linear-gradient(180deg, var(--allez-brown), var(--allez-brown-deep)) !important;
	color: var(--allez-cream) !important;
	border-radius: 999px !important;
	padding: 8px 16px !important;
	margin-top: 8px !important;
	margin-bottom: 8px !important;
	border: 1px solid var(--allez-gold-mid) !important;
}

.allez-lang-pill .caret {
	border-top-color: var(--allez-cream) !important;
}

.allez-lang-globe {
	margin-right: 6px;
	color: var(--allez-gold);
}

.allez-navbar .dropdown-menu {
	border-radius: var(--allez-radius-sm);
	border: 1px solid rgba(74, 50, 40, 0.12);
	box-shadow: 0 12px 32px var(--allez-shadow-deep);
	padding: 6px 0;
}

.allez-navbar .badge {
	background: linear-gradient(180deg, var(--allez-gold), var(--allez-gold-mid));
	color: var(--allez-brown-deep);
	font-weight: 700;
}

.allez-nav-username > a.allez-nav-username__pill {
	display: inline-flex !important;
	align-items: center;
	gap: 0.45rem;
	pointer-events: auto;
	color: var(--allez-brown-deep) !important;
	font-weight: 800;
	opacity: 0.95;
	padding: 12px 14px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(232, 197, 71, 0.32);
	background: rgba(255, 255, 255, 0.55);
	backdrop-filter: none;
	transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
	justify-content: center;
	text-align: center;
	min-width: 170px;
}

.allez-nav-username > a.allez-nav-username__pill:hover,
.allez-nav-username > a.allez-nav-username__pill:focus {
	background: rgba(255, 255, 255, 0.78) !important;
	box-shadow: 0 10px 22px rgba(45, 33, 28, 0.10);
	transform: translateY(-1px);
}

@media (min-width: 768px) {
	.allez-navbar .allez-nav-account {
		display: flex;
		align-items: center;
		gap: 6px;
	}

	.allez-navbar .allez-nav-account > li {
		float: none;
	}

	.allez-navbar .allez-nav-account > li > a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

/* -------------------------------------------------------------------------- */
/* Generic navbar fallback (non-.allez pages — rare)                          */
/* -------------------------------------------------------------------------- */

.allez-theme .navbar:not(.allez-navbar) {
	background: rgba(255, 252, 248, 0.92) !important;
	backdrop-filter: none;
	border: none;
	box-shadow: 0 6px 24px var(--allez-shadow);
}

.allez-theme .navbar-brand img {
	max-height: 44px;
}

/* -------------------------------------------------------------------------- */
/* Panels, wells, cards                                                       */
/* -------------------------------------------------------------------------- */

.allez-theme .panel,
.allez-theme .well,
.allez-theme .card {
	background: rgba(255, 252, 248, 0.92) !important;
	backdrop-filter: none;
	border-radius: var(--allez-radius) !important;
	border: 1px solid rgba(232, 197, 71, 0.22) !important;
	box-shadow: 0 12px 40px var(--allez-shadow);
}

.allez-theme .panel-heading {
	background: linear-gradient(90deg, var(--allez-brown-mid), var(--allez-brown-deep)) !important;
	color: var(--allez-gold) !important;
	border-radius: calc(var(--allez-radius) - 2px) calc(var(--allez-radius) - 2px) 0 0 !important;
	border: none !important;
	font-weight: 700;
}

/* -------------------------------------------------------------------------- */
/* Buttons + forms                                                            */
/* -------------------------------------------------------------------------- */

.allez-theme .btn {
	border-radius: var(--allez-radius-sm) !important;
	transition: transform 0.2s, box-shadow 0.2s;
}

.allez-theme .btn-primary {
	background: linear-gradient(135deg, var(--allez-accent), var(--allez-accent-light)) !important;
	border: none !important;
	color: #fff !important;
	font-weight: 700;
}

.allez-theme .btn-primary:hover,
.allez-theme .btn-primary:focus {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(224, 112, 32, 0.42);
}

.allez-theme .form-control {
	border-radius: var(--allez-radius-sm) !important;
	border: 1px solid var(--allez-border-soft) !important;
	background: rgba(255, 255, 255, 0.94) !important;
}

.allez-theme .form-control:focus {
	border-color: var(--allez-accent) !important;
	box-shadow: 0 0 0 3px rgba(224, 112, 32, 0.22) !important;
}

/* -------------------------------------------------------------------------- */
/* New Order page                                                             */
/* -------------------------------------------------------------------------- */

.allez-theme .neworder-page {
	padding-top: clamp(12px, 2.2vh, 24px);
	padding-bottom: clamp(14px, 2.5vh, 28px);
}

.allez-theme .neworder-page.container {
	margin-left: 0 !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: clamp(10px, 1.2vw, 22px);
	max-width: none !important;
}

.allez-theme .neworder-page .row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.allez-theme .neworder-page [class*="col-"] {
	padding-left: 0 !important;
}

.allez-theme .neworder-page .neworder-card {
	padding: clamp(18px, 3.2vw, 28px);
	border-radius: 22px !important;
}

.allez-theme .neworder-page #order-form .form-group {
	margin-bottom: 0.9rem;
}

.allez-theme .neworder-page #order-form label.control-label,
.allez-theme .neworder-page #order-form .control-label {
	font-weight: 800;
	font-size: 1.24rem;
	color: var(--allez-brown-deep);
	margin-bottom: 0.35rem;
}

.allez-theme .neworder-page #order-form .form-control {
	min-height: 50px;
	font-size: 1.16rem;
	padding-top: 12px !important;
	padding-bottom: 12px !important;
	border-radius: 16px !important;
}

.allez-theme .neworder-page #order-form .search-dropdown .input-wrapper > button {
	color: rgba(45, 33, 28, 0.65);
}

.allez-theme .neworder-page #order-form #service_description .panel-body {
	border: 1px solid rgba(232, 197, 71, 0.25);
	background: rgba(255, 255, 255, 0.75);
	border-radius: 16px;
	padding: 14px 16px;
	line-height: 1.6;
}

.allez-theme .neworder-page #order-form .terms {
	display: flex;
	gap: 0.55rem;
	align-items: flex-start;
	line-height: 1.5;
}

.allez-theme .neworder-page #order-form .terms input[type="checkbox"] {
	margin-top: 0.25rem;
}

.allez-theme .neworder-page #order-form .neworder-submit {
	border-radius: 999px !important;
	font-weight: 900;
	font-size: 1.15rem;
	padding: 14px 22px !important;
}

/* -------------------------------------------------------------------------- */
/* Login / signup blocks                                                      */
/* -------------------------------------------------------------------------- */

.login-page {
	margin-top: 2.5rem;
	margin-bottom: 2rem;
}

.login-card {
	background: rgba(255, 252, 248, 0.88);
	backdrop-filter: none;
	border-radius: 20px;
	padding: 28px 32px;
	box-shadow: 0 24px 56px var(--allez-shadow-deep);
	border: 1px solid rgba(232, 197, 71, 0.28);
	animation: allez-fade-up 0.55s ease;
}

.login-card.small-card {
	padding: 22px;
}

.login-header h2 {
	font-weight: 800;
	color: var(--allez-accent);
	letter-spacing: -0.02em;
}

.login-header p {
	color: var(--allez-text-muted);
	margin-bottom: 1.25rem;
	line-height: 1.5;
}

.modern-input {
	border-radius: var(--allez-radius-sm) !important;
	border: 1px solid var(--allez-border-soft) !important;
	background: rgba(255, 255, 255, 0.95) !important;
	padding: 12px 14px !important;
}

.modern-input:focus {
	border-color: var(--allez-accent) !important;
	box-shadow: 0 0 0 3px rgba(224, 112, 32, 0.2) !important;
}

.btn-main {
	display: inline-block;
	width: 100%;
	text-align: center;
	background: linear-gradient(135deg, var(--allez-accent), var(--allez-accent-light));
	color: #fff !important;
	border: none;
	border-radius: var(--allez-radius-sm);
	font-weight: 800;
	padding: 14px;
	margin-top: 12px;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
	box-shadow: 0 6px 20px rgba(224, 112, 32, 0.35);
}

.btn-main:hover,
.btn-main:focus {
	transform: translateY(-2px);
	box-shadow: 0 12px 32px rgba(224, 112, 32, 0.45);
	color: #fff !important;
}

.forgot-password {
	position: absolute;
	right: 12px;
	top: 38px;
	font-size: 12px;
	color: var(--allez-accent);
	font-weight: 600;
}

.login-footer {
	margin-top: 18px;
	font-size: 14px;
	color: var(--allez-text-muted);
}

.login-footer a {
	color: var(--allez-accent);
	font-weight: 700;
}

/* ลืมรหัส: แถวใต้ช่องพาสเวิร์ด จัดชิดขวา */
.login-forgot-below {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
	margin-top: 0.4rem;
	box-sizing: border-box;
}

.login-forgot-below .forgot-password--below-field {
	position: static;
	right: auto;
	top: auto;
	display: inline-flex;
	align-items: center;
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	line-height: 1.35;
}

/* แพนเนล RTL: ให้ “ขวา” เป็นขวาจอเดิม */
.rtl-form .login-forgot-below,
form[dir="rtl"] .login-forgot-below {
	direction: ltr;
}

/* ท้ายฟอร์มล็อกอิน: ข้อความ + สมัครสมาชิก */
.login-footer--auth {
	margin-top: 1rem;
}

.login-footer--auth .login-footer__signup-line {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: flex-end;
	column-gap: 0.55rem;
	row-gap: 0.25rem;
	text-align: right;
	line-height: 1.5;
	width: 100%;
}

.login-footer--auth .login-footer__lead {
	color: var(--allez-text-muted);
	font-weight: 600;
}

.login-footer--auth .login-footer__signup-link {
	font-weight: 800;
	white-space: nowrap;
	text-decoration: none;
}

.login-footer--auth .login-footer__signup-link:hover,
.login-footer--auth .login-footer__signup-link:focus {
	text-decoration: underline;
}

/* -------------------------------------------------------------------------- */
/* Login form — wide horizontal layout (2 cols + actions)                    */
/* -------------------------------------------------------------------------- */

.allez-guest .login-card {
	display: flex;
	flex-direction: column;
	max-width: min(96vw, 860px);
	width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
	/* ซ้าย–ขวาเท่ากันชัดเจน (ไม่ให้ซ้ำกับ padding ของ .container/.col) */
	padding-block: 18px 22px;
	padding-inline: clamp(22px, 4.5vw, 38px);
	border-radius: 22px;
}

.allez-guest .login-card .login-header {
	text-align: center;
	margin-bottom: 0.75rem;
}

.allez-guest .login-card .login-header h2 {
	margin: 0 0 0.2rem;
	font-size: 1.65rem;
	line-height: 1.2;
}

.allez-guest .login-card .login-header p {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.35;
}

.allez-guest .login-card form {
	display: grid;
	/* 4 คอลัมน์: บน user+pass อย่างละ 2 — ล่าง checkbox 1 + ปุ่ม 3 (ปุ่มยาว ~75%) */
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-template-rows: auto auto;
	column-gap: 1rem;
	row-gap: 0.7rem;
	align-items: stretch;
	width: 100%;
}

.allez-guest .login-card form.allez-signup-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 1.15rem;
	row-gap: 0.95rem;
	align-items: start;
	width: 100%;
	justify-items: stretch;
}

.allez-guest .login-card form.allez-signup-form > .form-group,
.allez-guest .login-card form.allez-signup-form > .mb-3 {
	margin-bottom: 0;
}

/* Override login-form nth-child grid placement */
.allez-guest .login-card form.allez-signup-form > .form-group {
	grid-column: auto !important;
	grid-row: auto !important;
	width: 100%;
	min-width: 0;
	justify-self: stretch;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
}

.allez-guest .login-card form.allez-signup-form > .form-group:nth-child(1),
.allez-guest .login-card form.allez-signup-form > .form-group:nth-child(2),
.allez-guest .login-card form.allez-signup-form > .form-group:nth-child(3),
.allez-guest .login-card form.allez-signup-form > .form-group:nth-child(4) {
	align-self: stretch !important;
}

.allez-guest .login-card form.allez-signup-form > .form-group .form-control,
.allez-guest .login-card form.allez-signup-form > .form-group .modern-input {
	width: 100% !important;
	max-width: none !important;
	display: block;
}

/* Keep inputs aligned even if a label wraps (e.g. ยืนยันรหัสผ่าน) */
.allez-guest .login-card form.allez-signup-form > .form-group > label {
	width: 100% !important;
	float: none !important;
	display: block !important;
	margin: 0 0 0.35rem !important;
	min-height: 0;
	line-height: 1.15;
	text-align: left;
}

/* Full-width rows inside signup */
.allez-guest .login-card form.allez-signup-form > .mb-3,
.allez-guest .login-card form.allez-signup-form > .login-actions,
.allez-guest .login-card form.allez-signup-form > .login-footer {
	grid-column: 1 / -1;
}

.allez-guest .login-card form.allez-signup-form > .form-group:has(.checkbox-inline) {
	grid-column: 1 / -1;
}

.allez-guest .login-card form.allez-signup-form > .login-actions {
	display: flex;
	justify-content: center;
}

.allez-guest .login-card form.allez-signup-form > .login-actions .btn-main,
.allez-guest .login-card form.allez-signup-form > .login-actions button[type="submit"] {
	width: min(100%, 26rem) !important;
}

@media (max-width: 767px) {
	.allez-guest .login-card form.allez-signup-form {
		grid-template-columns: 1fr;
	}
}

.allez-guest .login-card form > .form-group {
	margin-bottom: 0;
	position: relative;
}

/* แถว 1: ชื่อผู้ใช้ | รหัสผ่าน */
.allez-guest .login-card form > .form-group:nth-child(1) {
	grid-column: 1 / 3;
	grid-row: 1;
}

.allez-guest .login-card form > .form-group:nth-child(2) {
	grid-column: 3 / 5;
	grid-row: 1;
}

/* แถว 2: จำฉัน (1 คอล) | ปุ่ม (3 คอล) */
.allez-guest .login-card form > .form-group:nth-child(3) {
	grid-column: 1 / 2;
	grid-row: 2;
	align-self: center;
}

.allez-guest .login-card form > .form-group:nth-child(4) {
	grid-column: 2 / 5;
	grid-row: 2;
}

/* กรณีแพนเนลรวมจำฉัน + ปุ่มใน form-group เดียว (กลุ่มสุดท้าย) */
.allez-guest .login-card form > .form-group:nth-child(3):last-child {
	grid-column: 1 / -1;
	grid-row: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem 1rem;
}

.allez-guest .login-card form > .form-group:nth-child(3):last-child .checkbox {
	flex: 0 0 auto;
}

.allez-guest .login-card form > .form-group:nth-child(3):last-child .btn,
.allez-guest .login-card form > .form-group:nth-child(3):last-child .btn-primary,
.allez-guest .login-card form > .form-group:nth-child(3):last-child .btn-main,
.allez-guest .login-card form > .form-group:nth-child(3):last-child button[type="submit"] {
	flex: 1 1 65%;
	max-width: min(100%, 580px);
	min-width: 220px;
	margin-left: auto;
}

/* กรณีปุ่มอยู่นอก form-group (child โดยตรง) */
.allez-guest .login-card form > button[type="submit"]:not(.allez-login-skip-grid),
.allez-guest .login-card form > .btn-main:not(.allez-login-skip-grid),
.allez-guest .login-card form > input[type="submit"]:not(.allez-login-skip-grid) {
	grid-column: 2 / 5;
	grid-row: 2;
	align-self: stretch;
	width: 100% !important;
	margin: 0 !important;
}

.allez-guest .login-card form .input-group {
	width: 100%;
}

.allez-guest .login-card form .form-control,
.allez-guest .login-card form .modern-input {
	border-radius: 16px !important;
	min-height: 42px;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}

.allez-guest .login-card form label {
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 0.28rem;
}

.allez-guest .login-card form .login-forgot-below {
	margin-top: 0.35rem;
}

.allez-guest .login-card form input[type="hidden"] {
	display: none;
}

.allez-guest .login-card form .login-actions {
	display: flex;
	justify-content: center;
	grid-column: 1 / -1;
	justify-self: center;
}

.allez-guest .login-card form .login-actions button[type="submit"],
.allez-guest .login-card form .login-actions .btn-main,
.allez-guest .login-card form .login-actions .btn-primary {
	width: min(100%, 26rem) !important;
}

.allez-guest .login-card form .input-group-addon:first-child {
	border-radius: 14px 0 0 14px !important;
}

.allez-guest .login-card form .input-group .form-control:last-child,
.allez-guest .login-card form .input-group-addon + .form-control {
	border-radius: 0 14px 14px 0 !important;
}

.allez-guest .login-card form .checkbox,
.allez-guest .login-card form .checkbox label {
	margin: 0;
	font-weight: 600;
	font-size: 13px;
	color: var(--allez-text, #2d211c);
}

.allez-guest .login-card form button[type="submit"],
.allez-guest .login-card form .btn-primary,
.allez-guest .login-card form .btn-main {
	width: 100%;
	border-radius: 999px !important;
	padding: 13px 28px !important;
	font-weight: 800 !important;
	font-size: 1.125rem !important;
	background: linear-gradient(135deg, #e07020, #c45d18 45%, #ff9a4a) !important;
	border: none !important;
	color: #fff !important;
	box-shadow: 0 8px 24px rgba(224, 112, 32, 0.45);
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 0 !important;
}

.allez-guest .login-card form button[type="submit"]:not(.allez-login-btn--plain)::before,
.allez-guest .login-card form .btn-primary:not(.allez-login-btn--plain)::before,
.allez-guest .login-card form .btn-main:not(.allez-login-btn--plain)::before {
	content: "";
	width: 1.4em;
	height: 1.4em;
	flex-shrink: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M4 12a8 8 0 0113.5-5M20 12a8 8 0 01-13.5 5M4 12h6m4 0h6'/%3E%3C/svg%3E")
		center / contain no-repeat;
	opacity: 1;
}

.allez-guest .login-card form button[type="submit"]:hover,
.allez-guest .login-card form .btn-primary:hover,
.allez-guest .login-card form .btn-main:hover {
	filter: brightness(1.05);
	box-shadow: 0 10px 28px rgba(224, 112, 32, 0.5) !important;
	transform: translateY(-1px);
	color: #fff !important;
}

/* แลนดิ้ง: การ์ดล็อกอินใหญ่ — ปุ่มจัดซ้ายในคอลัมน์ (ชิดแนวเดียวกับโลโก้) */
.allez-guest .allez-guest-stack--wire .login-card {
	padding-block: 2.35rem 2.25rem;
	padding-inline: clamp(32px, 5.5vw, 58px);
	border-radius: 26px;
	box-shadow:
		0 8px 32px rgba(45, 33, 28, 0.08),
		0 24px 56px var(--allez-shadow-deep),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.allez-guest .allez-guest-stack--wire .login-card form > .form-group:nth-child(4) {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.allez-guest .allez-guest-stack--wire .login-card form > .form-group:nth-child(4) .btn-main,
.allez-guest .allez-guest-stack--wire .login-card form > .form-group:nth-child(4) button[type="submit"],
.allez-guest .allez-guest-stack--wire .login-card form > .form-group:nth-child(4) .btn-primary {
	max-width: 26rem;
	width: 100% !important;
	padding: 16px 34px !important;
	font-size: 1.28rem !important;
}

.allez-guest .allez-guest-stack--wire .login-card form > button[type="submit"]:not(.allez-login-skip-grid),
.allez-guest .allez-guest-stack--wire .login-card form > .btn-main:not(.allez-login-skip-grid),
.allez-guest .allez-guest-stack--wire .login-card form > input[type="submit"]:not(.allez-login-skip-grid) {
	grid-column: 1 / -1;
	justify-self: start;
	max-width: 26rem;
	width: min(100%, 26rem) !important;
	padding: 16px 34px !important;
	font-size: 1.28rem !important;
}

.allez-guest .allez-guest-stack--wire .login-card form > .form-group:nth-child(3):last-child {
	justify-content: flex-start;
	gap: 1rem;
}

.allez-guest .allez-guest-stack--wire .login-card form > .form-group:nth-child(3):last-child .btn,
.allez-guest .allez-guest-stack--wire .login-card form > .form-group:nth-child(3):last-child .btn-main,
.allez-guest .allez-guest-stack--wire .login-card form > .form-group:nth-child(3):last-child button[type="submit"] {
	flex: 0 1 auto;
	max-width: 21rem;
	min-width: 0;
	margin-left: 0;
}

/* ลิงก์ footer: สมัครสมาชิก (login-footer--auth จัดใน .login-footer__signup-line) */
.allez-guest .login-card .login-footer {
	margin-top: 0.85rem;
	width: 100%;
	font-size: 16px;
	grid-column: 1 / -1;
	justify-self: stretch;
}

.allez-guest .login-card .login-footer--auth {
	margin-top: 1.05rem;
	padding-top: 0.45rem;
	border-top: 1px solid rgba(232, 197, 71, 0.28);
	text-align: right;
}

.allez-guest .login-card .login-footer--auth .login-footer__lead {
	font-size: 1.22rem;
	font-weight: 600;
	line-height: 1.45;
}

.allez-guest .login-card .login-footer--auth .login-footer__signup-link {
	font-size: 1.3rem;
	font-weight: 800;
	line-height: 1.35;
}

.allez-guest .login-card .login-footer a:not(:last-child)::after {
	content: "|";
	margin-left: 0.55rem;
	color: rgba(45, 33, 28, 0.32);
	font-weight: 500;
	pointer-events: none;
}

.allez-guest .login-card .forgot-password {
	position: static;
	margin: 0;
}

.allez-guest .login-card .login-forgot-below .forgot-password--below-field {
	font-size: 1.12rem;
	font-weight: 700;
	line-height: 1.35;
}

.google-box {
	margin-top: 16px;
}

.alert-modern,
.allez-theme .alert {
	border-radius: var(--allez-radius-sm);
	border: none;
	box-shadow: 0 6px 20px var(--allez-shadow);
}

/* -------------------------------------------------------------------------- */
/* Trust bar + notifications                                                  */
/* -------------------------------------------------------------------------- */

.allez-trust-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 900;
	padding: 0.7rem 1.15rem calc(0.7rem + env(safe-area-inset-bottom, 0px));
	background: linear-gradient(0deg, rgba(22, 28, 48, 0.97), rgba(32, 40, 68, 0.9));
	box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.28);
	border-top: 1px solid rgba(232, 197, 71, 0.18);
}

.allez-trust-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.55rem 1.35rem;
}

.allez-trust-item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: #f0f4fc;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	white-space: nowrap;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.allez-trust-ico {
	width: 1.35em;
	height: 1.35em;
	display: inline-block;
	border-radius: 5px;
	background: rgba(232, 197, 71, 0.28);
	position: relative;
	flex-shrink: 0;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.allez-trust-ico--shield::after {
	content: "";
	position: absolute;
	inset: 3px;
	border: 2px solid #5cdb95;
	border-radius: 3px 3px 0 0;
	border-bottom: none;
}

.allez-trust-ico--clock::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 9px;
	height: 9px;
	margin: -4.5px 0 0 -4.5px;
	border: 2px solid #7ec8e3;
	border-radius: 50%;
	box-sizing: border-box;
}

.allez-trust-ico--bank::after {
	content: "";
	position: absolute;
	inset: 4px 3px;
	background: linear-gradient(180deg, var(--allez-gold-mid), var(--allez-gold-dark));
	border-radius: 2px;
	opacity: 0.85;
}

.allez-trust-ico--support::after {
	content: "";
	position: absolute;
	inset: 4px 3px 3px;
	border: 2px solid #c4b5fd;
	border-radius: 6px 6px 4px 4px;
}

.allez-notify {
	position: fixed;
	z-index: 950;
	left: 1rem;
	right: 1rem;
	bottom: 4.75rem;
	max-width: 460px;
	margin: 0 auto;
	border-radius: var(--allez-radius-sm);
	box-shadow: 0 10px 36px var(--allez-shadow-deep);
}

/* -------------------------------------------------------------------------- */
/* Utilities for child templates                                              */
/* -------------------------------------------------------------------------- */

.allez-card-surface {
	background: var(--allez-card);
	border-radius: var(--allez-radius);
	box-shadow: 0 10px 36px var(--allez-shadow);
	border: 1px solid rgba(232, 197, 71, 0.25);
}

.allez-section-title {
	background: linear-gradient(90deg, var(--allez-brown-mid), var(--allez-brown-deep));
	color: var(--allez-gold);
	border-radius: var(--allez-radius) var(--allez-radius) 0 0;
	padding: 0.75rem 1.25rem;
	font-weight: 800;
	border-bottom: 3px solid var(--allez-gold-mid);
}

/* Wooden / banner section header — use on homepage sections inside {{ content }} */
.allez-banner-wood {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	margin: 1.75rem 0 1rem;
	padding: 1rem 1.5rem;
	border-radius: var(--allez-radius);
	background:
		linear-gradient(180deg, rgba(255, 220, 140, 0.42) 0%, transparent 48%),
		linear-gradient(90deg, #5c4033 0%, #3d2a22 50%, #5c4033 100%);
	border: 3px solid var(--allez-gold-mid);
	box-shadow:
		inset 0 2px 0 rgba(255, 255, 255, 0.14),
		0 8px 28px var(--allez-shadow-deep);
	color: #f5e6a8;
	font-weight: 800;
	font-size: 1.22rem;
	line-height: 1.35;
	text-align: center;
	text-shadow:
		0 1px 0 rgba(0, 0, 0, 0.45),
		0 2px 6px rgba(0, 0, 0, 0.35);
}

.allez-banner-wood::before,
.allez-banner-wood::after {
	content: "✦";
	color: var(--allez-gold);
	opacity: 0.95;
	font-size: 1.05rem;
}

/* หัวข้อบล็อกเงื่อนไข — อ่านชัดบนพื้นสว่าง */
.allez-banner-wood--conditions-title {
	font-size: clamp(1.15rem, 2.8vw, 1.38rem);
	letter-spacing: 0.04em;
	line-height: 1.4;
	color: #fff0c8;
	text-shadow:
		0 1px 0 rgba(0, 0, 0, 0.55),
		0 2px 8px rgba(0, 0, 0, 0.45),
		0 0 1px rgba(0, 0, 0, 0.6);
}

/* Glass surface — wrap hero / stats in HTML with this class */
.allez-glass {
	background: rgba(255, 255, 255, 0.82);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-radius: var(--allez-radius);
	border: 1px solid rgba(255, 255, 255, 0.5);
	box-shadow: 0 12px 40px var(--allez-shadow-deep);
}

/* Stats row (4 cards) — put .allez-stats-grid on a wrapper with four children */
.allez-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	margin: 1rem 0 1.5rem;
}

@media (max-width: 991px) {
	.allez-stats-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 479px) {
	.allez-stats-grid {
		grid-template-columns: 1fr;
	}
}

.allez-stats-grid > * {
	background: rgba(255, 255, 255, 0.92);
	border-radius: var(--allez-radius);
	padding: 1rem 1.1rem;
	box-shadow: 0 8px 24px var(--allez-shadow);
	border: 1px solid rgba(232, 197, 71, 0.25);
}

/* แถบชื่อแพลตฟอร์มเลื่อนแนวนอน (guest — layout.twig) */
.allez-platform-marquee {
	position: relative;
	z-index: 1;
	width: 100%;
	overflow: hidden;
	background:
		radial-gradient(ellipse 80% 120% at 50% 50%, rgba(40, 32, 28, 0.95) 0%, #0f0c0b 100%),
		radial-gradient(1px 1px at 20% 30%, rgba(255, 255, 255, 0.12) 50%, transparent 52%),
		radial-gradient(1px 1px at 80% 70%, rgba(255, 255, 255, 0.08) 50%, transparent 52%);
	background-color: #12100e;
	border-top: 1px solid rgba(232, 197, 71, 0.28);
	border-bottom: 1px solid rgba(0, 0, 0, 0.4);
	padding: 0.95rem 0;
	box-sizing: border-box;
}

.allez-platform-marquee__mask {
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.allez-platform-marquee__track {
	display: flex;
	width: max-content;
	animation: allez-marquee-x 42s linear infinite;
	will-change: transform;
}

.allez-platform-marquee__group {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	gap: 0;
	padding-right: 2.5rem;
	white-space: nowrap;
}

.allez-platform-marquee__item {
	font-size: 1.08rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: none;
	color: rgba(245, 238, 228, 0.96);
	text-shadow:
		0 1px 0 rgba(0, 0, 0, 0.5),
		0 2px 8px rgba(0, 0, 0, 0.35);
	padding: 0 0.95rem;
}

.allez-platform-marquee__dot {
	display: inline-block;
	width: 5px;
	height: 5px;
	margin: 0 0.2rem;
	border-radius: 50%;
	background: rgba(232, 197, 71, 0.55);
	box-shadow: 0 0 6px rgba(232, 197, 71, 0.35);
	vertical-align: middle;
	flex-shrink: 0;
}

@keyframes allez-marquee-x {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.allez-platform-marquee__track {
		animation: none;
		justify-content: center;
		flex-wrap: wrap;
		width: 100%;
		max-width: 100%;
	}

	.allez-platform-marquee__group[aria-hidden="true"] {
		display: none;
	}
}

/* Site footer */
.allez-site-footer {
	position: relative;
	z-index: 1;
	background: linear-gradient(180deg, var(--allez-brown-deep), #1a1410);
	color: rgba(253, 248, 240, 0.75);
	padding: 1rem 0 1rem;
	margin-top: 0;
}

.allez-footer-copy {
	margin: 0;
	font-size: 12px;
	text-align: center;
	letter-spacing: 0.02em;
}

.allez-guest .allez-footer-copy {
	font-size: 13px;
	color: rgba(253, 248, 240, 0.88);
	font-weight: 500;
}

/* -------------------------------------------------------------------------- */
/* Guest — landing (โทนชา + การ์ดอ่านง่าย)                                      */
/* -------------------------------------------------------------------------- */

.allez-guest.allez-theme {
	--allez-text: #1a120e;
	--allez-text-muted: #3d2e24;
	--allez-border-soft: #ffd9c2;
	--allez-font: "Prompt", "Kanit", "Sarabun", "Segoe UI", system-ui, sans-serif;
	/* guest: กระดาษชาอุ่นขึ้นนิด ก้นแผ่นเข้มกว่า root เล็กน้อย */
	--allez-bg-stack:
		radial-gradient(ellipse 100% 60% at 50% -8%, rgba(255, 252, 248, 0.85) 0%, transparent 52%),
		radial-gradient(ellipse 48% 36% at 96% 96%, rgba(188, 172, 152, 0.22) 0%, transparent 50%),
		linear-gradient(
			168deg,
			#f4efe6 0%,
			#ebe4d8 35%,
			#dfd5c6 70%,
			#d0c4b2 100%
		);
}

body.allez-guest.allez-theme {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-size: 17px;
	line-height: 1.75;
}

.allez-guest .allez-bg {
	background-color: #e6e0d6;
}

.allez-guest .allez-bg-glow {
	opacity: 0.55;
	background: radial-gradient(
		ellipse 56% 46% at 50% 26%,
		rgba(255, 255, 255, 0.5) 0%,
		rgba(236, 230, 218, 0.2) 44%,
		transparent 68%
	);
}

.allez-guest .allez-particles {
	opacity: 0.22;
	background-image:
		radial-gradient(2px 2px at 14% 20%, rgba(255, 255, 255, 0.5) 88%, transparent 100%),
		radial-gradient(2px 2px at 86% 24%, rgba(200, 192, 180, 0.35) 88%, transparent 100%),
		radial-gradient(2px 2px at 42% 78%, rgba(232, 197, 71, 0.1) 88%, transparent 100%),
		radial-gradient(2px 2px at 74% 62%, rgba(185, 175, 162, 0.28) 88%, transparent 100%);
}

.allez-guest .allez-decor--left {
	background: radial-gradient(ellipse 85% 52% at 0% 68%, rgba(255, 255, 255, 0.28) 0%, transparent 62%);
}

.allez-guest .allez-decor--right {
	background: radial-gradient(ellipse 75% 48% at 100% 42%, rgba(195, 185, 170, 0.22) 0%, transparent 58%);
}

.allez-guest .allez-main {
	padding-top: 5rem;
	padding-bottom: 2.5rem;
}

.allez-guest .allez-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1030;
}

.allez-guest .allez-navbar {
	min-height: 62px;
	background: rgba(253, 248, 240, 0.94) !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom: 3px solid var(--allez-gold-mid) !important;
	box-shadow: 0 6px 20px rgba(45, 33, 28, 0.12);
	box-shadow: 0 6px 24px var(--allez-shadow);
}

.allez-guest .allez-text-logo {
	background: linear-gradient(180deg, #f5e6a8, var(--allez-gold-mid) 48%, var(--allez-gold-dark));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	filter: drop-shadow(0 2px 3px rgba(45, 33, 28, 0.25));
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.allez-guest .allez-brand img {
	max-height: 40px;
}

.allez-guest .allez-navbar .navbar-nav > li > a {
	color: var(--allez-brown) !important;
	font-weight: 700;
	font-size: 1.2rem;
	padding-top: 0;
	padding-bottom: 0;
	line-height: 62px;
	height: 62px;
	display: flex;
	align-items: center;
}

/* เมนูภาษา: ไม่ให้ตัวใหญ่ตามลิงก์หลัก */
.allez-guest .allez-navbar .allez-lang-nav > li > a.allez-lang-pill {
	font-size: 0.98rem !important;
}

.allez-guest .allez-navbar .navbar-nav > .active > a,
.allez-guest .allez-navbar .navbar-nav > .active > a:hover,
.allez-guest .allez-navbar .navbar-nav > .active > a:focus {
	background: rgba(232, 197, 71, 0.28) !important;
	color: var(--allez-brown-deep) !important;
	border-radius: 10px;
}

.allez-guest .allez-navbar .navbar-nav > li > a:hover,
.allez-guest .allez-navbar .navbar-nav > li > a:focus {
	background: rgba(232, 197, 71, 0.15) !important;
	color: var(--allez-brown-deep) !important;
}

.allez-guest .allez-lang-pill {
	background: linear-gradient(180deg, var(--allez-brown), var(--allez-brown-deep)) !important;
	color: var(--allez-cream) !important;
	border: 1px solid var(--allez-gold-mid) !important;
}

.allez-guest .allez-lang-globe {
	color: var(--allez-gold);
}

/* Guest: เนื้อหา + แพลตฟอร์มอยู่ใน stack เดียว (layout.twig) */
.allez-guest .allez-guest-stack {
	width: 100%;
}

/* Landing wireframe: แถบซ้าย + คอลัมน์หลัก — ซ้ายเท่าแถบโลโก้ (เดียวกับ .allez-navbar > .container) */
.allez-guest .allez-shell:has(.allez-landing-layout) {
	max-width: min(1460px, 100%);
	padding-left: calc(env(safe-area-inset-left, 0px) + clamp(10px, 2.2vw, 20px));
	padding-right: clamp(16px, 2.5vw, 28px);
}

.allez-landing-layout {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.65rem;
	width: 100%;
}

.allez-landing-columns {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 1.25rem 0;
	width: 100%;
}

.allez-landing-sidebar {
	width: 100%;
	max-width: 100%;
	margin-top: 1.5rem;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border: 1px solid rgba(232, 197, 71, 0.48);
	border-radius: var(--allez-radius);
	box-shadow:
		0 14px 40px var(--allez-shadow-deep),
		inset 0 1px 0 rgba(255, 255, 255, 0.65);
	padding: 1.75rem 1.4rem 1.8rem;
	box-sizing: border-box;
}

/* Desktop: sidebar grid 4 คอลัมน์แนวนอน */
@media (min-width: 768px) {
	.allez-landing-sidebar .allez-sidebar-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.allez-sidebar-heading {
	margin: 0 0 1.1rem;
	font-size: 1.48rem;
	font-weight: 800;
	color: var(--allez-brown-deep);
	text-align: center;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.allez-sidebar-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem;
}

.allez-sidebar-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 124px;
	padding: 0.95rem 0.7rem;
	text-align: center;
	text-decoration: none !important;
	font-size: 1.02rem;
	font-weight: 800;
	color: var(--allez-brown-deep) !important;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(253, 248, 240, 0.92));
	border: 2px solid rgba(232, 197, 71, 0.5);
	border-radius: var(--allez-radius-sm);
	box-shadow: 0 6px 18px var(--allez-shadow);
	transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}

.allez-sidebar-tile:hover,
.allez-sidebar-tile:focus {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px var(--allez-shadow-deep);
	border-color: var(--allez-gold-mid);
	color: var(--allez-brown) !important;
}

.allez-sidebar-tile__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	font-size: 1.6rem;
	font-weight: 900;
	border-radius: 12px;
	background: rgba(232, 197, 71, 0.26);
	color: var(--allez-brown-deep);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.allez-sidebar-tile--fb .allez-sidebar-tile__icon {
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
}

.allez-sidebar-tile--ig .allez-sidebar-tile__icon {
	font-size: 1.02rem;
	letter-spacing: -0.02em;
}

.allez-sidebar-tile--tt .allez-sidebar-tile__icon {
	font-size: 1.5rem;
	line-height: 1;
}

.allez-sidebar-tile--yt .allez-sidebar-tile__icon {
	font-size: 0.95rem;
	letter-spacing: 0.05em;
}

.allez-sidebar-tile span:last-child {
	font-size: 0.96rem;
	font-weight: 600;
	color: var(--allez-text-muted);
	line-height: 1.35;
}

.allez-landing-main {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1.35rem;
	align-items: stretch;
	align-content: flex-start;
	padding-top: clamp(0.35rem, 1.5vh, 1rem);
}

.allez-landing-wave {
	height: 22px;
	margin: 0.55rem 0;
	opacity: 0.92;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 14' fill='none'%3E%3Cpath stroke='%23e8c547' stroke-opacity='0.55' stroke-width='1.75' d='M0 7 Q15 2 30 7 T60 7 T90 7 T120 7'/%3E%3Cpath stroke='%23c9a227' stroke-opacity='0.4' stroke-width='1.25' d='M0 10 Q15 5 30 10 T60 10 T90 10 T120 10'/%3E%3C/svg%3E")
		repeat-x center / 120px 14px;
	pointer-events: none;
}

.allez-landing-block {
	margin: 0.35rem 0 0;
	padding: 0 0.15rem;
}

.allez-landing-block__title {
	margin-top: 0.85rem;
	margin-bottom: 0.35rem;
	font-size: 1.45rem;
}

.allez-landing-lead {
	text-align: center;
	font-size: 1.28rem;
	font-weight: 700;
	color: var(--allez-brown-deep);
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
	margin: 0 0 1.35rem;
	line-height: 1.65;
	letter-spacing: 0.02em;
}

.allez-landing-lead__brand {
	display: inline;
	font-weight: 900;
	color: var(--allez-brown-deep);
	letter-spacing: 0.03em;
	border-bottom: 2px solid rgba(201, 162, 39, 0.55);
	padding-bottom: 0.05em;
}

.allez-landing-mini-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.allez-mini-tile {
	padding: 1.35rem 1.15rem;
	background: rgba(255, 255, 255, 0.88);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border: 1px solid rgba(232, 197, 71, 0.4);
	border-radius: var(--allez-radius-sm);
	box-shadow:
		0 6px 20px var(--allez-shadow),
		inset 0 1px 0 rgba(255, 255, 255, 0.5);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	text-align: center;
}

.allez-mini-tile__h {
	font-size: 1.22rem;
	font-weight: 800;
	color: var(--allez-brown-deep);
	letter-spacing: 0.01em;
}

.allez-mini-tile__p {
	font-size: 1.05rem;
	color: var(--allez-text-muted);
	line-height: 1.5;
	font-weight: 600;
}

.allez-landing-conditions {
	margin: 1.35rem 0 0;
	padding: 0 0.15rem 0.5rem;
}

.allez-landing-conditions .allez-banner-wood {
	margin-top: 0.85rem;
	margin-bottom: 0.65rem;
}

.allez-landing-conditions .allez-banner-wood--conditions-title {
	margin-bottom: 0.85rem;
}

.allez-condition-list {
	margin: 0 auto;
	max-width: 48rem;
	padding: 2rem 2rem 2rem 3rem;
	list-style-position: outside;
	color: #1a1410;
	font-weight: 700;
	line-height: 1.8;
	font-size: 1.28rem;
	letter-spacing: 0.02em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border: 1px solid rgba(74, 58, 48, 0.22);
	border-radius: var(--allez-radius-sm);
	box-shadow:
		0 10px 32px rgba(45, 33, 28, 0.1),
		0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

.allez-condition-list li {
	margin-bottom: 0.55rem;
	padding-left: 0.5rem;
}

.allez-condition-list li::marker {
	font-weight: 900;
	color: #5c4033;
	font-variant-numeric: tabular-nums;
}

.allez-condition-list li:last-child {
	margin-bottom: 0;
}

.allez-guest-stack--wire {
	width: 100%;
}

@media (min-width: 768px) and (max-width: 991px) {
	.allez-landing-columns {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
		column-gap: 3rem;
	}

	.allez-landing-mini-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.allez-landing-columns {
		display: flex !important;
		flex-direction: column !important;
		gap: 1.25rem !important;
		width: 100% !important;
		overflow-x: hidden !important;
	}

	.allez-landing-main {
		order: 1;
		width: 100% !important;
		min-width: 0 !important;
		overflow-x: hidden !important;
		box-sizing: border-box !important;
	}

	.allez-landing-sidebar {
		order: 2;
		position: static !important;
		max-width: none !important;
		width: 100% !important;
		margin-top: 0 !important;
		box-sizing: border-box !important;
	}

	.allez-sidebar-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.allez-landing-mini-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.allez-guest table,
	.allez-guest .table-responsive {
		display: block;
		width: 100% !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}
}

@media (max-width: 479px) {
	.allez-sidebar-grid {
		grid-template-columns: 1fr 1fr;
	}

	.allez-landing-mini-grid {
		grid-template-columns: 1fr;
	}
}

/* หน้า login — จัดกลุ่มฟอร์ม + แพลตฟอร์มเป็นบล็อกเดียวกลางจอ */
.allez-guest .allez-main:has(.login-card),
.allez-guest .allez-main:has(.login-page) {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 4.5rem 0.75rem 6.5rem;
	box-sizing: border-box;
}

/* มีเลย์เอาต์แลนดิ้งแล้ว — ไม่จัดกึ่งกลางทั้งจอ ให้โฟลว์ตาม wireframe */
.allez-guest .allez-main:has(.allez-landing-layout) {
	display: block;
	min-height: 0;
	/* เว้นหัวให้พ้น navbar + ลดความชิดขอบบนของฟอร์มล็อกอิน */
	padding: calc(6.85rem + env(safe-area-inset-top, 0px)) 0 clamp(2.75rem, 5vh, 3.5rem);
}

.allez-guest .allez-main:has(.login-card) .allez-guest-stack,
.allez-guest .allez-main:has(.login-page) .allez-guest-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: min(96vw, 940px);
	margin: 0 auto;
	gap: 1.5rem;
	flex: 0 0 auto;
}

/* แลนดิ้ง: คอลัมน์หลักเต็มความกว้าง — อย่าจัดกลาง (กัน row/column ของ Bootstrap ล้น) */
.allez-guest .allez-main:has(.allez-landing-layout) .allez-guest-stack {
	max-width: none;
	width: 100%;
	align-items: stretch !important;
	align-self: stretch;
}

/* Bootstrap: col-md-4 / col-* ทำให้กรอบ login แคบและยาว — บังคับเต็มความกว้างในแถว */
.allez-guest .allez-main:has(.login-card) .allez-guest-stack .container,
.allez-guest .allez-main:has(.login-page) .allez-guest-stack .container {
	width: 100% !important;
	max-width: min(96vw, 860px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	/* ไม่ให้ padding ของ container ซ้อนกับขอบการ์ดจนเนื้อหาเบี้ยว */
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.allez-guest .allez-main:has(.login-card) .allez-guest-stack .row,
.allez-guest .allez-main:has(.login-page) .allez-guest-stack .row {
	margin-left: 0 !important;
	margin-right: 0 !important;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.allez-guest .allez-main:has(.login-card) .allez-guest-stack [class*="col-"],
.allez-guest .allez-main:has(.login-page) .allez-guest-stack [class*="col-"] {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	float: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.allez-guest .allez-main:has(.login-card) .login-page,
.allez-guest .allez-main:has(.login-page) .login-page {
	margin-top: 0;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: min(96vw, 860px);
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box;
}

.allez-guest .allez-main:has(.login-card) .login-card,
.allez-guest .allez-main:has(.login-page) .login-card {
	width: 100%;
	max-width: min(96vw, 860px);
	min-width: 0;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* หน้าแรกแลนดิ้ง: ชิดซ้ายแนวโลโก้ + กว้างไม่เกินคอลัมน์หลัก (ไม่ล้นไปทับกล่องบริการ) */
.allez-guest .allez-main:has(.allez-landing-layout) .login-page,
.allez-guest .allez-main:has(.allez-landing-layout) .login-card {
	max-width: 100%;
	width: 100%;
	margin-left: 0 !important;
	margin-right: auto !important;
}

.allez-guest .allez-main:has(.allez-landing-layout) .login-page {
	margin-top: clamp(0.75rem, 2.5vh, 1.75rem);
	margin-bottom: clamp(1.25rem, 3vh, 2rem);
}

.allez-guest .allez-main:has(.allez-landing-layout) .allez-guest-stack .container,
.allez-guest .allez-main:has(.allez-landing-layout) .allez-guest-stack .container-fluid {
	max-width: 100% !important;
	width: 100%;
	margin-left: 0 !important;
	margin-right: auto !important;
}

/* Bootstrap: row margin ลบ + col-md-offset-* ดันฟอร์มล้น — ยกเฉพาะหน้าแลนดิ้ง */
.allez-guest .allez-main:has(.allez-landing-layout) .allez-guest-stack .row {
	margin-left: 0 !important;
	margin-right: 0 !important;
	justify-content: flex-start !important;
}

.allez-guest .allez-main:has(.allez-landing-layout) .allez-guest-stack [class*="col-"] {
	margin-left: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	float: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.allez-guest .allez-main:has(.allez-landing-layout) .allez-guest-stack--wire {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding-bottom: clamp(0.25rem, 1vh, 0.75rem);
}

.allez-guest .allez-main:has(.allez-landing-layout) .login-card .login-header {
	margin-bottom: 1.1rem;
	padding-top: 0.15rem;
	text-align: center;
}

.allez-guest .allez-main:has(.allez-landing-layout) .login-card .login-header h2 {
	font-size: 2.28rem;
	line-height: 1.2;
}

.allez-guest .allez-main:has(.allez-landing-layout) .login-card .login-header p {
	font-size: 1.15rem;
	line-height: 1.45;
}

.allez-guest .allez-main:has(.allez-landing-layout) .login-card form {
	column-gap: 1.15rem;
	row-gap: 0.85rem;
}

.allez-guest .allez-main:has(.allez-landing-layout) .login-card form .form-control,
.allez-guest .allez-main:has(.allez-landing-layout) .login-card form .modern-input {
	min-height: 56px;
	padding-top: 14px !important;
	padding-bottom: 14px !important;
	font-size: 1.22rem !important;
	border-radius: 18px !important;
}

.allez-guest .allez-main:has(.allez-landing-layout) .login-card form label {
	font-size: 1.2rem;
	font-weight: 800;
	padding-left: 0.45rem;
}

.allez-guest .allez-main:has(.allez-landing-layout) .login-card form button[type="submit"],
.allez-guest .allez-main:has(.allez-landing-layout) .login-card form .btn-primary,
.allez-guest .allez-main:has(.allez-landing-layout) .login-card form .btn-main {
	font-size: 1.28rem !important;
	padding: 16px 34px !important;
}

.allez-guest .login-card {
	background: rgba(255, 255, 255, 0.88);
	backdrop-filter: none;
	border: 1px solid rgba(232, 197, 71, 0.35);
	box-shadow: 0 20px 50px var(--allez-shadow-deep);
}

.allez-guest .login-header h2 {
	color: var(--allez-brown-deep);
}

.allez-guest .login-header p {
	color: var(--allez-text-muted);
}

.allez-guest .btn-main {
	background: linear-gradient(135deg, var(--allez-accent), var(--allez-accent-light));
	box-shadow: 0 6px 22px rgba(224, 112, 32, 0.4);
}

.allez-guest .btn-main:hover,
.allez-guest .btn-main:focus {
	box-shadow: 0 10px 28px rgba(224, 112, 32, 0.5);
}

.allez-guest .modern-input,
.allez-guest.allez-theme .form-control {
	border-color: var(--allez-border-soft) !important;
	background: rgba(255, 255, 255, 0.95) !important;
}

.allez-guest .forgot-password,
.allez-guest .login-footer a {
	color: var(--allez-accent);
}

.allez-guest .allez-notify {
	bottom: calc(3.85rem + env(safe-area-inset-bottom, 0px));
}

/* -------------------------------------------------------------------------- */
/* RTL                                                                        */
/* -------------------------------------------------------------------------- */

.allez-rtl .allez-user-strip-inner {
	flex-direction: row-reverse;
}

.allez-rtl .allez-top-quicklinks {
	flex-direction: row-reverse;
}

/* -------------------------------------------------------------------------- */
/* Motion                                                                     */
/* -------------------------------------------------------------------------- */

@keyframes allez-fade-up {
	from {
		transform: translateY(18px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.login-card {
		animation: none;
	}

	.btn-main,
	.allez-theme .btn-primary:hover {
		transition: none;
		transform: none;
	}

	.allez-bg-watermark__inner {
		transform: translate(-50%, -50%);
	}

	.allez-bg-watermark__hero {
		transform: translate(-50%, -50%);
	}
}

/* ==========================================================================
   NEW SECTIONS — layout.twig additions (stats, testimonials, FAQ, footer)
   เพิ่มเติมจาก layout.twig ที่อัปเกรด
   ========================================================================== */

/* -------------------------------------------------------------------------- */
/* Stats section                                                              */
/* -------------------------------------------------------------------------- */

.allez-landing-stats {
	margin: 0.5rem 0 0;
	padding: 0 0.15rem;
}

.allez-stat-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	text-align: center;
	padding: 1.35rem 1rem;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border: 1px solid rgba(232, 197, 71, 0.38);
	border-radius: var(--allez-radius);
	box-shadow:
		0 8px 28px var(--allez-shadow),
		inset 0 1px 0 rgba(255, 255, 255, 0.6);
	transition: transform 0.18s, box-shadow 0.18s;
}

.allez-stat-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 36px var(--allez-shadow-deep);
}

.allez-stat-card__num {
	display: block;
	font-size: clamp(1.65rem, 3.5vw, 2.4rem);
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.02em;
	background: linear-gradient(135deg, var(--allez-accent), var(--allez-accent-light));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	filter: drop-shadow(0 2px 4px rgba(224, 112, 32, 0.25));
}

.allez-stat-card__label {
	display: block;
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--allez-text-muted);
	line-height: 1.35;
	letter-spacing: 0.01em;
}

/* -------------------------------------------------------------------------- */
/* Testimonials                                                               */
/* -------------------------------------------------------------------------- */

.allez-landing-testimonials {
	margin: 0.5rem 0 0;
	padding: 0 0.15rem;
}

.allez-testi-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	margin-top: 0.65rem;
}

@media (max-width: 767px) {
	.allez-testi-grid {
		grid-template-columns: 1fr;
	}
}

.allez-testi-card {
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border: 1px solid rgba(232, 197, 71, 0.32);
	border-radius: var(--allez-radius);
	padding: 1.35rem 1.4rem 1.15rem;
	box-shadow:
		0 8px 24px var(--allez-shadow),
		inset 0 1px 0 rgba(255, 255, 255, 0.55);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	position: relative;
}

/* เครื่องหมาย quote ซ้ายบน */
.allez-testi-card::before {
	content: "\201C";
	position: absolute;
	top: 0.55rem;
	left: 1rem;
	font-size: 3rem;
	line-height: 1;
	font-family: Georgia, serif;
	color: rgba(232, 197, 71, 0.45);
	pointer-events: none;
}

.allez-testi-card__text {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--allez-brown-deep);
	line-height: 1.7;
	padding-top: 1.25rem;
}

.allez-testi-card__author {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding-top: 0.55rem;
	border-top: 1px solid rgba(232, 197, 71, 0.28);
}

.allez-testi-card__name {
	font-size: 1rem;
	font-weight: 800;
	color: var(--allez-brown-deep);
	letter-spacing: 0.01em;
}

.allez-testi-card__role {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--allez-text-muted);
}

/* -------------------------------------------------------------------------- */
/* FAQ accordion                                                              */
/* -------------------------------------------------------------------------- */

.allez-landing-faq {
	margin: 0.5rem 0 0;
	padding: 0 0.15rem 0.75rem;
}

.allez-faq-list {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	margin-top: 0.65rem;
}

.allez-faq-item {
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border: 1px solid rgba(232, 197, 71, 0.3);
	border-radius: var(--allez-radius-sm);
	box-shadow: 0 4px 16px var(--allez-shadow);
	overflow: hidden;
	transition: box-shadow 0.18s;
}

.allez-faq-item:has(.allez-faq-a:not([hidden])) {
	border-color: rgba(232, 197, 71, 0.55);
	box-shadow: 0 8px 28px var(--allez-shadow-deep);
}

.allez-faq-q {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 1.1rem 1.4rem;
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--allez-font);
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--allez-brown-deep);
	text-align: left;
	line-height: 1.4;
	transition: background 0.15s;
}

.allez-faq-q:hover {
	background: rgba(232, 197, 71, 0.1);
}

.allez-faq-q[aria-expanded="true"] {
	background: rgba(232, 197, 71, 0.14);
	color: var(--allez-brown);
}

.allez-faq-q__arrow {
	flex-shrink: 0;
	font-size: 1.1rem;
	color: var(--allez-gold-mid);
	transition: transform 0.22s;
	line-height: 1;
}

.allez-faq-q[aria-expanded="true"] .allez-faq-q__arrow {
	transform: rotate(180deg);
}

.allez-faq-a {
	padding: 0 1.4rem 1.15rem;
	font-size: 1.02rem;
	font-weight: 600;
	color: var(--allez-text-muted);
	line-height: 1.75;
	border-top: 1px solid rgba(232, 197, 71, 0.22);
}

/* -------------------------------------------------------------------------- */
/* Sidebar contact block                                                      */
/* -------------------------------------------------------------------------- */

.allez-sidebar-contact {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(232, 197, 71, 0.35);
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.allez-sidebar-contact__title {
	margin: 0 0 0.35rem;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--allez-brown-deep);
	text-align: center;
}

.allez-contact-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	padding: 0.85rem 1rem;
	border-radius: var(--allez-radius-sm);
	font-size: 1rem;
	font-weight: 800;
	text-decoration: none !important;
	transition: transform 0.15s, box-shadow 0.15s, filter 0.15s;
	box-shadow: 0 4px 14px var(--allez-shadow);
}

.allez-contact-btn:hover,
.allez-contact-btn:focus {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px var(--allez-shadow-deep);
	filter: brightness(1.06);
}

.allez-contact-btn__icon {
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
}

.allez-contact-btn--line {
	background: linear-gradient(135deg, #06c755, #00b548);
	color: #fff !important;
}

.allez-contact-btn--fb {
	background: linear-gradient(135deg, #1877f2, #166fe5);
	color: #fff !important;
}

/* -------------------------------------------------------------------------- */
/* Footer grid (new 4-col layout)                                             */
/* -------------------------------------------------------------------------- */

.allez-footer-grid {
	display: grid;
	grid-template-columns: 1.8fr 1fr 1fr 1fr;
	gap: 2rem 2.5rem;
	padding: 2.5rem 0 1.75rem;
}

@media (max-width: 991px) {
	.allez-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 1.75rem 2rem;
	}

	.allez-footer-col--brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 479px) {
	.allez-footer-grid {
		grid-template-columns: 1fr;
		gap: 1.35rem;
	}
}

.allez-footer-col__title {
	margin: 0 0 0.75rem;
	font-size: 0.88rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--allez-gold-mid);
}

.allez-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.allez-footer-links li {
	font-size: 0.93rem;
	color: rgba(253, 248, 240, 0.65);
	font-weight: 500;
	line-height: 1.5;
}

.allez-footer-links a {
	color: rgba(253, 248, 240, 0.72) !important;
	text-decoration: none !important;
	transition: color 0.15s;
}

.allez-footer-links a:hover,
.allez-footer-links a:focus {
	color: var(--allez-gold) !important;
}

.allez-footer-logo {
	max-height: 44px;
	width: auto;
	margin-bottom: 0.85rem;
	display: block;
}

.allez-footer-brandname {
	display: block;
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	margin-bottom: 0.85rem;
	color: #fff8e1;
	text-shadow:
		0 1px 0 rgba(0, 0, 0, 0.6),
		0 2px 12px rgba(0, 0, 0, 0.5),
		0 0 24px rgba(232, 197, 71, 0.3);
}

.allez-footer-tagline {
	font-size: 0.92rem;
	color: rgba(253, 248, 240, 0.62);
	line-height: 1.6;
	margin: 0 0 1.1rem;
	font-weight: 500;
}

.allez-footer-socials {
	display: flex;
	gap: 0.65rem;
	flex-wrap: wrap;
}

.allez-footer-social {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.5rem 0.95rem;
	border-radius: 999px;
	font-size: 0.88rem;
	font-weight: 800;
	text-decoration: none !important;
	transition: transform 0.15s, filter 0.15s;
}

.allez-footer-social:hover,
.allez-footer-social:focus {
	transform: translateY(-2px);
	filter: brightness(1.12);
}

.allez-footer-social svg {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.allez-footer-social--line {
	background: rgba(6, 199, 85, 0.22);
	color: #06c755 !important;
	border: 1px solid rgba(6, 199, 85, 0.38);
}

.allez-footer-social--facebook {
	background: rgba(24, 119, 242, 0.22);
	color: #74a9f5 !important;
	border: 1px solid rgba(24, 119, 242, 0.38);
}

.allez-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding: 1rem 0;
}

/* override ขนาดเดิมที่กำหนด padding ให้ footer (ให้ grid ควบคุมแทน) */
.allez-site-footer {
	padding-top: 0 !important;
	padding-bottom: 1rem !important;
}

/* -------------------------------------------------------------------------- */
/* Responsive mini-grid (4 col → 2 → 1)                                      */
/* -------------------------------------------------------------------------- */

@media (max-width: 767px) {
	.allez-landing-mini-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.allez-testi-grid {
		grid-template-columns: 1fr;
	}

	.allez-stat-card__num {
		font-size: 1.9rem;
	}
}

@media (max-width: 479px) {
	.allez-landing-mini-grid {
		grid-template-columns: 1fr;
	}

	.allez-testi-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   PERFORMANCE — ลด lag ขณะ scroll
   ========================================================================== */

/* Fixed layers: บอก GPU ล่วงหน้าว่าจะไม่ขยับ ลด repaint */
.allez-bg,
.allez-bg-watermark,
.allez-bg-glow,
.allez-particles,
.allez-decor,
.allez-trust-bar,
.allez-header {
	will-change: transform;
}

/* Mobile: ปิด backdrop-filter blur ทั้งหมด — GPU มือถือรับไม่ไหว */
@media (max-width: 991px) {
	.allez-navbar,
	.allez-guest .allez-navbar,
	.login-card,
	.allez-guest .login-card,
	.allez-landing-sidebar,
	.allez-mini-tile,
	.allez-testi-card,
	.allez-faq-item,
	.allez-condition-list,
	.allez-stat-card,
	.allez-sidebar-tile,
	.allez-theme .panel,
	.allez-theme .well,
	.allez-theme .card {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}
}

/* ปิด watermark และ particles บน mobile — ไม่จำเป็น เปลือง GPU */
@media (max-width: 767px) {
	.allez-bg-watermark,
	.allez-particles,
	.allez-decor {
		display: none;
	}
}

/* ==========================================================================
   Performance fixes — ลด lag ขณะเลื่อนหน้า
   ========================================================================== */

/* Background elements — pointer-events ปิด ไม่สร้าง stacking context */
.allez-bg,
.allez-bg-watermark,
.allez-bg-glow,
.allez-particles,
.allez-decor {
	will-change: auto !important;
	transform: none !important;
	pointer-events: none !important;
}

.allez-trust-bar {
	will-change: auto !important;
	transform: none !important;
}

.allez-guest .allez-header {
	will-change: auto !important;
	transform: none !important;
}

/* ลด paint area — ใช้ style only ไม่ใช้ layout เพื่อไม่กระทบ modal */
.allez-mini-tile,
.allez-stat-card,
.allez-testi-card,
.allez-faq-item,
.allez-sidebar-tile,
.allez-landing-sidebar {
	contain: style;
}

/* ==========================================================================
   Landing page — design upgrade (no blur, no lag)
   ========================================================================== */

/* ---- Hero headline block (เหนือ login form) ---- */
.allez-hero-headline {
	text-align: center;
	padding: 2rem 1rem 1.5rem;
	max-width: 720px;
	margin: 0 auto;
}

.allez-hero-headline__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.88rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--allez-accent);
	background: rgba(224, 112, 32, 0.1);
	border: 1px solid rgba(224, 112, 32, 0.28);
	border-radius: 999px;
	padding: 0.35rem 1rem;
	margin-bottom: 1rem;
}

.allez-hero-headline__title {
	font-size: clamp(1.85rem, 5vw, 3rem);
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--allez-brown-deep);
	margin: 0 0 0.75rem;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
}

.allez-hero-headline__title span {
	background: linear-gradient(135deg, var(--allez-accent), var(--allez-accent-light));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.allez-hero-headline__sub {
	font-size: clamp(1rem, 2.2vw, 1.2rem);
	font-weight: 600;
	color: var(--allez-text-muted);
	line-height: 1.6;
	margin: 0;
}

/* ---- Stat cards — upgrade ---- */
.allez-stat-card {
	position: relative;
	overflow: hidden;
	border-left: 3px solid var(--allez-accent);
}

.allez-stat-card::before {
	content: '';
	position: absolute;
	top: 0; right: 0;
	width: 60px; height: 60px;
	background: radial-gradient(circle at top right, rgba(232, 197, 71, 0.15), transparent 70%);
	pointer-events: none;
}

/* ---- Testimonials — upgrade ---- */
.allez-testi-card {
	transition: transform 0.18s, box-shadow 0.18s;
}

.allez-testi-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px var(--allez-shadow-deep);
}

/* ---- Platform badge strip (แทนที่ sidebar grid) ---- */
.allez-platform-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: center;
	margin: 0.75rem 0 1rem;
}

.allez-platform-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 1rem;
	border-radius: 999px;
	font-size: 0.92rem;
	font-weight: 800;
	text-decoration: none !important;
	border: 1.5px solid rgba(232, 197, 71, 0.45);
	background: rgba(255, 255, 255, 0.88);
	color: var(--allez-brown-deep) !important;
	transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
	box-shadow: 0 3px 10px var(--allez-shadow);
}

.allez-platform-badge:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px var(--allez-shadow-deep);
	border-color: var(--allez-gold-mid);
}

/* ---- Section divider ---- */
.allez-section-divider {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 2rem 0 1rem;
}

.allez-section-divider::before,
.allez-section-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(232, 197, 71, 0.45), transparent);
}

.allez-section-divider__text {
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--allez-gold-mid);
	white-space: nowrap;
}

/* ---- Mini-grid upgrade ---- */
.allez-mini-tile {
	transition: transform 0.15s, box-shadow 0.15s;
	border-top: 3px solid rgba(232, 197, 71, 0.45);
}

.allez-mini-tile:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px var(--allez-shadow-deep);
	border-top-color: var(--allez-gold-mid);
}

/* ---- FAQ upgrade ---- */
.allez-faq-q {
	border-left: 3px solid transparent;
	transition: border-color 0.15s, background 0.15s;
}

.allez-faq-q[aria-expanded="true"] {
	border-left-color: var(--allez-accent);
}

/* ---- CTA strip (ใต้ login form) ---- */
.allez-landing-cta-strip {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	flex-wrap: wrap;
	padding: 0.75rem 1rem;
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid rgba(232, 197, 71, 0.3);
	border-radius: var(--allez-radius);
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--allez-text-muted);
}

.allez-landing-cta-strip__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--allez-gold-mid);
	flex-shrink: 0;
}

@media (max-width: 767px) {
	.allez-hero-headline {
		padding: 1.25rem 0.5rem 1rem;
	}

	.allez-hero-headline__title {
		font-size: 1.65rem;
	}

	.allez-platform-badges {
		gap: 0.45rem;
	}
}

/* ==========================================================================
   Design upgrade — สวยขึ้น ไม่แลค (ไม่มี blur, ไม่มี heavy animation)
   ========================================================================== */

/* ---- Hero headline: เพิ่ม depth ด้วย border แทน blur ---- */
.allez-hero-headline {
	border-bottom: 1px solid rgba(232, 197, 71, 0.2);
	padding-bottom: 2rem;
}

.allez-hero-headline__eyebrow {
	font-size: 0.92rem;
	letter-spacing: 0.08em;
}

.allez-hero-headline__title {
	color: var(--allez-brown-deep);
}

/* ---- Landing layout: เพิ่ม gap ระหว่าง sections ---- */
.allez-landing-layout {
	gap: 0;
}

.allez-landing-layout > * + * {
	margin-top: 1.75rem;
}

/* ---- Stat cards: accent bar ด้านบน ---- */
.allez-stat-card {
	border-top: 3px solid var(--allez-accent);
	border-left: none;
	text-align: center;
}

/* ---- Platform badges: สีตามแพลตฟอร์ม ---- */
.allez-platform-badge:nth-child(1) { border-color: rgba(24, 119, 242, 0.4); }
.allez-platform-badge:nth-child(2) { border-color: rgba(225, 48, 108, 0.4); }
.allez-platform-badge:nth-child(3) { border-color: rgba(0, 0, 0, 0.25); }
.allez-platform-badge:nth-child(4) { border-color: rgba(255, 0, 0, 0.35); }
.allez-platform-badge:nth-child(5) { border-color: rgba(29, 155, 240, 0.4); }
.allez-platform-badge:nth-child(6) { border-color: rgba(30, 215, 96, 0.4); }

/* ---- CTA strip: เด่นขึ้น ---- */
.allez-landing-cta-strip {
	background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(253,248,240,0.88));
	border-color: rgba(232, 197, 71, 0.4);
	font-size: 1.1rem;
	font-weight: 800;
	color: #1a120e;
}

/* ---- Sidebar tiles: icon color ตามแพลตฟอร์ม ---- */
.allez-sidebar-tile--fb .allez-sidebar-tile__icon { background: rgba(24, 119, 242, 0.15); color: #1877f2; }
.allez-sidebar-tile--ig .allez-sidebar-tile__icon { background: rgba(225, 48, 108, 0.12); color: #e1306c; }
.allez-sidebar-tile--tt .allez-sidebar-tile__icon { background: rgba(0, 0, 0, 0.07); color: #2d211c; }
.allez-sidebar-tile--yt .allez-sidebar-tile__icon { background: rgba(255, 0, 0, 0.1); color: #ff0000; }

/* ---- Mini tiles: icon emoji ใหญ่ขึ้น ---- */
.allez-mini-tile__h::before {
	display: block;
	font-size: 1.75rem;
	margin-bottom: 0.35rem;
	line-height: 1;
}

.allez-mini-tile:nth-child(1) .allez-mini-tile__h::before { content: "⚡"; }
.allez-mini-tile:nth-child(2) .allez-mini-tile__h::before { content: "🖱️"; }
.allez-mini-tile:nth-child(3) .allez-mini-tile__h::before { content: "💰"; }
.allez-mini-tile:nth-child(4) .allez-mini-tile__h::before { content: "🔒"; }

/* ---- Footer: เพิ่ม top border สี gold ---- */
.allez-site-footer {
	border-top: 3px solid var(--allez-gold-mid);
}

/* ---- Trust bar: items ใหญ่ขึ้นนิด ---- */
.allez-trust-item {
	font-size: 13px;
}

@media (max-width: 767px) {
	.allez-landing-layout > * + * {
		margin-top: 1.25rem;
	}

	.allez-landing-cta-strip {
		font-size: 0.82rem;
		gap: 0.45rem;
	}
}

/* ==========================================================================
   Typography upgrade — อ่านง่ายขึ้น ไม่แลค
   ========================================================================== */

/* ---- Form labels ---- */
.allez-theme label,
.allez-theme .control-label {
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.5;
	color: var(--allez-brown-deep);
}

/* ---- Form inputs ---- */
.allez-theme .form-control,
.allez-theme .modern-input {
	font-size: 1.05rem !important;
	line-height: 1.6;
	color: var(--allez-text);
}

/* ---- Buttons ---- */
.allez-theme .btn,
.allez-theme .btn-main,
.allez-theme .btn-primary {
	font-size: 1.05rem !important;
}

/* ---- Navbar links ---- */
.allez-guest .allez-navbar .navbar-nav > li > a {
	font-size: 1.05rem !important;
}

/* ---- Paragraph / body text ---- */
.allez-theme p,
.allez-theme li,
.allez-theme td,
.allez-theme th {
	font-size: 1rem;
	line-height: 1.8;
}

/* ---- Condition list ---- */
.allez-condition-list {
	font-size: 1.05rem !important;
	line-height: 1.9 !important;
}

/* ---- FAQ ---- */
.allez-faq-q {
	font-size: 1.05rem !important;
	line-height: 1.55;
}

.allez-faq-a {
	font-size: 1rem !important;
	line-height: 1.85;
}

/* ---- Testimonials ---- */
.allez-testi-card__text {
	font-size: 1rem !important;
	line-height: 1.8;
}

/* ---- Mini tiles ---- */
.allez-mini-tile__h {
	font-size: 1.1rem !important;
}

.allez-mini-tile__p {
	font-size: 0.97rem !important;
	line-height: 1.6;
}

/* ---- Trust bar ---- */
.allez-trust-item {
	font-size: 14px !important;
}

/* ---- Mobile: ลดลงนิดให้พอดีจอ ---- */
@media (max-width: 767px) {
	.allez-theme {
		font-size: 16px;
	}

	.allez-theme p,
	.allez-theme li {
		font-size: 0.97rem;
	}
}

/* ==========================================================================
   Marquee — Sidebar tiles + Testimonials
   ใช้ CSS animation เท่านั้น ไม่มี JS ไม่แลค
   ========================================================================== */

/* ---- Tiles marquee ---- */
.allez-tiles-marquee {
	overflow: hidden;
	width: 100%;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}

.allez-tiles-marquee__track {
	display: flex;
	width: max-content;
	animation: allez-scroll-x 28s linear infinite;
}

.allez-tiles-marquee__track:hover {
	animation-play-state: paused;
}

.allez-tiles-marquee__group {
	display: flex;
	align-items: stretch;
	gap: 0.85rem;
	padding-right: 0.85rem;
	flex-shrink: 0;
}

.allez-tiles-marquee .allez-sidebar-tile {
	flex-shrink: 0;
	width: 120px;
	min-height: 110px;
}

/* ---- Testimonials marquee ---- */
.allez-testi-marquee {
	overflow: hidden;
	width: 100%;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}

.allez-testi-marquee__track {
	display: flex;
	width: max-content;
	animation: allez-scroll-x 38s linear infinite;
}

.allez-testi-marquee__track:hover {
	animation-play-state: paused;
}

.allez-testi-marquee__group {
	display: flex;
	align-items: stretch;
	gap: 1rem;
	padding-right: 1rem;
	flex-shrink: 0;
}

.allez-testi-marquee .allez-testi-card {
	flex-shrink: 0;
	width: 300px;
	/* ปิด hover transform — ไม่งั้น layout จะกระตุกตอน scroll */
	transition: box-shadow 0.18s;
}

.allez-testi-marquee .allez-testi-card:hover {
	transform: none;
	box-shadow: 0 12px 30px var(--allez-shadow-deep);
}

/* ---- Keyframe (ใช้ร่วมกัน) ---- */
@keyframes allez-scroll-x {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* ---- Reduced motion: หยุด animation ---- */
@media (prefers-reduced-motion: reduce) {
	.allez-tiles-marquee__track,
	.allez-testi-marquee__track {
		animation: none;
		flex-wrap: wrap;
		width: 100%;
	}

	.allez-tiles-marquee__group[aria-hidden="true"],
	.allez-testi-marquee__group[aria-hidden="true"] {
		display: none;
	}

	.allez-tiles-marquee .allez-sidebar-tile {
		width: auto;
	}

	.allez-testi-marquee .allez-testi-card {
		width: 100%;
	}
}

/* ---- Twitter/X + Spotify tile colors ---- */
.allez-sidebar-tile--tw .allez-sidebar-tile__icon { background: rgba(0,0,0,0.07); color: #14171a; }
.allez-sidebar-tile--sp .allez-sidebar-tile__icon { background: rgba(30, 215, 96, 0.15); color: #1db954; }

/* ==========================================================================
   Readability fix — contrast + font weight
   ========================================================================== */

/* ---- Base: ตัวอักษรหนาขึ้น อ่านง่ายบนพื้นครีม ---- */
.allez-theme body,
.allez-theme p,
.allez-theme li,
.allez-theme span,
.allez-theme td,
.allez-theme th,
.allez-theme div {
	font-weight: 500;
	color: var(--allez-text);
}

/* ---- Muted text: เข้มขึ้น ---- */
.allez-theme .text-muted,
.allez-mini-tile__p,
.allez-testi-card__role,
.allez-landing-lead,
.allez-hero-headline__sub,
.allez-faq-a,
.allez-footer-tagline,
.allez-footer-links li {
	font-weight: 600 !important;
	color: var(--allez-text-muted) !important;
}

/* ---- Condition list: เข้มชัด ---- */
.allez-condition-list {
	color: #1a120e !important;
	font-weight: 700 !important;
}

/* ---- FAQ คำถาม ---- */
.allez-faq-q {
	color: #1a120e !important;
	font-weight: 800 !important;
}

/* ---- FAQ คำตอบ ---- */
.allez-faq-a {
	color: #3d2e24 !important;
	font-weight: 600 !important;
}

/* ---- Testimonials ---- */
.allez-testi-card__text {
	color: #1a120e !important;
	font-weight: 600 !important;
}

.allez-testi-card__name {
	color: #1a120e !important;
	font-weight: 800 !important;
}

/* ---- Stat card ---- */
.allez-stat-card__label {
	color: #3d2e24 !important;
	font-weight: 700 !important;
}

/* ---- Mini tile ---- */
.allez-mini-tile__h {
	color: #1a120e !important;
	font-weight: 900 !important;
}

.allez-mini-tile__p {
	color: #3d2e24 !important;
}

/* ---- Form: label + input ชัดขึ้น ---- */
.allez-theme label,
.allez-theme .control-label {
	color: #1a120e !important;
	font-weight: 800 !important;
}

.allez-theme .form-control,
.allez-theme .modern-input {
	color: #1a120e !important;
	font-weight: 600 !important;
}

/* ---- Sidebar tiles ---- */
.allez-sidebar-tile > span:last-child {
	color: #1a120e !important;
	font-weight: 700 !important;
}

/* ---- ลดความเข้มของลายน้ำพื้นหลังอีกนิด ---- */
.allez-bg-watermark__cell {
	opacity: 0.15 !important;
}

/* ==========================================================================
   New Order — right sidebar cards
   ========================================================================== */

.no-sidebar-card {
	background: rgba(255, 252, 248, 0.92);
	border: 1px solid rgba(232, 197, 71, 0.3);
	border-radius: var(--allez-radius);
	box-shadow: 0 6px 20px var(--allez-shadow);
	margin-bottom: 1rem;
	overflow: hidden;
}

.no-sidebar-card__header {
	background: linear-gradient(90deg, var(--allez-brown-mid), var(--allez-brown-deep));
	color: #f5e6a8;
	font-size: 1rem;
	font-weight: 800;
	padding: 0.75rem 1.1rem;
	border-bottom: 2px solid var(--allez-gold-mid);
}

.no-sidebar-card__header--promo {
	background: linear-gradient(90deg, #b85c00, #e07020);
}

.no-sidebar-card__body {
	padding: 1rem 1.1rem;
}

/* ---- Rule list ---- */
.no-sidebar-rule-list {
	margin: 0;
	padding: 0 0 0 1.2rem;
	list-style: disc;
}

.no-sidebar-rule-list li {
	font-size: 0.93rem;
	font-weight: 600;
	color: var(--allez-text);
	line-height: 1.65;
	margin-bottom: 0.45rem;
	padding-left: 0.25rem;
}

.no-sidebar-rule-list li strong {
	color: #c0392b;
	font-weight: 800;
}

/* ---- Terms link ---- */
.no-sidebar-terms-link {
	display: inline-block;
	margin-top: 0.75rem;
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--allez-accent) !important;
	text-decoration: none !important;
}

.no-sidebar-terms-link:hover {
	text-decoration: underline !important;
}

/* ---- Promotion ---- */
.no-sidebar-promo-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.no-sidebar-promo-list li {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--allez-text);
	padding: 0.5rem 0;
	border-bottom: 1px dashed rgba(232, 197, 71, 0.35);
	line-height: 1.5;
}

.no-sidebar-promo-list li:last-child {
	border-bottom: none;
}

/* ---- No promotion state ---- */
.no-sidebar-no-promo {
	text-align: center;
	padding: 0.5rem 0;
}

.no-sidebar-no-promo__icon {
	display: block;
	font-size: 2rem;
	margin-bottom: 0.5rem;
}

.no-sidebar-no-promo p {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--allez-text-muted);
	margin: 0;
	line-height: 1.6;
}

/* ---- Contact ---- */
.no-sidebar-contact-note {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--allez-text-muted);
	margin: 0 0 0.85rem;
	line-height: 1.55;
}

.no-sidebar-contact-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	padding: 0.7rem 1rem;
	border-radius: var(--allez-radius-sm);
	font-size: 0.95rem;
	font-weight: 800;
	text-decoration: none !important;
	margin-bottom: 0.55rem;
	transition: filter 0.15s, transform 0.15s;
}

.no-sidebar-contact-btn:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.no-sidebar-contact-btn--line {
	background: #06c755;
	color: #fff !important;
}

.no-sidebar-contact-btn--fb {
	background: #1877f2;
	color: #fff !important;
}

/* ---- Mobile: sidebar ไปอยู่ใต้ฟอร์ม ---- */
@media (max-width: 991px) {
	.neworder-page .col-md-4 {
		margin-top: 1.5rem;
	}
}

/* ==========================================================================
   Right sidebar cards — larger size & clearer text
   ========================================================================== */

.no-sidebar-card {
	margin-bottom: 1.35rem !important;
	border-radius: 16px !important;
	box-shadow: 0 8px 28px var(--allez-shadow) !important;
}

.no-sidebar-card__header {
	font-size: 1.1rem !important;
	font-weight: 900 !important;
	padding: 1rem 1.35rem !important;
	letter-spacing: 0.02em;
}

.no-sidebar-card__body {
	padding: 1.25rem 1.35rem !important;
}

/* ---- Rule list ---- */
.no-sidebar-rule-list li {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	line-height: 1.8 !important;
	margin-bottom: 0.6rem !important;
	color: #1a120e !important;
}

/* ---- Terms link ---- */
.no-sidebar-terms-link {
	font-size: 1rem !important;
	font-weight: 800 !important;
	margin-top: 0.9rem !important;
}

/* ---- Promotion ---- */
.no-sidebar-promo-list li {
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	padding: 0.65rem 0 !important;
	line-height: 1.6 !important;
}

.no-sidebar-no-promo__icon {
	font-size: 2.5rem !important;
	margin-bottom: 0.65rem !important;
}

.no-sidebar-no-promo p {
	font-size: 1.02rem !important;
	font-weight: 700 !important;
	line-height: 1.7 !important;
	color: #3d2e24 !important;
}

/* ---- Contact ---- */
.no-sidebar-contact-note {
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.65 !important;
	margin-bottom: 1rem !important;
	color: #3d2e24 !important;
}

.no-sidebar-contact-btn {
	padding: 0.9rem 1.25rem !important;
	font-size: 1.05rem !important;
	font-weight: 900 !important;
	margin-bottom: 0.65rem !important;
	border-radius: 12px !important;
}

.no-sidebar-contact-btn svg {
	width: 22px !important;
	height: 22px !important;
}

/* ==========================================================================
   New Order — Stats bar + Live feed
   ========================================================================== */

/* ---- Stats bar ---- */
.no-stats-bar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem 0;
	background: #fff;
	border: 1px solid rgba(232, 197, 71, 0.4);
	border-radius: var(--allez-radius);
	padding: 0.85rem 1.5rem;
	margin-bottom: 1rem;
	box-shadow: 0 4px 16px var(--allez-shadow);
}

.no-stats-bar__item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex: 1;
	min-width: 140px;
	justify-content: center;
}

.no-stats-bar__icon {
	font-size: 1.25rem;
	line-height: 1;
}

.no-stats-bar__num {
	font-size: 1.15rem;
	font-weight: 900;
	color: #1a120e;
	letter-spacing: 0.02em;
	transition: all 0.4s;
}

.no-stats-bar__label {
	font-size: 0.9rem;
	font-weight: 700;
	color: #3d2e24;
}

.no-stats-bar__sep {
	width: 1px;
	height: 32px;
	background: rgba(74, 50, 40, 0.15);
	flex-shrink: 0;
}

/* ---- Live feed ---- */
.no-live-feed {
	background: #fff;
	border: 1px solid rgba(232, 197, 71, 0.35);
	border-radius: var(--allez-radius);
	overflow: hidden;
	margin-bottom: 1.25rem;
	box-shadow: 0 4px 16px var(--allez-shadow);
}

.no-live-feed__header {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.65rem 1.25rem;
	background: #fff;
	color: #1a120e;
	font-size: 0.95rem;
	font-weight: 800;
	border-bottom: 2px solid rgba(232, 197, 71, 0.4);
}

.no-live-feed__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #4cff72;
	box-shadow: 0 0 6px #4cff72;
	flex-shrink: 0;
	animation: no-live-pulse 1.5s ease-in-out infinite;
}

@keyframes no-live-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.4; }
}

.no-live-feed__track {
	padding: 0.35rem 0;
	min-height: 228px;
	max-height: 228px;
	overflow: hidden;
}

/* ---- Live row ---- */
.no-live-row {
	display: grid;
	grid-template-columns: 100px 1fr auto auto;
	align-items: center;
	gap: 0.5rem;
	padding: 0.6rem 1.25rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	font-size: 0.95rem;
	transition: opacity 0.4s, transform 0.4s;
}

.no-live-row:last-child { border-bottom: none; }

.no-live-row--new {
	opacity: 0;
	transform: translateY(-8px);
}

.no-live-row--out {
	opacity: 0;
	transform: translateY(8px);
}

.no-live-row__name {
	font-weight: 800;
	color: #1a120e;
	white-space: nowrap;
	font-size: 0.9rem;
}

.no-live-row__svc {
	font-weight: 700;
	color: #3d2e24;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.no-live-row__qty {
	font-weight: 900;
	color: var(--allez-accent);
	white-space: nowrap;
	text-align: right;
}

.no-live-row__time {
	font-size: 0.8rem;
	font-weight: 600;
	color: #888;
	white-space: nowrap;
	text-align: right;
}

@media (max-width: 767px) {
	.no-stats-bar {
		padding: 0.7rem 1rem;
		gap: 0.35rem 0;
	}

	.no-stats-bar__item {
		min-width: 0;
		flex: 1 1 45%;
	}

	.no-stats-bar__sep {
		display: none;
	}

	.no-stats-bar__num { font-size: 1rem; }
	.no-stats-bar__label { font-size: 0.78rem; }

	.no-live-row {
		grid-template-columns: 80px 1fr auto;
		font-size: 0.85rem;
	}

	.no-live-row__time { display: none; }
}

/* ==========================================================================
   Performance — ลด lag ให้ลื่นสุด
   ========================================================================== */

/* ---- 1. ปิด animation ทั้งหมดที่ไม่จำเป็น ---- */
.allez-bg,
.allez-bg-watermark,
.allez-bg-glow,
.allez-particles,
.allez-decor--left,
.allez-decor--right {
	animation: none !important;
	will-change: auto !important;
	transform: none !important;
}

/* ---- 2. marquee — ใช้ GPU layer แยก ---- */
.allez-platform-marquee__track,
.allez-tiles-marquee__track,
.allez-testi-marquee__track {
	will-change: transform;
	transform: translateZ(0);
	backface-visibility: hidden;
}

/* ---- 3. live feed pulse — เบาลง ---- */
.no-live-feed__dot {
	animation: no-live-pulse 2s ease-in-out infinite;
}

/* ---- 4. login card fade — ทำครั้งเดียวแล้วหยุด ---- */
.login-card {
	animation: allez-fade-up 0.3s ease both;
}

/* ---- 5. hover transitions — สั้นลง ---- */
.allez-sidebar-tile,
.allez-mini-tile,
.allez-testi-card,
.allez-stat-card,
.allez-faq-item,
.allez-platform-badge,
.allez-contact-btn,
.no-sidebar-contact-btn,
.no-live-row {
	transition: transform 0.12s ease, box-shadow 0.12s ease !important;
}

/* ---- 6. trust bar + navbar ---- */
.allez-trust-bar,
.allez-header,
.allez-guest .allez-header {
	will-change: auto;
	transform: none;
}

/* ---- 7. ปิด pointer events บน background elements ---- */
.allez-bg,
.allez-bg-watermark,
.allez-bg-glow,
.allez-particles,
.allez-decor {
	pointer-events: none !important;
}

/* ---- 8. contain บน sections หลัก ---- */
.allez-landing-stats,
.allez-landing-block,
.allez-landing-conditions,
.allez-landing-faq,
.allez-landing-testimonials,
.allez-landing-sidebar,
.no-live-feed,
.no-stats-bar,
.no-sidebar-card {
	contain: style;
}

/* ---- 9. ลด reflow จาก scroll — ลบ contain จาก shell/main เพื่อไม่ให้ Bootstrap modal พัง ---- */

/* ---- 10. prefers-reduced-motion — ปิดทุก animation ---- */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ==========================================================================
   Performance — ลด lag ทุกจุด (override สุดท้าย)
   ========================================================================== */

/* 1. ปิด marquee animation บน mobile — ไม่จำเป็นและหนักมาก */
@media (max-width: 767px) {
	.allez-tiles-marquee__track,
	.allez-testi-marquee__track,
	.allez-platform-marquee__track {
		animation: none !important;
		flex-wrap: wrap;
		width: 100%;
	}
	.allez-tiles-marquee__group[aria-hidden="true"],
	.allez-testi-marquee__group[aria-hidden="true"],
	.allez-platform-marquee__group[aria-hidden="true"] {
		display: none;
	}
}

/* 2. ลด background watermark — ตัวหนักที่สุดบน mobile */
@media (max-width: 767px) {
	.allez-bg-watermark {
		display: none !important;
	}
	.allez-particles,
	.allez-decor {
		display: none !important;
	}
}

/* 3. ปิด hover transform ทั้งหมดบน mobile — trigger reflow */
@media (max-width: 767px) {
	.allez-mini-tile:hover,
	.allez-stat-card:hover,
	.allez-testi-card:hover,
	.allez-sidebar-tile:hover,
	.allez-platform-badge:hover,
	.allez-contact-btn:hover,
	.no-sidebar-contact-btn:hover {
		transform: none !important;
	}
}

/* 4. ลด fade-up animation — ตัดเหลือสั้นที่สุด */
.login-card {
	animation: allez-fade-up 0.25s ease !important;
}

/* 5. marquee desktop — ใช้ CSS transform เท่านั้น (GPU) */
.allez-tiles-marquee__track,
.allez-testi-marquee__track,
.allez-platform-marquee__track {
	will-change: transform;
	transform: translateZ(0);
}

/* 6. fixed elements — ไม่ใช้ translateZ เพราะทำให้ modal/backdrop พัง */
.allez-bg,
.allez-bg-glow,
.allez-trust-bar,
.allez-guest .allez-header {
	will-change: auto;
	transform: none;
}

/* 7. ปิด live feed pulse บน mobile */
@media (max-width: 767px) {
	.no-live-feed__dot {
		animation: none !important;
	}
}

/* ==========================================================================
   Global font-size upgrade — ทุก rem จะขยายตามอัตโนมัติ
   ========================================================================== */

html {
	font-size: 15px;
}

/* desktop ใหญ่ */
@media (min-width: 1200px) {
	html { font-size: 15.5px; }
}

/* tablet */
@media (max-width: 991px) {
	html { font-size: 15px; }
}

/* mobile */
@media (max-width: 767px) {
	html { font-size: 14.5px; }
}

/* ---- ส่วนที่ยังใช้ px อยู่ — แก้ตรงๆ ---- */

/* Hero eyebrow */
.allez-hero-headline__eyebrow {
	font-size: 1rem !important;
}

/* Hero title */
.allez-hero-headline__title {
	font-size: clamp(2rem, 5.5vw, 3.2rem) !important;
}

/* Hero sub */
.allez-hero-headline__sub {
	font-size: 1.15rem !important;
	line-height: 1.7;
}

/* Platform badges */
.allez-platform-badge {
	font-size: 1rem !important;
	padding: 0.5rem 1.15rem !important;
}

/* Stat number */
.allez-stat-card__num {
	font-size: clamp(1.8rem, 3.8vw, 2.6rem) !important;
}

/* Stat label */
.allez-stat-card__label {
	font-size: 1rem !important;
}

/* Why choose us — lead */
.allez-landing-lead {
	font-size: 1.2rem !important;
	line-height: 1.75;
}

/* Mini tile */
.allez-mini-tile__h {
	font-size: 1.2rem !important;
}

.allez-mini-tile__p {
	font-size: 1rem !important;
}

/* Section banner */
.allez-banner-wood {
	font-size: 1.3rem !important;
}

/* Testimonial text */
.allez-testi-card__text {
	font-size: 1.05rem !important;
	line-height: 1.85;
}

.allez-testi-card__name {
	font-size: 1.05rem !important;
}

.allez-testi-card__role {
	font-size: 0.95rem !important;
}

/* Condition list */
.allez-condition-list {
	font-size: 1.1rem !important;
	line-height: 1.95 !important;
}

/* FAQ */
.allez-faq-q {
	font-size: 1.1rem !important;
}

.allez-faq-a {
	font-size: 1.05rem !important;
	line-height: 1.85;
}

/* Sidebar heading */
.allez-sidebar-heading {
	font-size: 1.3rem !important;
}

/* Sidebar tile */
.allez-sidebar-tile {
	font-size: 1rem !important;
}

/* Section divider */
.allez-section-divider__text {
	font-size: 0.9rem !important;
}

/* CTA strip */
.allez-landing-cta-strip {
	font-size: 1.1rem !important;
}

/* Trust bar */
.allez-trust-item {
	font-size: 0.95rem !important;
}

/* Footer */
.allez-footer-col__title {
	font-size: 0.95rem !important;
}

.allez-footer-links a,
.allez-footer-links li {
	font-size: 1rem !important;
}

.allez-footer-tagline {
	font-size: 1rem !important;
}

.allez-footer-copy {
	font-size: 0.9rem !important;
}

/* ==========================================================================
   Navbar links — ลดขนาดให้พอดี
   ========================================================================== */

.allez-navbar .navbar-nav > li > a {
	font-size: 0.88rem !important;
	font-weight: 600;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}

.allez-guest .allez-navbar .navbar-nav > li > a {
	font-size: 0.88rem !important;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}

.allez-nav-username > a.allez-nav-username__pill {
	font-size: 0.85rem !important;
	padding: 6px 10px !important;
	min-width: auto !important;
}

.allez-navbar .badge {
	font-size: 0.78rem !important;
}

/* navbar vertical centering — removed, reverted to Bootstrap default */

/* Navbar links vertical center — auth + guest */
.allez-navbar .navbar-nav > li > a {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	line-height: 62px !important;
	height: 62px !important;
	display: flex !important;
	align-items: center !important;
}

.allez-navbar .navbar-right-block.allez-nav-account > li > a {
	line-height: 62px !important;
	height: 62px !important;
	display: flex !important;
	align-items: center !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* ==========================================================================
   Hero headline — upgrade ให้โดดเด่นขึ้น
   ========================================================================== */

.allez-hero-headline {
	padding: 2.5rem 1.5rem 2rem !important;
	max-width: 860px !important;
	position: relative;
}

/* กรอบ card รอบ hero */
.allez-hero-headline::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 20px;
	background: linear-gradient(160deg, #0f0a07 0%, #1a1008 60%, #0a0806 100%) !important;
	border: 1.5px solid rgba(232, 197, 71, 0.4) !important;
	box-shadow:
		0 0 0 3px rgba(232, 197, 71, 0.08),
		0 24px 64px rgba(0, 0, 0, 0.5) !important;
	z-index: 0;
}

.allez-hero-headline > * {
	position: relative;
	z-index: 1;
}

/* Eyebrow — เด่นขึ้น */
.allez-hero-headline__eyebrow {
	font-size: 0.95rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.12em !important;
	padding: 0.45rem 1.35rem !important;
	border-width: 1.5px !important;
	border-color: rgba(232, 197, 71, 0.6) !important;
	background: rgba(232, 197, 71, 0.12) !important;
	color: var(--allez-brown-deep) !important;
	margin-bottom: 1.35rem !important;
}

/* H1 — ใหญ่และหนาขึ้น */
.allez-hero-headline__title {
	font-size: clamp(2.2rem, 6vw, 3.6rem) !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.03em !important;
	color: #1a120e !important;
	margin-bottom: 1rem !important;
	text-shadow:
		0 1px 0 rgba(255, 255, 255, 0.8),
		0 2px 8px rgba(45, 33, 28, 0.08) !important;
}

/* Gradient span เด่นขึ้น */
.allez-hero-headline__title span {
	background: linear-gradient(135deg, #e07020, #ff9a4a) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
}

/* Sub — ชัดขึ้น */
.allez-hero-headline__sub {
	font-size: clamp(1.05rem, 2.4vw, 1.25rem) !important;
	font-weight: 700 !important;
	color: #3d2e24 !important;
	line-height: 1.7 !important;
	margin-top: 0.5rem !important;
}

/* Gold line ใต้ hero */
.allez-hero-headline {
	border-bottom: none !important;
}

@media (max-width: 767px) {
	.allez-hero-headline {
		padding: 1.75rem 1.1rem 1.5rem !important;
	}

	.allez-hero-headline__title {
		font-size: 2rem !important;
	}
}

/* ==========================================================================
   Hero — Premium / Luxury upgrade
   ========================================================================== */

.allez-hero-headline {
	padding: 3rem 2.5rem 2.5rem !important;
	max-width: 900px !important;
}

/* กรอบ Premium — พื้นน้ำตาลเข้ม border ทองสองชั้น */
.allez-hero-headline::before {
	background: linear-gradient(160deg, #0f0a07 0%, #1a1008 60%, #0a0806 100%) !important;
	border: 1.5px solid rgba(232, 197, 71, 0.4) !important;
	box-shadow:
		0 0 0 3px rgba(232, 197, 71, 0.08),
		0 24px 64px rgba(0, 0, 0, 0.5) !important;
}

/* เส้น border ทองด้านใน */
.allez-hero-headline::after {
	content: '';
	position: absolute;
	inset: 8px;
	border-radius: 14px;
	border: 1px solid rgba(232, 197, 71, 0.3);
	pointer-events: none;
	z-index: 1;
}

/* corner ornaments */
.allez-hero-headline__eyebrow {
	font-size: 0.85rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.18em !important;
	padding: 0.5rem 1.5rem !important;
	border: 1px solid rgba(232, 197, 71, 0.55) !important;
	background: rgba(232, 197, 71, 0.08) !important;
	color: #f5e6a8 !important;
	margin-bottom: 1.5rem !important;
}

.allez-hero-headline__title {
	font-size: clamp(2.4rem, 6.5vw, 4rem) !important;
	font-weight: 900 !important;
	line-height: 1.12 !important;
	letter-spacing: -0.03em !important;
	color: #fff8e1 !important;
	text-shadow:
		0 1px 0 rgba(0,0,0,0.4),
		0 4px 16px rgba(0,0,0,0.3) !important;
	margin-bottom: 1.1rem !important;
}

.allez-hero-headline__title span {
	background: linear-gradient(135deg, #f5e6a8 0%, #e8c547 40%, #c9a227 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
	filter: drop-shadow(0 2px 6px rgba(201, 162, 39, 0.4));
}

.allez-hero-headline__sub {
	font-size: clamp(1rem, 2.2vw, 1.2rem) !important;
	font-weight: 600 !important;
	color: rgba(245, 230, 168, 0.75) !important;
	line-height: 1.7 !important;
}

/* gold divider line ใต้ eyebrow */
.allez-hero-headline__eyebrow::before,
.allez-hero-headline__eyebrow::after {
	content: '✦';
	font-size: 0.7rem;
	color: #e8c547;
	opacity: 0.8;
	margin: 0 0.4rem;
}

@media (max-width: 767px) {
	.allez-hero-headline {
		padding: 2rem 1.25rem 1.75rem !important;
	}
	.allez-hero-headline__title {
		font-size: 2.1rem !important;
	}
}

/* ==========================================================================
   Typography overhaul — Font + Hierarchy + Contrast
   ========================================================================== */

/* ---- 1. เปลี่ยน Font — Kanit สำหรับ heading, Sarabun สำหรับ body ---- */
@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@400;600;700;800;900&family=Sarabun:wght@400;500;600;700&display=swap');

.allez-theme {
	--allez-font: "Sarabun", "Prompt", system-ui, sans-serif;
	--allez-font-heading: "Kanit", "Prompt", system-ui, sans-serif;
	font-family: var(--allez-font) !important;
}

/* ---- 2. Heading font ทุกระดับ ---- */
.allez-theme h1,
.allez-theme h2,
.allez-theme h3,
.allez-theme h4,
.allez-theme h5,
.allez-theme h6,
.allez-banner-wood,
.allez-hero-headline__title,
.allez-stat-card__num,
.allez-sidebar-heading,
.allez-mini-tile__h,
.no-sidebar-card__header,
.allez-landing-lead__brand {
	font-family: var(--allez-font-heading) !important;
}

/* ---- 3. Heading hierarchy — size contrast ชัดเจน ---- */
.allez-theme h1 { font-size: clamp(2rem, 5vw, 3.5rem) !important; font-weight: 900 !important; color: #0f0a07 !important; line-height: 1.1 !important; letter-spacing: -0.02em; }
.allez-theme h2 { font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important; font-weight: 800 !important; color: #1a120e !important; line-height: 1.2 !important; }
.allez-theme h3 { font-size: clamp(1.2rem, 2.5vw, 1.65rem) !important; font-weight: 700 !important; color: #1a120e !important; }
.allez-theme h4 { font-size: 1.2rem !important; font-weight: 700 !important; color: #2d211c !important; }

/* ---- 4. Body text contrast สูงขึ้น ---- */
.allez-theme body,
.allez-theme p,
.allez-theme li,
.allez-theme span,
.allez-theme td,
.allez-theme div {
	font-family: var(--allez-font) !important;
	color: #1a120e;
}

/* ---- 5. Muted text — ยังอ่านได้ชัด ---- */
.allez-theme .text-muted,
.allez-mini-tile__p,
.allez-testi-card__role,
.allez-hero-headline__sub,
.allez-footer-tagline {
	color: #3d2516 !important;
	font-weight: 600 !important;
}

/* ---- 6. Banner wood heading ---- */
.allez-banner-wood {
	font-size: clamp(1.2rem, 3vw, 1.55rem) !important;
	letter-spacing: 0.02em !important;
}

/* ---- 7. Landing lead ---- */
.allez-landing-lead {
	font-family: var(--allez-font-heading) !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #1a120e !important;
	letter-spacing: 0.01em;
}

/* ---- 8. Stat numbers ---- */
.allez-stat-card__num {
	font-size: clamp(1.9rem, 4vw, 2.6rem) !important;
	font-weight: 900 !important;
	letter-spacing: -0.03em;
}

/* ---- 9. Condition list ---- */
.allez-condition-list {
	font-family: var(--allez-font) !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	color: #1a120e !important;
	line-height: 2 !important;
}

/* ---- 10. FAQ ---- */
.allez-faq-q {
	font-family: var(--allez-font-heading) !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #1a120e !important;
}

.allez-faq-a {
	font-family: var(--allez-font) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	color: #2d211c !important;
	line-height: 1.9 !important;
}

/* ---- 11. Testimonials ---- */
.allez-testi-card__text {
	font-family: var(--allez-font) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	color: #1a120e !important;
	line-height: 1.85 !important;
}

.allez-testi-card__name {
	font-family: var(--allez-font-heading) !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	color: #1a120e !important;
}

/* ---- 12. Navbar links ---- */
.allez-navbar .navbar-nav > li > a,
.allez-guest .allez-navbar .navbar-nav > li > a {
	font-family: var(--allez-font-heading) !important;
	font-weight: 700 !important;
}

/* ---- 13. Buttons ---- */
.allez-theme .btn,
.allez-theme .btn-main,
.allez-theme .btn-primary,
.allez-theme button[type="submit"] {
	font-family: var(--allez-font-heading) !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em;
}

/* ---- 14. Form labels ---- */
.allez-theme label,
.allez-theme .control-label {
	font-family: var(--allez-font-heading) !important;
	font-weight: 700 !important;
	color: #1a120e !important;
}

/* ==========================================================================
   Testimonials — Premium upgrade
   ========================================================================== */

/* Section wrapper */
.allez-landing-testimonials {
	padding: 0.5rem 0 1rem !important;
}

/* Card — เพิ่ม depth และ border ทอง */
.allez-testi-card {
	background: #fff !important;
	border: none !important;
	border-radius: 18px !important;
	padding: 1.75rem 1.5rem 1.5rem !important;
	box-shadow:
		0 2px 0 rgba(232, 197, 71, 0.6),
		0 12px 40px rgba(45, 33, 28, 0.12),
		0 2px 8px rgba(45, 33, 28, 0.08) !important;
	position: relative;
	border-top: 3px solid #e8c547 !important;
}

/* Quote mark ขนาดใหญ่สีทอง */
.allez-testi-card::before {
	content: '\201C';
	position: absolute;
	top: -10px;
	left: 18px;
	font-size: 5rem;
	line-height: 1;
	font-family: Georgia, serif;
	color: #e8c547;
	opacity: 0.9;
	font-weight: 900;
}

/* Quote text */
.allez-testi-card__text {
	font-size: 1rem !important;
	font-weight: 500 !important;
	color: #1a120e !important;
	line-height: 1.85 !important;
	padding-top: 1.5rem !important;
	font-style: italic;
}

/* Author divider */
.allez-testi-card__author {
	margin-top: 1.1rem !important;
	padding-top: 0.85rem !important;
	border-top: 1px solid rgba(232, 197, 71, 0.35) !important;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

/* Author name */
.allez-testi-card__name {
	font-family: var(--allez-font-heading, "Kanit", sans-serif) !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	color: #1a120e !important;
}

/* Author role */
.allez-testi-card__role {
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	color: var(--allez-accent) !important;
	letter-spacing: 0.03em;
}

/* Banner heading */
.allez-landing-testimonials .allez-banner-wood {
	font-size: clamp(1.25rem, 3vw, 1.65rem) !important;
	padding: 1.1rem 2rem !important;
	letter-spacing: 0.04em !important;
}

/* Star rating — เพิ่มดาว 5 ดวงบน card */
.allez-testi-card::after {
	content: '★★★★★';
	position: absolute;
	top: 1.1rem;
	right: 1.25rem;
	font-size: 0.85rem;
	color: #e8c547;
	letter-spacing: 0.05em;
}

/* Hover lift */
.allez-testi-card:hover {
	transform: translateY(-4px) !important;
	box-shadow:
		0 2px 0 rgba(232, 197, 71, 0.7),
		0 20px 50px rgba(45, 33, 28, 0.18),
		0 4px 12px rgba(45, 33, 28, 0.1) !important;
}

/* ==========================================================================
   New Order — Right sidebar redesign (bigger + premium)
   ========================================================================== */

/* ---- ขยาย col ฝั่งขวาและซ้าย ---- */
.neworder-page .col-md-8 {
	padding-right: 20px !important;
}

.neworder-page .col-md-4 {
	padding-left: 8px !important;
}

/* ---- Card base — premium style ---- */
.no-sidebar-card {
	background: #fff !important;
	border: none !important;
	border-radius: 20px !important;
	box-shadow:
		0 4px 0 rgba(232, 197, 71, 0.4),
		0 12px 36px rgba(45, 33, 28, 0.12) !important;
	margin-bottom: 1.35rem !important;
	overflow: hidden;
	transition: transform 0.15s, box-shadow 0.15s;
}

.no-sidebar-card:hover {
	transform: translateY(-2px);
	box-shadow:
		0 4px 0 rgba(232, 197, 71, 0.55),
		0 18px 48px rgba(45, 33, 28, 0.16) !important;
}

/* ---- Header — gradient เข้มขึ้น ---- */
.no-sidebar-card__header {
	background: linear-gradient(135deg, #3d2a22 0%, #1a120e 100%) !important;
	color: #f5e6a8 !important;
	font-family: var(--allez-font-heading, "Kanit", sans-serif) !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	padding: 1rem 1.4rem !important;
	border-bottom: 2px solid rgba(232, 197, 71, 0.5) !important;
	letter-spacing: 0.04em;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

/* ---- Promo header — ส้มทอง ---- */
.no-sidebar-card__header--promo {
	background: linear-gradient(135deg, #b85c00 0%, #e07020 100%) !important;
}

/* ---- Body padding ---- */
.no-sidebar-card__body {
	padding: 1.35rem 1.4rem !important;
}

/* ---- Rule list — ใหญ่ขึ้น อ่านง่าย ---- */
.no-sidebar-rule-list {
	padding-left: 1.3rem !important;
}

.no-sidebar-rule-list li {
	font-size: 0.97rem !important;
	font-weight: 600 !important;
	color: #1a120e !important;
	line-height: 1.75 !important;
	margin-bottom: 0.55rem !important;
	padding-left: 0.2rem;
}

.no-sidebar-rule-list li strong {
	color: #c0392b !important;
	font-weight: 800 !important;
}

/* ---- Terms link ---- */
.no-sidebar-terms-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem;
	margin-top: 1rem !important;
	font-size: 0.95rem !important;
	font-weight: 800 !important;
	color: var(--allez-accent) !important;
	padding: 0.45rem 0.85rem;
	background: rgba(224, 112, 32, 0.08);
	border-radius: 8px;
	border: 1px solid rgba(224, 112, 32, 0.2);
}

.no-sidebar-terms-link:hover {
	background: rgba(224, 112, 32, 0.15) !important;
	text-decoration: none !important;
}

/* ---- No promo ---- */
.no-sidebar-no-promo {
	padding: 0.75rem 0 !important;
}

.no-sidebar-no-promo__icon {
	font-size: 2.8rem !important;
	margin-bottom: 0.75rem !important;
}

.no-sidebar-no-promo p {
	font-size: 0.97rem !important;
	font-weight: 600 !important;
	color: #3d2e24 !important;
	line-height: 1.7 !important;
}

/* ---- Contact note ---- */
.no-sidebar-contact-note {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #3d2e24 !important;
	line-height: 1.65 !important;
	margin-bottom: 1.1rem !important;
}

/* ---- Contact buttons — ใหญ่ขึ้น ---- */
.no-sidebar-contact-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.65rem !important;
	padding: 0.95rem 1.25rem !important;
	font-family: var(--allez-font-heading, "Kanit", sans-serif) !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	border-radius: 12px !important;
	margin-bottom: 0.7rem !important;
	letter-spacing: 0.03em;
	transition: filter 0.15s, transform 0.15s !important;
}

.no-sidebar-contact-btn:hover {
	transform: translateY(-2px) !important;
	filter: brightness(1.1) !important;
}

.no-sidebar-contact-btn--line {
	background: linear-gradient(135deg, #06c755, #00a844) !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(6, 199, 85, 0.35) !important;
}

.no-sidebar-contact-btn--fb {
	background: linear-gradient(135deg, #1877f2, #0d65d9) !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(24, 119, 242, 0.35) !important;
}

.no-sidebar-contact-btn svg {
	width: 22px !important;
	height: 22px !important;
	flex-shrink: 0;
}

@media (max-width: 991px) {
	.neworder-page .col-md-8,
	.neworder-page .col-md-4 {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
}

/* ==========================================================================
   New Order — Right sidebar v2 (col-md-5 + full redesign)
   ========================================================================== */

/* ---- Reset padding ---- */
.neworder-page .col-md-7 {
	padding-right: 16px !important;
}

.neworder-page .col-md-5 {
	padding-left: 8px !important;
}

/* ---- Card — ขนาดและ shadow ใหม่ ---- */
.no-sidebar-card {
	background: #fff !important;
	border-radius: 16px !important;
	border: none !important;
	box-shadow:
		0 3px 0 rgba(201, 162, 39, 0.5),
		0 16px 48px rgba(45, 33, 28, 0.14) !important;
	margin-bottom: 1.5rem !important;
	overflow: hidden;
}

/* ---- Header redesign ---- */
.no-sidebar-card__header {
	background: linear-gradient(135deg, #2d211c 0%, #1a120e 100%) !important;
	color: #f5e6a8 !important;
	font-family: var(--allez-font-heading, "Kanit", sans-serif) !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	padding: 1rem 1.5rem !important;
	border-bottom: 2px solid rgba(232, 197, 71, 0.4) !important;
	letter-spacing: 0.05em;
}

.no-sidebar-card__header--promo {
	background: linear-gradient(135deg, #c05a00 0%, #e87820 100%) !important;
}

/* ---- Body ---- */
.no-sidebar-card__body {
	padding: 1.4rem 1.5rem !important;
}

/* ---- Rule list ---- */
.no-sidebar-rule-list {
	padding-left: 1.4rem !important;
	margin: 0 !important;
}

.no-sidebar-rule-list li {
	font-size: 0.97rem !important;
	font-weight: 600 !important;
	color: #1a120e !important;
	line-height: 1.8 !important;
	margin-bottom: 0.5rem !important;
}

/* ---- Contact buttons ---- */
.no-sidebar-contact-btn {
	padding: 1rem 1.25rem !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	border-radius: 12px !important;
	margin-bottom: 0.75rem !important;
	letter-spacing: 0.03em !important;
}

.no-sidebar-contact-btn--line {
	background: linear-gradient(135deg, #06c755, #04a845) !important;
	box-shadow: 0 4px 16px rgba(6, 199, 85, 0.3) !important;
}

.no-sidebar-contact-btn--fb {
	background: linear-gradient(135deg, #1877f2, #0c5ecb) !important;
	box-shadow: 0 4px 16px rgba(24, 119, 242, 0.3) !important;
}

/* mobile */
@media (max-width: 991px) {
	.neworder-page .col-md-7,
	.neworder-page .col-md-5 {
		padding-left: 15px !important;
		padding-right: 15px !important;
		width: 100% !important;
	}
}

/* ==========================================================================
   Footer — contrast fix ให้มองเห็นชัด
   ========================================================================== */

.allez-site-footer {
	background: linear-gradient(180deg, #1a120e 0%, #0f0a07 100%) !important;
	color: #f0e8d8 !important;
	padding-bottom: calc(4rem + env(safe-area-inset-bottom, 0px)) !important;
}

/* Brand name */
.allez-footer-brandname {
	color: #fff8e1 !important;
	font-size: 1.65rem !important;
}

/* Tagline */
.allez-footer-tagline {
	color: rgba(240, 232, 216, 0.75) !important;
	font-size: 0.97rem !important;
	font-weight: 500 !important;
}

/* Column title */
.allez-footer-col__title {
	color: #e8c547 !important;
	font-size: 0.9rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.1em;
	margin-bottom: 1rem !important;
}

/* Links */
.allez-footer-links a {
	color: rgba(240, 232, 216, 0.8) !important;
	font-size: 0.97rem !important;
	font-weight: 500 !important;
	transition: color 0.15s;
}

.allez-footer-links a:hover {
	color: #e8c547 !important;
}

.allez-footer-links li {
	color: rgba(240, 232, 216, 0.7) !important;
	font-size: 0.95rem !important;
	margin-bottom: 0.5rem !important;
	line-height: 1.6 !important;
}

/* Social buttons */
.allez-footer-social--line {
	color: #4cff82 !important;
	border-color: rgba(76, 255, 130, 0.35) !important;
	background: rgba(6, 199, 85, 0.12) !important;
}

.allez-footer-social--facebook {
	color: #74b3ff !important;
	border-color: rgba(116, 179, 255, 0.35) !important;
	background: rgba(24, 119, 242, 0.12) !important;
}

/* Bottom bar */
.allez-footer-bottom {
	border-top-color: rgba(232, 197, 71, 0.2) !important;
}

.allez-footer-copy {
	color: rgba(240, 232, 216, 0.55) !important;
	font-size: 0.88rem !important;
}

/* ==========================================================================
   Bootstrap Modal fix — force above all fixed/transformed elements
   ========================================================================== */

.modal,
.modal-backdrop {
	position: fixed !important;
	z-index: 99999 !important;
}

.modal-dialog {
	z-index: 100000 !important;
	position: relative !important;
}

/* ปิด transform/filter ทุกอย่างที่อาจสร้าง stacking context */
.allez-bg,
.allez-bg-watermark,
.allez-bg-glow,
.allez-particles,
.allez-decor,
.allez-trust-bar {
	transform: none !important;
	filter: none !important;
	will-change: auto !important;
	isolation: auto !important;
}

/* shell และ main ต้องไม่สร้าง stacking context */
.allez-shell,
.allez-main,
.allez-theme body {
	transform: none !important;
	filter: none !important;
	isolation: auto !important;
	contain: none !important;
}

/* ==========================================================================
   Ksher / Payment QR popup fix
   ========================================================================== */

/* background fixed layers ต้องอยู่ต่ำกว่า payment popup */
.allez-bg { z-index: -4 !important; }
.allez-bg-watermark { z-index: -3 !important; }
.allez-bg-glow { z-index: -2 !important; }
.allez-particles { z-index: -1 !important; }
.allez-decor { z-index: 0 !important; }

/* shell และ content อยู่ระดับปกติ */
.allez-shell { z-index: 1 !important; }
.allez-main { z-index: 1 !important; }

/* trust bar อยู่ระดับ 900 */
.allez-trust-bar { z-index: 900 !important; }

/* navbar อยู่ระดับ 1030 ตาม Bootstrap */
.allez-header { z-index: 1030 !important; }

/* modal + payment popup อยู่สูงสุด */
.modal-backdrop { z-index: 10000 !important; }
.modal { z-index: 10001 !important; }

/* Ksher / iframe payment popup */
iframe[src*="ksher"],
iframe[src*="payment"],
iframe[src*="qr"],
div[class*="ksher"],
div[id*="ksher"],
div[id*="payment-modal"],
div[id*="qr"] {
	z-index: 99999 !important;
	position: relative !important;
}

/* ==========================================================================
   QR Modal fix — ensure #qr-modal shows correctly
   ========================================================================== */

#qr-modal {
	z-index: 99999 !important;
}

#qr-modal.fade .modal-dialog {
	transform: translateY(50px) !important;
	opacity: 0 !important;
	transition: all 0.4s ease !important;
}

#qr-modal.in .modal-dialog,
#qr-modal.show .modal-dialog {
	transform: translateY(0) !important;
	opacity: 1 !important;
}

.modal-backdrop {
	z-index: 99998 !important;
}

/* ปิด filter ทุกอย่างบน parent elements ที่อาจกัก modal */
.allez-theme,
.allez-shell,
.allez-main,
.allez-header,
.allez-trust-bar {
	filter: none !important;
	transform: none !important;
	isolation: auto !important;
}

/* ==========================================================================
   Hero — สีตัวหนังสือ ขาวครีม contrast ชัดบนพื้นมืด
   ========================================================================== */

/* Eyebrow pill */
.allez-hero-headline__eyebrow {
	color: #f5e6a8 !important;
	background: rgba(245, 230, 168, 0.12) !important;
	border-color: rgba(245, 230, 168, 0.45) !important;
}

/* H1 หลัก — ขาวครีม */
.allez-hero-headline__title {
	color: #fff8f0 !important;
	text-shadow:
		0 1px 0 rgba(0, 0, 0, 0.5),
		0 3px 12px rgba(0, 0, 0, 0.4) !important;
}

/* Span gradient — ทองสว่างขึ้น */
.allez-hero-headline__title span {
	background: linear-gradient(135deg, #fff0a0 0%, #f5d060 45%, #e8c020 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
	filter: drop-shadow(0 2px 8px rgba(232, 192, 32, 0.5)) !important;
}

/* Sub text — ครีมอ่อน */
.allez-hero-headline__sub {
	color: rgba(255, 245, 225, 0.85) !important;
	font-weight: 600 !important;
}

/* ==========================================================================
   Hero — พื้นหลังเปลี่ยนเป็นสีเข้มเกือบดำ contrast สูง
   ========================================================================== */

.allez-hero-headline::before {
	background: linear-gradient(160deg, #0f0a07 0%, #1a1008 60%, #0a0806 100%) !important;
	border: 1.5px solid rgba(232, 197, 71, 0.4) !important;
	box-shadow:
		0 0 0 3px rgba(232, 197, 71, 0.08),
		0 24px 64px rgba(0, 0, 0, 0.5) !important;
}

/* ==========================================================================
   Hero — H1 ขาวสว่าง บรรทัดแรกไม่กลืนพื้น
   ========================================================================== */

.allez-hero-headline__title {
	color: #ffffff !important;
	text-shadow:
		0 1px 0 rgba(0, 0, 0, 0.8),
		0 2px 16px rgba(0, 0, 0, 0.6) !important;
}

/* span บรรทัดสอง — ทองสว่างโดดเด่น */
.allez-hero-headline__title span {
	background: linear-gradient(135deg, #ffe066 0%, #ffd700 50%, #ffaa00 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
	filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.6)) !important;
}

/* Sub text — ขาวครีม */
.allez-hero-headline__sub {
	color: rgba(255, 255, 255, 0.8) !important;
}

/* Eyebrow — ทองอ่านง่าย */
.allez-hero-headline__eyebrow {
	color: #ffe066 !important;
	border-color: rgba(255, 224, 102, 0.5) !important;
	background: rgba(255, 224, 102, 0.1) !important;
}

/* ปิด ::before เพราะใช้ inline style แทน */
.allez-hero-headline::before {
	display: none !important;
}

.allez-hero-headline::after {
	display: none !important;
}

/* ==========================================================================
   Hero — กรอบชัด พื้นเข้ม อ่านง่าย (final fix)
   ========================================================================== */

.allez-hero-headline::before {
	background: linear-gradient(160deg, #1a1208 0%, #0f0a05 100%) !important;
	border: 2px solid #c9a227 !important;
	box-shadow:
		0 0 0 1px rgba(232, 197, 71, 0.15),
		0 24px 64px rgba(0, 0, 0, 0.6),
		inset 0 1px 0 rgba(255, 220, 100, 0.1) !important;
	border-radius: 20px !important;
}

/* ==========================================================================
   Hero — FINAL OVERRIDE (ล้างทุก rule เดิม)
   ========================================================================== */

.allez-theme .allez-hero-headline {
	position: relative !important;
	padding: 3rem 2.5rem 2.5rem !important;
	max-width: 900px !important;
	margin: 0 auto !important;
	text-align: center !important;
}

.allez-theme .allez-hero-headline::before {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	border-radius: 20px !important;
	background: #12100a !important;
	border: 2px solid #c9a227 !important;
	box-shadow: 0 8px 40px rgba(0,0,0,0.5) !important;
	z-index: 0 !important;
}

.allez-theme .allez-hero-headline > * {
	position: relative !important;
	z-index: 1 !important;
}

.allez-theme .allez-hero-headline__title {
	color: #ffffff !important;
	text-shadow: 0 2px 12px rgba(0,0,0,0.8) !important;
}

.allez-theme .allez-hero-headline__title span {
	background: linear-gradient(135deg, #ffe066, #ffd700, #ffaa00) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
}

.allez-theme .allez-hero-headline__eyebrow {
	color: #ffe066 !important;
	border: 1px solid rgba(255,224,102,0.5) !important;
	background: rgba(255,224,102,0.08) !important;
}

.allez-theme .allez-hero-headline__sub {
	color: rgba(255,245,220,0.85) !important;
}

/* ==========================================================================
   Hero — ปิด ::before ทั้งหมด ใช้ inline style แทน
   ========================================================================== */

.allez-hero-headline::before,
.allez-theme .allez-hero-headline::before {
	display: none !important;
	content: none !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
}

.allez-hero-headline::after,
.allez-theme .allez-hero-headline::after {
	display: none !important;
	content: none !important;
}

.allez-hero-headline > * {
	position: relative !important;
	z-index: 1 !important;
}

/* ==========================================================================
   Marquee — force animation ทุก device ทุก browser
   ========================================================================== */

.allez-tiles-marquee__track {
	animation: allez-scroll-x 28s linear infinite !important;
	flex-wrap: nowrap !important;
	width: max-content !important;
}

.allez-testi-marquee__track {
	animation: allez-scroll-x 38s linear infinite !important;
	flex-wrap: nowrap !important;
	width: max-content !important;
}

.allez-platform-marquee__track {
	animation: allez-marquee-x 42s linear infinite !important;
	flex-wrap: nowrap !important;
	width: max-content !important;
}

/* group ที่ 2 ต้องแสดงเสมอ ไม่งั้น loop ไม่ต่อเนื่อง */
.allez-tiles-marquee__group[aria-hidden="true"],
.allez-testi-marquee__group[aria-hidden="true"],
.allez-platform-marquee__group[aria-hidden="true"] {
	display: inline-flex !important;
}

/* mobile — ยังวิ่งอยู่ แค่ช้าลงนิด */
@media (max-width: 767px) {
	.allez-tiles-marquee__track {
		animation: allez-scroll-x 20s linear infinite !important;
	}
	.allez-testi-marquee__track {
		animation: allez-scroll-x 30s linear infinite !important;
	}
}

/* prefers-reduced-motion — ยังวิ่งอยู่แต่ช้ามาก */
@media (prefers-reduced-motion: reduce) {
	.allez-tiles-marquee__track,
	.allez-testi-marquee__track,
	.allez-platform-marquee__track {
		animation-duration: 60s !important;
		animation-play-state: running !important;
	}
}
