:root{
	--bg:#ffffff;
	--surface:#ffffff;
	--text:#0f2f25;
	--muted:#4b6358;
	--primary:#22c55e;
	--primary-2:#86efac;
	--primary-dark:#15803d;
	--ring:rgba(34,197,94,.35);
	--ring-focus:rgba(34,197,94,.5);
	--border:rgba(15,47,37,.12);
	--border-focus:rgba(34,197,94,.35);
	--shadow:0 14px 40px rgba(15,47,37,.12);
	--shadow-sm:0 4px 12px rgba(15,47,37,.09);
	--shadow-lg:0 20px 50px rgba(15,47,37,.16);
	--radius:18px;
	--radius-sm:12px;
	--radius-lg:24px;
	--container:1120px;
	--header-h:126px;
	--spacing-unit:8px;
	--touch-target:44px;
	--transition-fast:0.15s ease;
	--transition-base:0.2s ease;
	--transition-slow:0.3s ease;
}

@media (max-width: 560px){
	:root{--header-h:112px}
	.brand-link{gap:8px}
	.brand-link .custom-logo{height:30px;max-height:30px}
	.header-top-inner{min-height:62px}
	.header-bottom-inner{min-height:44px}
	.header-search-submit{min-width:34px;min-height:34px}
}

*,*::before,*::after{box-sizing:border-box}

*{margin:0}

html{
	height:100%;
	scroll-behavior:smooth;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

@media (prefers-reduced-motion: reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}
}

body{
	height:100%;
	font-family:var(--font-family, system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Thai","Noto Sans",Arial,sans-serif);
	font-size:var(--font-size-base, 16px);
	line-height:1.6;
	color:var(--text);
	background:var(--bg);
	padding-top:var(--header-h);
	padding-left:env(safe-area-inset-left);
	padding-right:env(safe-area-inset-right);
}

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

a{color:inherit;transition:color var(--transition-fast)}

button,input,select,textarea{
	font:inherit;
	color:inherit;
}

.skip-link{
	position:absolute;
	left:-9999px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
	z-index:999999;
}

.skip-link:focus{
	left:10px;
	top:10px;
	width:auto;
	height:auto;
	padding:12px 18px;
	background:var(--surface);
	border:2px solid var(--primary);
	border-radius:var(--radius-sm);
	box-shadow:var(--shadow-lg);
	color:var(--text);
	font-weight:700;
	text-decoration:none;
	outline:none;
}

.container{
	max-width:var(--container);
	margin:0 auto;
	padding:0 max(18px, env(safe-area-inset-left));
	width:100%;
}

.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.layout.has-left.has-right{grid-template-columns:280px minmax(0,1fr) 280px}
.layout.has-left:not(.has-right){grid-template-columns:280px minmax(0,1fr)}
.layout.has-right:not(.has-left){grid-template-columns:minmax(0,1fr) 280px}
.layout-main{min-width:0}
.sidebar .widget{
	background:rgba(255,255,255,.85);
	border:1px solid var(--border);
	border-radius:var(--radius);
	padding:16px;
	box-shadow:var(--shadow-sm);
	margin-bottom:calc(var(--spacing-unit) * 2);
	transition:box-shadow var(--transition-base), border-color var(--transition-base);
}

.sidebar .widget:hover{
	box-shadow:var(--shadow);
	border-color:var(--border-focus);
}

.sidebar .widget:last-child{margin-bottom:0}

.sidebar .widget-title{
	margin:0 0 12px;
	font-size:15px;
	font-weight:700;
	letter-spacing:-.1px;
	color:var(--text);
	line-height:1.3;
}

.sidebar .widget ul{
	list-style:none;
	margin:0;
	padding:0;
}

.sidebar .widget li{
	margin:8px 0;
}

.sidebar .widget a{
	color:var(--text);
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	padding:6px 0;
	transition:color var(--transition-fast), padding-left var(--transition-fast);
}

.sidebar .widget a:hover{
	color:var(--primary);
	padding-left:6px;
}

.sidebar .widget a:focus{
	outline:2px solid var(--ring-focus);
	outline-offset:2px;
	border-radius:4px;
}

.sidebar .widget a:focus:not(:focus-visible){
	outline:none;
}

.home-banner{padding:0}
.home-banner-inner.container{max-width:none;padding:0}
.home-banner-inner .widget{background:none;border:0;border-radius:0;padding:0;box-shadow:none;margin:0}
.home-banner-inner .widget-title{margin:0 0 10px;color:var(--text);font-size:14px;padding:0 18px}
.home-banner-inner img{width:100%;max-width:none;height:auto;display:block}

.site-header{
	position:fixed;
	left:0;
	right:0;
	top:0;
	z-index:10000;
	isolation:isolate;
	background:#ffffff;
	backdrop-filter:saturate(180%) blur(14px);
	border-bottom:1px solid var(--border);
	transition:box-shadow var(--transition-base), background var(--transition-base);
}

.site-header.scrolled{
	box-shadow:var(--shadow-sm);
}

body.admin-bar .site-header{top:32px}
body.admin-bar{padding-top:calc(var(--header-h) + 32px)}

.header-top{
	border-bottom:1px solid var(--border);
	background:#ffffff;
}

.header-top-inner{
	min-height:74px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
}

.header-tools{
	flex:1;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:12px;
	min-width:0;
}

.header-search-form{
	flex:1;
	max-width:560px;
	display:flex;
	align-items:center;
	background:#fff;
	border:1px solid var(--border);
	border-radius:999px;
	padding:6px;
	box-shadow:var(--shadow-sm);
}

.header-search-input{
	border:0;
	outline:0;
	box-shadow:none;
	background:transparent;
	padding:8px 12px;
	min-height:unset;
	font-size:14px;
}

.header-search-input:focus{
	outline:none;
	box-shadow:none;
}

.header-search-submit{
	border:0;
	border-radius:999px;
	min-width:38px;
	min-height:38px;
	padding:8px;
	background:linear-gradient(135deg,var(--primary),var(--primary-2));
	color:#08321d;
	cursor:pointer;
}

.header-quick-links .menu{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	align-items:center;
	gap:6px;
}

.header-quick-links a{
	display:inline-flex;
	align-items:center;
	padding:8px 12px;
	border-radius:999px;
	text-decoration:none;
	font-size:13px;
	font-weight:700;
	color:var(--text);
	background:color-mix(in srgb, var(--primary) 8%, transparent);
}

.header-cart{
	position:relative;
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	border-radius:12px;
	text-decoration:none;
	background:#fff;
	border:1px solid var(--border);
	box-shadow:var(--shadow-sm);
}

.header-cart-icon{font-size:20px;line-height:1}

.header-cart-badge{
	position:absolute;
	top:-7px;
	right:-7px;
	min-width:20px;
	height:20px;
	padding:0 5px;
	border-radius:999px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:11px;
	font-weight:800;
	line-height:1;
	background:#dc2626;
	color:#fff;
	box-shadow:0 6px 14px rgba(220,38,38,.38);
}

.header-cart-badge.is-empty{display:none}

.header-bottom{background:#ffffff}

.header-bottom-inner{
	min-height:52px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
}

.header-inner{
	height:var(--header-h);
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:calc(var(--spacing-unit) * 2);
}

.brand-link{
	display:flex;
	align-items:center;
	gap:10px;
	text-decoration:none;
	color:inherit;
	font-weight:700;
	border-radius:var(--radius-sm);
	padding:6px;
	margin:-6px;
	transition:background var(--transition-fast);
}

.brand-link:focus{
	outline:3px solid var(--ring-focus);
	outline-offset:2px;
}

.brand-link:focus:not(:focus-visible){
	outline:none;
}

.brand-link:focus-visible{
	outline:3px solid var(--ring-focus);
	outline-offset:2px;
}

.brand-mark{
	width:14px;
	height:14px;
	border-radius:999px;
	background:linear-gradient(135deg,var(--primary),var(--primary-2));
	box-shadow:0 10px 30px color-mix(in srgb, var(--primary) 35%, transparent);
}

.brand-link .custom-logo{
	height:var(--brand-logo-size, 36px);
	width:auto;
	max-height:var(--brand-logo-size, 36px);
	max-width:none;
	display:block;
	object-fit:contain;
}

.brand-text{
	letter-spacing:.2px;
	font-size:var(--brand-font-size, 16px);
	line-height:1.2;
}

.primary-nav .menu{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	align-items:center;
	gap:calc(var(--spacing-unit) * 1.5);
}

.primary-nav .menu > li{position:relative}

.primary-nav a{
	display:inline-flex;
	align-items:center;
	min-height:var(--touch-target);
	padding:10px 14px;
	border-radius:999px;
	text-decoration:none;
	color:var(--text);
	font-weight:600;
	font-size:var(--menu-font-size, 14px);
	transition:background var(--transition-fast), color var(--transition-fast);
	position:relative;
}

.primary-nav a:hover{
	background:color-mix(in srgb, var(--primary) 14%, transparent);
	color:var(--primary-dark);
}

.primary-nav a:focus{
	outline:2px solid var(--ring-focus);
	outline-offset:2px;
	z-index:1;
}

.primary-nav a:focus:not(:focus-visible){
	outline:none;
}

.primary-nav a:focus-visible{
	outline:2px solid var(--ring-focus);
	outline-offset:2px;
	z-index:1;
}

.primary-nav a:active{
	background:color-mix(in srgb, var(--primary) 18%, transparent);
	transform:scale(0.98);
}

.primary-nav .sub-menu{
	list-style:none;
	margin:0;
	padding:10px;
	position:absolute;
	top:100%;
	margin-top:10px;
	left:0;
	min-width:240px;
	background:rgba(255,255,255,.98);
	backdrop-filter:saturate(180%) blur(16px);
	border:1px solid var(--border-focus);
	border-radius:var(--radius);
	box-shadow:var(--shadow-lg);
	opacity:0;
	transform:translateY(-8px);
	pointer-events:none;
	transition:opacity var(--transition-base), transform var(--transition-base);
	z-index:10001;
}

.primary-nav .sub-menu::before{
	content:'';
	position:absolute;
	left:0;
	right:0;
	top:-12px;
	height:12px;
}

.primary-nav .sub-menu a{
	display:flex;
	justify-content:flex-start;
	width:100%;
	border-radius:var(--radius-sm);
	padding:12px 14px;
	min-height:var(--touch-target);
}

.primary-nav .menu > li:hover > .sub-menu,
.primary-nav .menu > li:focus-within > .sub-menu{
	opacity:1;
	transform:translateY(0);
	pointer-events:auto;
}

@media (prefers-reduced-motion: reduce){
	.primary-nav .sub-menu{
		transition:opacity 0.01ms, transform 0.01ms;
	}
}

.primary-nav .submenu-toggle{
	display:none;
	appearance:none;
	border:0;
	background:transparent;
	padding:10px 12px;
	min-width:var(--touch-target);
	min-height:var(--touch-target);
	border-radius:999px;
	color:var(--text);
	font-weight:900;
	line-height:1;
	cursor:pointer;
	transition:background var(--transition-fast), transform var(--transition-fast);
}

.primary-nav .submenu-toggle:hover{
	background:color-mix(in srgb, var(--primary) 12%, transparent);
}

.primary-nav .submenu-toggle:focus{
	outline:2px solid var(--ring-focus);
	outline-offset:2px;
}

.primary-nav .submenu-toggle:focus:not(:focus-visible){
	outline:none;
}

.primary-nav .submenu-toggle:active{
	transform:scale(0.95);
}

.nav-toggle{
	display:none;
	appearance:none;
	border:1px solid var(--border);
	background:var(--surface);
	border-radius:var(--radius-sm);
	padding:12px;
	min-width:var(--touch-target);
	min-height:var(--touch-target);
	box-shadow:var(--shadow-sm);
	flex-direction:column;
	gap:4px;
	cursor:pointer;
	transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}

.nav-toggle:hover{
	background:color-mix(in srgb, var(--primary) 8%, transparent);
	border-color:var(--border-focus);
}

.nav-toggle:focus{
	outline:2px solid var(--ring-focus);
	outline-offset:2px;
	border-color:var(--border-focus);
}

.nav-toggle:focus:not(:focus-visible){
	outline:none;
}

.nav-toggle:active{
	transform:scale(0.95);
}

.nav-toggle-bar{
	display:block;
	width:20px;
	height:2px;
	background:var(--text);
	margin:0;
	border-radius:2px;
	opacity:.85;
	transition:transform var(--transition-base), opacity var(--transition-base);
}

body.nav-open .nav-toggle-bar:nth-child(1){
	transform:translateY(6px) rotate(45deg);
}

body.nav-open .nav-toggle-bar:nth-child(2){
	opacity:0;
}

body.nav-open .nav-toggle-bar:nth-child(3){
	transform:translateY(-6px) rotate(-45deg);
}

.site-main{min-height:60vh}

.hero{padding:44px 0 18px}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:center}
.hero-title{
	margin:0 0 12px;
	font-size:clamp(32px, 6vw, 48px);
	font-weight:900;
	line-height:1.08;
	letter-spacing:-.6px;
}
.hero-subtitle{margin:0 0 18px;color:var(--muted);font-size:16px;line-height:1.6;max-width:56ch}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

.hero-badges{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:color-mix(in srgb, var(--primary) 10%, transparent);border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);color:var(--text);font-weight:700;font-size:12px}

.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:12px 20px;
	min-height:var(--touch-target);
	border-radius:999px;
	text-decoration:none;
	font-weight:700;
	font-size:14px;
	border:1px solid transparent;
	cursor:pointer;
	transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
	position:relative;
	overflow:hidden;
}

.btn::before{
	content:'';
	position:absolute;
	inset:0;
	background:rgba(255,255,255,.2);
	opacity:0;
	transition:opacity var(--transition-fast);
}

.btn:hover::before{
	opacity:1;
}

.btn:active{
	transform:scale(0.97);
}

.btn-primary{
	background:linear-gradient(135deg,var(--primary),var(--primary-2));
	color:#052e16;
	box-shadow:0 14px 34px color-mix(in srgb, var(--primary) 25%, transparent);
}

.btn-primary:hover{
	box-shadow:0 18px 40px color-mix(in srgb, var(--primary) 30%, transparent);
}

.btn-primary:focus{
	outline:3px solid var(--ring-focus);
	outline-offset:3px;
}

.btn-primary:focus:not(:focus-visible){
	outline:none;
}

.btn-ghost{
	background:rgba(255,255,255,.70);
	border-color:var(--border);
	color:var(--text);
}

.btn-ghost:hover{
	background:#fff;
	border-color:var(--border-focus);
	box-shadow:var(--shadow-sm);
}

.btn-ghost:focus{
	outline:2px solid var(--ring-focus);
	outline-offset:2px;
}

.btn-ghost:focus:not(:focus-visible){
	outline:none;
}

.hero-card{position:relative;border-radius:var(--radius);background:radial-gradient(1200px 500px at 20% 20%,color-mix(in srgb, var(--primary) 28%, transparent),transparent 60%),linear-gradient(180deg,#fff,rgba(255,255,255,.65));border:1px solid color-mix(in srgb, var(--primary) 20%, transparent);box-shadow:var(--shadow);min-height:280px;overflow:hidden}
.hero-card-inner{position:absolute;inset:20px;border-radius:calc(var(--radius) - 8px);background:linear-gradient(135deg,color-mix(in srgb, var(--primary) 10%, transparent),color-mix(in srgb, var(--primary-2) 6%, transparent));border:1px dashed color-mix(in srgb, var(--primary) 35%, transparent)}

.content{padding:22px 0 56px}
.actions-row{margin-top:14px;display:flex;gap:12px;flex-wrap:wrap}
.section-head{
	margin:0 0 calc(var(--spacing-unit) * 3);
}

.section-title{
	margin:0;
	font-size:clamp(20px, 4vw, 26px);
	font-weight:800;
	letter-spacing:-.3px;
	line-height:1.2;
}

.section-desc{
	margin:10px 0 0;
	color:var(--muted);
	line-height:1.65;
	max-width:72ch;
	font-size:15px;
}

.cta-band{padding:10px 0 6px}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid color-mix(in srgb, var(--primary) 22%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--primary) 12%, transparent),color-mix(in srgb, var(--primary-2) 10%, transparent));border-radius:var(--radius);padding:18px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.cta-title{margin:0;font-size:18px}
.cta-desc{margin:6px 0 0;color:var(--muted);line-height:1.6}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}

.features{padding:18px 0}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.feature-card{background:rgba(255,255,255,.86);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:0 10px 26px rgba(15,23,42,.06)}
.feature-icon{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb, var(--primary) 35%, transparent),color-mix(in srgb, var(--primary-2) 18%, transparent));border:1px solid color-mix(in srgb, var(--primary) 25%, transparent);box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 12%, transparent)}
.feature-title{margin:10px 0 6px;font-size:16px}
.feature-desc{margin:0;color:var(--muted);line-height:1.65;font-size:14px}

.reviews{padding:14px 0}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.review-card{background:rgba(255,255,255,.86);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:0 10px 26px rgba(15,23,42,.06)}
.review-stars{font-weight:900;color:var(--primary-dark);letter-spacing:1px}
.review-text{margin:10px 0 10px;color:var(--text);line-height:1.75}
.review-name{color:var(--muted);font-size:13px;font-weight:700}

.signup{padding:16px 0 8px}
.signup-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);background:rgba(255,255,255,.86);border-radius:var(--radius);padding:18px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.signup-title{margin:0;font-size:18px}
.signup-desc{margin:6px 0 0;color:var(--muted);line-height:1.6}
.signup-actions{display:flex;gap:12px;flex-wrap:wrap}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.post-card{
	background:rgba(255,255,255,.86);
	border:1px solid var(--border);
	border-radius:var(--radius);
	box-shadow:var(--shadow-sm);
	overflow:hidden;
	transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}

.post-card:hover{
	transform:translateY(-4px);
	box-shadow:var(--shadow-lg);
	border-color:var(--border-focus);
}

.post-card:focus-within{
	transform:translateY(-4px);
	box-shadow:var(--shadow-lg);
	border-color:var(--border-focus);
}

.post-card-link{
	display:block;
	text-decoration:none;
	color:inherit;
	border-radius:var(--radius);
}

.post-card-link:focus{
	outline:2px solid var(--ring-focus);
	outline-offset:4px;
}

.post-card-link:focus:not(:focus-visible){
	outline:none;
}

.post-card-thumb{
	aspect-ratio:16/10;
	background:linear-gradient(135deg,color-mix(in srgb, var(--primary) 12%, transparent),color-mix(in srgb, var(--primary-2) 8%, transparent));
	overflow:hidden;
	position:relative;
}

.post-card-thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform var(--transition-slow);
}

.post-card:hover .post-card-thumb img{
	transform:scale(1.05);
}

.post-card-thumb-placeholder{
	width:100%;
	height:100%;
}

.post-card-title{
	margin:14px 16px 0;
	font-size:16px;
	line-height:1.4;
	font-weight:700;
}

.post-card-meta{
	margin:8px 16px 16px;
	color:var(--muted);
	font-size:13px;
	font-weight:600;
}

.entry{max-width:820px;margin:0 auto}
.entry-header{margin:0 0 14px}
.entry-title{
	margin:0;
	font-size:clamp(28px, 5vw, 36px);
	font-weight:800;
	letter-spacing:-.4px;
	line-height:1.15;
}
.entry-meta{margin-top:8px;color:var(--muted);font-size:13px;font-weight:700}
.entry-thumb{margin:16px 0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:0 10px 30px rgba(15,23,42,.06)}
.entry-content{
	line-height:1.75;
	color:var(--text);
}

.entry-content a{
	color:var(--primary-dark);
	text-decoration:underline;
	text-decoration-thickness:1px;
	text-underline-offset:2px;
	transition:color var(--transition-fast), text-decoration-color var(--transition-fast);
}

.entry-content a:hover{
	color:var(--primary);
	text-decoration-thickness:2px;
}

.entry-content a:focus{
	outline:2px solid var(--ring-focus);
	outline-offset:3px;
	border-radius:2px;
}

.entry-content a:focus:not(:focus-visible){
	outline:none;
}
.entry-nav{
	margin-top:calc(var(--spacing-unit) * 4);
	padding-top:calc(var(--spacing-unit) * 3);
	border-top:1px solid var(--border);
}

.entry-nav-inner{
	display:flex;
	justify-content:space-between;
	gap:calc(var(--spacing-unit) * 2);
	flex-wrap:wrap;
}

.entry-nav a{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:10px 16px;
	min-height:var(--touch-target);
	border-radius:var(--radius-sm);
	text-decoration:none;
	font-weight:700;
	font-size:14px;
	color:var(--text);
	background:rgba(255,255,255,.7);
	border:1px solid var(--border);
	transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}

.entry-nav a:hover{
	background:#fff;
	border-color:var(--border-focus);
	color:var(--primary-dark);
	transform:translateY(-2px);
	box-shadow:var(--shadow-sm);
}

.entry-nav a:focus{
	outline:2px solid var(--ring-focus);
	outline-offset:2px;
}

.entry-nav a:focus:not(:focus-visible){
	outline:none;
}

.entry-nav-prev::before{
	content:'←';
}

.entry-nav-next::after{
	content:'→';
}

.entry-front{max-width:var(--container)}
.entry-content > *{margin-top:0;margin-bottom:14px}
.entry-content > *:last-child{margin-bottom:0}
.entry-content h1,.entry-content h2,.entry-content h3{line-height:1.2;letter-spacing:-.3px;margin-top:18px;margin-bottom:10px}
.entry-content h1{font-size:40px}
.entry-content h2{font-size:26px}
.entry-content h3{font-size:18px}
.entry-content p{color:var(--muted);font-size:16px}
.entry-content strong{color:var(--text)}
.entry-content img{border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 10px 30px rgba(15,23,42,.06)}
.entry-content .wp-block-image{margin:16px 0}
.entry-content .wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}
.entry-content .wp-block-button__link{border-radius:999px;padding:12px 16px;font-weight:800;text-decoration:none}
.entry-content .wp-block-button.is-style-outline .wp-block-button__link{background:rgba(255,255,255,.70);border:1px solid var(--border);color:var(--text)}
.entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#052e16;border:1px solid transparent;box-shadow:0 14px 34px color-mix(in srgb, var(--primary) 20%, transparent)}
.entry-content .wp-block-columns{gap:14px}
.entry-content .wp-block-column{background:rgba(255,255,255,.86);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:0 10px 26px rgba(15,23,42,.06)}

.empty{max-width:760px;margin:0 auto;text-align:center;padding:24px 0}
.empty-title{margin:0;font-size:34px;letter-spacing:-.4px}
.empty-desc{margin:10px 0 18px;color:var(--muted);line-height:1.65}
.empty-actions{display:flex;flex-direction:column;align-items:center;gap:12px}
.empty-search{width:min(520px,100%)}
.empty-search form{display:flex;gap:10px}

.empty-search input[type="search"],
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="date"],
select,
textarea{
	flex:1;
	border:1px solid var(--border);
	border-radius:var(--radius-sm);
	padding:12px 16px;
	min-height:var(--touch-target);
	font-size:14px;
	background:rgba(255,255,255,.9);
	transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}

.empty-search input[type="search"]{
	border-radius:999px;
}

input[type="text"]:hover,
input[type="email"]:hover,
input[type="url"]:hover,
input[type="tel"]:hover,
input[type="number"]:hover,
input[type="date"]:hover,
input[type="search"]:hover,
select:hover,
textarea:hover{
	border-color:var(--border-focus);
	background:#fff;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus{
	outline:2px solid var(--ring-focus);
	outline-offset:2px;
	border-color:var(--primary);
	background:#fff;
	box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 10%, transparent);
}

input[type="text"]:focus:not(:focus-visible),
input[type="email"]:focus:not(:focus-visible),
input[type="url"]:focus:not(:focus-visible),
input[type="tel"]:focus:not(:focus-visible),
input[type="number"]:focus:not(:focus-visible),
input[type="date"]:focus:not(:focus-visible),
input[type="search"]:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible){
	outline:none;
}

input::placeholder,
textarea::placeholder{
	color:var(--muted);
	opacity:0.7;
}

textarea{
	min-height:120px;
	resize:vertical;
}

.empty-search input[type="submit"],
input[type="submit"],
button[type="submit"]{
	border:1px solid var(--border);
	background:#fff;
	border-radius:999px;
	padding:12px 20px;
	min-height:var(--touch-target);
	font-weight:700;
	cursor:pointer;
	transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}

.empty-search input[type="submit"]:hover,
input[type="submit"]:hover,
button[type="submit"]:hover{
	background:color-mix(in srgb, var(--primary) 14%, transparent);
	border-color:color-mix(in srgb, var(--primary) 45%, transparent);
	box-shadow:0 14px 34px color-mix(in srgb, var(--primary) 14%, transparent);
}

.empty-search input[type="submit"]:focus,
input[type="submit"]:focus,
button[type="submit"]:focus{
	outline:2px solid var(--ring-focus);
	outline-offset:2px;
}

.empty-search input[type="submit"]:focus:not(:focus-visible),
input[type="submit"]:focus:not(:focus-visible),
button[type="submit"]:focus:not(:focus-visible){
	outline:none;
}

.empty-search input[type="submit"]:active,
input[type="submit"]:active,
button[type="submit"]:active{
	transform:scale(0.97);
}

label{
	display:block;
	margin-bottom:8px;
	font-weight:600;
	font-size:14px;
	color:var(--text);
}

.form-group{
	margin-bottom:calc(var(--spacing-unit) * 2.5);
}

.form-help{
	margin-top:6px;
	font-size:13px;
	color:var(--muted);
	line-height:1.5;
}

.pagination{
	margin-top:calc(var(--spacing-unit) * 4);
}

.pagination .nav-links{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:calc(var(--spacing-unit) * 1.5);
	flex-wrap:wrap;
}

.pagination a,
.pagination .current{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:var(--touch-target);
	min-height:var(--touch-target);
	padding:10px 16px;
	border-radius:var(--radius-sm);
	text-decoration:none;
	font-weight:700;
	font-size:14px;
	transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.pagination a{
	background:rgba(255,255,255,.7);
	border:1px solid var(--border);
	color:var(--text);
}

.pagination a:hover{
	background:#fff;
	border-color:var(--border-focus);
	color:var(--primary-dark);
	transform:translateY(-2px);
	box-shadow:var(--shadow-sm);
}

.pagination a:focus{
	outline:2px solid var(--ring-focus);
	outline-offset:2px;
}

.pagination a:focus:not(:focus-visible){
	outline:none;
}

.pagination .current{
	background:linear-gradient(135deg,var(--primary),var(--primary-2));
	color:#06223f;
	border:1px solid transparent;
	box-shadow:var(--shadow-sm);
}

.site-footer{border-top:1px solid var(--border);background:#ffffff;color:var(--muted)}
.footer-widgets{border-bottom:1px solid var(--border)}
.footer-widgets-inner{padding:26px 0}
.footer-widgets-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.footer-widget-col .widget{background:rgba(15,47,37,.03);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:none}
.footer-widget-col .widget-title{margin:0 0 10px;font-size:14px;letter-spacing:-.1px;color:var(--text)}
.footer-widget-col a{color:var(--text);text-decoration:none}
.footer-widget-col a:hover{color:var(--primary-dark)}
.footer-widget-col a:hover{text-decoration:underline}
.footer-widget-col ul{margin:0;padding-left:18px}
.footer-widget-col li{margin:6px 0;color:var(--muted)}
.footer-inner{padding:24px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;color:var(--muted);font-size:14px}
.footer-brand{color:var(--text);font-weight:700}
.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.footer-copy,.footer-disclaimer{padding:2px 0}
.footer-copy{color:var(--text);font-weight:700}
.footer-disclaimer{max-width:76ch;line-height:1.6;font-size:12px;color:var(--muted)}

@media (max-width: 900px){
	.hero-inner{grid-template-columns:1fr}
	.post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
	.feature-grid{grid-template-columns:1fr}
	.review-grid{grid-template-columns:1fr}
	.cta-band-inner{flex-direction:column;align-items:flex-start}
	.signup-inner{flex-direction:column;align-items:flex-start}
	.layout,.layout.has-left.has-right,.layout.has-left:not(.has-right),.layout.has-right:not(.has-left){grid-template-columns:1fr}
	.footer-widgets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.footer-inner{flex-direction:column;align-items:flex-start}
	.footer-meta{align-items:flex-start;text-align:left}
	.container{padding:0 16px}
	.content{padding:18px 0 44px}
}

@media (max-width: 640px){
	.footer-widgets-grid{grid-template-columns:1fr}
	.post-grid{grid-template-columns:1fr;gap:12px}
	.hero{padding:32px 0 14px}
	.section-head{margin:0 0 calc(var(--spacing-unit) * 2)}
}

@media (max-width: 720px){
	body{
		padding-top:var(--header-h);
		padding-bottom:env(safe-area-inset-bottom);
	}
	.site-header{position:fixed;left:0;right:0;top:0}
	.header-top-inner{min-height:64px;gap:10px;align-items:center}
	.header-bottom-inner{min-height:46px}
	.header-tools{gap:8px}
	.header-search-form{max-width:none}
	.header-quick-links{display:none}
	.header-search-input{
		font-size:13px;
		padding:10px 12px 10px 38px;
		background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
		background-repeat:no-repeat;
		background-position:12px 50%;
		background-size:18px 18px;
	}
	.header-search-input:focus{
		background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
	}
	.header-search-submit{
		display:none;
	}
	.header-cart{width:40px;height:40px;border-radius:10px}
	.header-cart-badge{top:-6px;right:-6px}
	.brand-text{font-size:14px}
	.nav-toggle{display:inline-flex;align-items:center;justify-content:center}
	.primary-nav{
		position:fixed;
		left:0;
		right:0;
		top:var(--header-h);
		max-height:calc(100vh - var(--header-h) - env(safe-area-inset-bottom));
		overflow-y:auto;
		-webkit-overflow-scrolling:touch;
		background:rgba(255,255,255,.95);
		backdrop-filter:saturate(180%) blur(16px);
		border-bottom:1px solid var(--border);
		transform:translateY(-14px);
		opacity:0;
		pointer-events:none;
		transition:opacity var(--transition-base), transform var(--transition-base);
	}
	.primary-nav .menu{flex-direction:column;align-items:stretch;gap:10px;padding:14px}
	.primary-nav a{justify-content:center;background:color-mix(in srgb, var(--primary) 8%, transparent)}
	.primary-nav .menu > li{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
	.primary-nav .menu > li > a{flex:1 1 auto}
	.primary-nav .submenu-toggle{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.7);border:1px solid var(--border)}
	.primary-nav .sub-menu{position:static;min-width:0;flex:1 1 100%;padding:10px;opacity:1;transform:none;pointer-events:auto;box-shadow:none;border-radius:var(--radius-sm);display:none}
	.primary-nav .sub-menu a{justify-content:center}
	.primary-nav .menu > li.submenu-open > .sub-menu{display:block}
	body.nav-open .primary-nav{opacity:1;transform:translateY(0);pointer-events:auto}
	body.nav-open{overflow:hidden}
	.post-grid{grid-template-columns:1fr}
	.gp-latest{clear:both}
	.gp-latest .post-grid{grid-template-columns:1fr}
	.entry-content .gp-latest{margin:18px 0}
	.entry-content .gp-latest + *{margin-top:18px}
	.gif-aff-register{display:block;clear:both;position:relative}
	.entry-content .gif-aff-register{margin:18px 0}
	.entry-content .gp-latest + .gif-aff-register{margin-top:18px}
	.container{padding:0 14px}
	.entry{padding:0 4px}
	.empty-search form{flex-direction:column}
	.empty-search input[type="search"]{width:100%}
}

@media (max-width: 782px){
	body.admin-bar .site-header{top:46px}
	body.admin-bar{padding-top:calc(var(--header-h) + 46px)}
}

.loading{
	position:relative;
	pointer-events:none;
	opacity:0.6;
}

.loading::after{
	content:'';
	position:absolute;
	top:50%;
	left:50%;
	width:24px;
	height:24px;
	margin:-12px 0 0 -12px;
	border:3px solid var(--border);
	border-top-color:var(--primary);
	border-radius:50%;
	animation:spin 0.8s linear infinite;
}

.gif-aff-register .gif-btn{
	background:linear-gradient(135deg,var(--primary),var(--primary-2));
	color:#052e16;
	border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);
	border-radius:14px;
	box-shadow:0 14px 34px color-mix(in srgb, var(--primary) 22%, transparent);
	transition:transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);
}

.gif-aff-register .gif-btn:hover{
	background:linear-gradient(135deg,var(--primary),var(--primary-2));
	color:#052e16;
	border-color:color-mix(in srgb, var(--primary) 45%, transparent);
	box-shadow:0 18px 40px color-mix(in srgb, var(--primary) 20%, transparent);
	transform:translateY(-1px);
}

.gif-aff-register .gif-btn:focus{
	outline:3px solid var(--ring-focus);
	outline-offset:3px;
}

.gif-aff-register .gif-btn:focus:not(:focus-visible){
	outline:none;
}

.gif-aff-register .gif-btn:active{
	transform:scale(0.98);
}

@keyframes spin{
	to{transform:rotate(360deg)}
}

@media print{
	*,*::before,*::after{
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	
	body{
		padding:0 !important;
		background:#fff !important;
	}
	
	.site-header,
	.nav-toggle,
	.primary-nav,
	.skip-link,
	.sidebar,
	.footer-widgets,
	.entry-nav,
	.pagination,
	.btn,
	button{
		display:none !important;
	}
	
	.site-main{
		padding:0 !important;
	}
	
	.container{
		max-width:100% !important;
		padding:0 !important;
	}
	
	a{
		text-decoration:underline;
	}
	
	a[href^="http"]::after{
		content:" (" attr(href) ")";
		font-size:90%;
	}
	
	abbr[title]::after{
		content:" (" attr(title) ")";
	}
	
	img{
		max-width:100% !important;
		page-break-inside:avoid;
	}
	
	h1,h2,h3,h4,h5,h6{
		page-break-after:avoid;
		page-break-inside:avoid;
	}
	
	p,blockquote{
		orphans:3;
		widows:3;
	}
	
	.entry-title{
		font-size:28pt;
		margin-bottom:12pt;
	}
	
	.entry-content{
		font-size:12pt;
		line-height:1.5;
	}
	
	.post-card{
		border:1px solid #ddd !important;
		page-break-inside:avoid;
		margin-bottom:12pt;
	}
}
