/*
Theme Name: jyqkorea
Theme URI: https://example.com/jyqkorea
Author: jyqkorea
Author URI: https://example.com
Description: Minimal starting theme for jyqkorea.
Version: 0.1.0
Text Domain: jyqkorea
*/

/* Reset */
html, body { margin: 0; padding: 0; }
img { max-width: 100%; height: auto; display: block; }

/* Layout helpers */
.site-main { padding: 80px 0 0; min-height: 100vh; display: flex; flex-direction: column; }
.page-container { flex: 1; }

@media (max-width: 920px) {
	.site-main { padding: 60px 0 0; }
}

/* Header */
.site-header { background: #ffffff; border-bottom: 1px solid #ececec; box-shadow: 0 1px 0 rgba(0,0,0,0.03); position: fixed; top: 0; left: 0; right: 0; z-index: 1000; width: 100%; visibility: visible; }
.header-inner { max-width: 1280px; margin: 0 auto; padding: 14px 20px; display: flex; align-items: center; gap: 28px; }
.logo img { height: 46px; width: auto; max-width: 200px; object-fit: contain; }

/* Navigation */
.primary-nav { margin-left: auto; }

@media (max-width: 920px) {
	.primary-nav { margin-left: 0; }
}
.primary-nav .menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 42px; align-items: center; }
.primary-nav .menu > .menu-item { position: relative; }
.primary-nav .menu > .menu-item > a { display: inline-flex; align-items: center; gap: 6px; padding: 20px 0; color: #1a1a1a; text-decoration: none; font-weight: 700; font-size: 18px; letter-spacing: -0.2px; }
.primary-nav .has-children > a::after { content: '▼'; font-size: 10px; margin-left: 4px; opacity: .6; }
.primary-nav .menu > .menu-item > a:hover { color: #ff7a00; }
.primary-nav .menu > .menu-item > a:hover::after { opacity: 1; }
.primary-nav .menu > .menu-item > a::before { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: transparent; transition: background .15s ease; }
.primary-nav .menu > .menu-item:hover > a::before { background: #ff7a00; }

/* Dropdown */
.sub-menu { position: absolute; top: 100%; left: 0; background: #fff; border: 1px solid #eaeaea; box-shadow: 0 10px 24px rgba(0,0,0,0.08); display: none; min-width: 240px; padding: 8px 0; z-index: 101; list-style: none; margin: 0; }
.sub-menu .menu-item { white-space: nowrap; }
.sub-menu .menu-item + .menu-item { border-top: 1px solid #f3f3f3; }
.sub-menu a { display: block; padding: 12px 16px; color: #1a1a1a; text-decoration: none; font-weight: 600; font-size: 15px; }
.sub-menu a:hover { background: #fafafa; color: #ff7a00; }
.menu > .menu-item:hover > .sub-menu { display: block; }

/* Language toggle */
.lang-toggle { margin-left: 28px; display: flex; gap: 10px; align-items: center; }
.lang-toggle .lang-btn { display: inline-flex; align-items: center; justify-content: center; height: 34px; padding: 0 12px; border: 1px solid #e1e1e1; border-radius: 6px; background: #f9f9f9; color: #1a1a1a; text-decoration: none; font-weight: 700; font-size: 13px; letter-spacing: .2px; }
.lang-toggle .lang-btn:hover { background: #ececec; border-color: #d9d9d9; }

/* Language visibility */
body.lang-ko .lang-en { display: none !important; }
body.lang-en .lang-ko { display: none !important; }

/* Mobile nav toggle */
.nav-toggle { display: none; position: relative; width: 38px; height: 38px; border: 1px solid #e5e5e5; border-radius: 8px; background: #fff; cursor: pointer; z-index: 1001; }
.nav-toggle span { position: absolute; left: 8px; right: 8px; height: 2px; background: #222; transition: transform .2s ease, top .2s ease, opacity .2s ease; }
.nav-toggle span:nth-child(1){ top: 12px; }
.nav-toggle span:nth-child(2){ top: 18px; }
.nav-toggle span:nth-child(3){ top: 24px; }

/* Footer */
.site-footer { background: #1e1e1e; color: #d7d7d7; position: relative; z-index: 1; }
.site-footer a { color: #ffffff; text-decoration: none; }
.footer-info { max-width: 1280px; margin: 0 auto; padding: 26px 20px 34px; border-top: 1px solid #2b2b2b; }
.company-name { font-size: 16px; font-weight: 800; margin-bottom: 8px; color: #ffffff; }
.company-meta { font-size: 14px; color: #cbd0d6; line-height: 1.7; }
.footer-social { margin-top: 14px; display: flex; gap: 12px; align-items: center; }
.footer-social .social-link { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 8px; background: #2a2a2a; transition: transform .15s ease, background .15s ease; }
.footer-social .social-link:hover { transform: translateY(-2px); background: #333; }
.footer-social .social-link svg { display: block; }
.copyright { margin-top: 12px; font-size: 13px; color: #9aa2aa; }

/* Responsive */
@media (max-width: 1180px) {
	.primary-nav .menu { gap: 28px; }
	.primary-nav .menu > .menu-item > a { font-size: 17px; }
}
@media (max-width: 920px) {
	.header-inner { gap: 12px; padding: 10px 15px; }
	.nav-toggle { display: inline-block; }
	.logo img { height: 36px; max-width: 150px; object-fit: contain; }
	.primary-nav { position: fixed; top: 56px; left: 0; right: 0; background: #fff; border-top: 1px solid #eee; transform: translateY(-100%); transition: all .3s ease; box-shadow: 0 10px 24px rgba(0,0,0,0.06); z-index: 999; width: 100%; visibility: hidden; transform-origin: top; }
	.primary-nav.open { transform: translateY(0) scaleY(1); visibility: visible; }
	.primary-nav:not(.open) { transform: translateY(-100%) scaleY(0); }
	.primary-nav .menu { flex-direction: column; gap: 0; align-items: stretch; }
	.primary-nav .menu > .menu-item { border-bottom: 1px solid #f1f1f1; }
	.primary-nav .menu > .menu-item > a { padding: 16px 18px; width: 100%; justify-content: space-between; }
	.primary-nav .has-children > a::after { margin-left: auto; }
	.sub-menu { position: static; border: 0; box-shadow: none; display: none; padding: 0; min-width: 0; }
	.menu > .menu-item.open > .sub-menu { display: block; }
	.sub-menu a { padding: 12px 22px; }
	.sub-menu .sub-menu { position: static; left: auto; top: auto; display: block; }
	.sub-menu .sub-menu a { padding: 16px 32px; }
	.sub-menu .menu-item.open > .sub-menu { display: block; }
	.sub-menu .menu-item.has-children > a { justify-content: flex-start; }
	.sub-menu .menu-item.has-children > a::after { display: none; }
	.lang-toggle { display: flex; margin-left: auto; }
	.lang-toggle .lang-btn { height: 30px; padding: 0 10px; font-size: 12px; }
}

@media (max-width: 600px) {
	.company-name { font-size: 15px; }
	.company-meta { font-size: 13px; }
	
	.footer-info {
		padding: 20px 15px 30px;
	}
	
	.company-meta p {
		margin: 8px 0;
		line-height: 1.5;
	}
	
	.footer-social {
		margin-top: 12px;
	}
	
	.copyright {
		margin-top: 10px;
		font-size: 12px;
	}
} 

/* Home - hero video */
.home .hero-video { 
	max-width: 1280px; 
	margin: 0 auto; 
	padding: 40px 20px 60px; 
}

.home .hero-video .video-wrap { 
	position: relative; 
	width: 100%; 
	aspect-ratio: 16 / 9; 
	background: #000; 
	border-radius: 16px; 
	overflow: hidden; 
	box-shadow: 0 8px 32px rgba(0,0,0,0.08);
	border: 1px solid #e6e6e6;
}

.home .hero-video iframe { 
	position: absolute; 
	inset: 0; 
	width: 100%; 
	height: 100%; 
}

/* Home - big product banner */
.product-banner { position: relative; margin-top: 24px; background-size: cover; background-position: center; min-height: 380px; color: #fff; display: flex; align-items: stretch; }
.product-banner::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,0.55), rgba(0,0,0,0.35)); }
.product-banner .inner { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 42px 20px; display: flex; flex-direction: column; gap: 18px; justify-content: center; }
.product-banner h2 { margin: 0; font-size: 54px; font-weight: 900; letter-spacing: 2px; }
.product-banner .actions { display: flex; gap: 12px; margin-top: 6px; }
.product-banner .btn { display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 18px; border-radius: 10px; background: rgba(255,255,255,0.14); color: #fff; text-decoration: none; font-weight: 800; backdrop-filter: blur(2px); border: 1px solid rgba(255,255,255,0.28); }
.product-banner .btn.primary { background: #ff7a00; border-color: #ff7a00; }
.product-banner .btn:hover { transform: translateY(-1px); box-shadow: 0 10px 16px rgba(0,0,0,0.18); }

/* Home - CTA tiles */
.cta-tiles { max-width: 1280px; margin: 0 auto; padding: 28px 20px 44px; }
.tiles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.tile { position: relative; display: block; height: 420px; background-size: cover; background-position: center; border-radius: 14px; overflow: hidden; box-shadow: 0 12px 30px rgba(0,0,0,0.08); transition: transform .2s ease, box-shadow .2s ease; text-decoration: none; color: #fff; }
.tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.22) 0%, rgba(0,0,0,0.58) 100%); }
.tile:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(0,0,0,0.16); }
.tile-overlay { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; }
.tile-title { font-size: 36px; font-weight: 900; letter-spacing: 1px; text-shadow: 0 2px 8px rgba(0,0,0,0.35); }
.tile-cta { margin-top: 6px; height: 40px; padding: 0 16px; display: inline-flex; align-items: center; border-radius: 24px; background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); font-weight: 800; }

@media (max-width: 920px) {
	.product-banner { min-height: 340px; }
	.product-banner h2 { font-size: 40px; }
	.tiles-grid { grid-template-columns: 1fr; }
	.tile { height: 320px; }
} 

/* Nested dropdown (level 2) */
.primary-nav .sub-menu .menu-item { position: relative; }
.primary-nav .sub-menu .menu-item.has-children > a::after { content: '▶'; font-size: 10px; margin-left: 6px; opacity: .5; }
.primary-nav .sub-menu .sub-menu { position: absolute; top: 0; left: 100%; background: #fff; border: 1px solid #eaeaea; box-shadow: 0 10px 24px rgba(0,0,0,0.08); min-width: 220px; padding: 8px 0; display: none; }
.primary-nav .sub-menu .menu-item.has-children:hover > .sub-menu { display: block; }

/* Home products showcase */
.products-showcase { 
	max-width: 1280px; 
	margin: 0 auto; 
	padding: 60px 20px 80px; 
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}

.section-header {
	text-align: center;
	margin-bottom: 60px;
}

.section-title { 
	text-align: center; 
	margin: 0 0 20px; 
	font-size: 36px; 
	font-weight: 900; 
	letter-spacing: -0.5px;
	color: #1a1a1a;
}

.section-subtitle { 
	text-align: center; 
	margin: 0; 
	color: #666;
	font-size: 18px;
	line-height: 1.6;
	max-width: 600px;
	margin: 0 auto;
}

.products-grid { 
	display: grid; 
	grid-template-columns: repeat(3, 1fr); 
	gap: 32px; 
}

.product-card { 
	position: relative; 
	display: block; 
	height: 280px;
	background-size: cover; 
	background-position: center; 
	border-radius: 12px; 
	overflow: hidden; 
	text-decoration: none;
	border: 1px solid #e6e6e6;
	transition: all 0.3s ease;
}

.product-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.product-card:hover::before {
	opacity: 1;
}

.product-card:hover { 
	transform: translateY(-2px); 
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.card-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px;
	background: rgba(255,255,255,0.95);
	transform: translateY(100%);
	transition: transform 0.3s ease;
}

.product-card:hover .card-overlay {
	transform: translateY(0);
}

.product-card .title { 
	color: #1a1a1a; 
	font-weight: 900; 
	font-size: 18px; 
	margin-bottom: 6px;
	display: block;
}

.product-card .description {
	color: #666;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	display: block;
}

/* Info Panels */
.info-panels { 
	max-width: 1280px; 
	margin: 60px auto; 
	padding: 40px 20px 60px; 
	display: grid; 
	grid-template-columns: 1fr 1fr 1fr; 
	gap: 32px; 
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}

.panel { 
	border: 1px solid #e6e6e6; 
	border-radius: 12px; 
	padding: 24px; 
	background: #fff; 
	transition: all 0.3s ease;
}

.panel:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.panel-title { 
	margin: 0 0 16px; 
	font-size: 20px; 
	font-weight: 900;
	color: #1a1a1a;
	border-bottom: 2px solid #ff7a00;
	padding-bottom: 6px;
	display: inline-block;
}

.panel .contact-lines { 
	display: grid; 
	gap: 12px; 
	font-size: 16px;
	line-height: 1.5;
}

.panel .contact-lines a { 
	color: #0a58ca; 
	text-decoration: none; 
	font-weight: 800;
	transition: color 0.2s ease;
}

.panel .contact-lines a:hover {
	color: #ff7a00;
}

.panel.accent { 
	background: linear-gradient(135deg, #ff7a00 0%, #ff8a1f 100%); 
	color: #fff; 
	text-align: center; 
	display: flex; 
	flex-direction: column; 
	justify-content: center; 
	align-items: center;
	border: none;
}

.panel.accent .panel-title { 
	color: #fff;
	border-bottom-color: rgba(255,255,255,0.3);
}

.panel-button { 
	display: inline-flex; 
	align-items: center; 
	justify-content: center; 
	height: 40px; 
	padding: 0 16px; 
	background: #333; 
	color: #fff; 
	border-radius: 8px; 
	font-weight: 700; 
	text-decoration: none; 
	margin-top: 12px;
	transition: all 0.3s ease;
	gap: 6px;
}

.panel-button:hover {
	background: #555;
}

.panel-desc {
	font-size: 12px;
	color: #666;
	margin-top: 12px;
	line-height: 1.4;
}

.notice-list { 
	font-size: 14px;
	line-height: 1.6;
}

.notice-list .kboard-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.notice-list .kboard-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f0;
}

.notice-list .kboard-list li:last-child {
	border-bottom: none;
}

.notice-list .kboard-list a {
	color: #333;
	text-decoration: none;
	transition: color 0.2s ease;
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.notice-list .kboard-list a:hover {
	color: #ff7a00;
}

.notice-list .kboard-list .date {
	font-size: 12px;
	color: #999;
	margin-left: 8px;
}

@media (max-width: 920px) {
	.products-showcase {
		padding: 40px 20px 60px;
	}
	
	.section-title {
		font-size: 36px;
	}
	
	.section-subtitle {
		font-size: 16px;
	}
	
	.products-grid { 
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
	
	.product-card {
		height: 280px;
	}
	
	.info-panels { 
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 30px 20px 50px;
		margin: 40px auto;
		border-radius: 12px;
	}
	
	.panel {
		padding: 20px;
		border: 1px solid #e6e6e6;
		border-radius: 8px;
		background: #fff;
	}
	
	.panel-title {
		font-size: 18px;
	}
	
	.panel .contact-lines {
		font-size: 14px;
	}
	
	.panel-button {
		height: 36px;
		padding: 0 12px;
		font-size: 14px;
	}
}

@media (max-width: 600px) {
	.header-inner { gap: 8px; padding: 8px 12px; }
	.logo img { height: 32px; max-width: 120px; object-fit: contain; }
	.nav-toggle { width: 34px; height: 34px; }
	.nav-toggle span { left: 6px; right: 6px; }
	.nav-toggle span:nth-child(1){ top: 10px; }
	.nav-toggle span:nth-child(2){ top: 16px; }
	.nav-toggle span:nth-child(3){ top: 22px; }
	.primary-nav { top: 50px; transform: translateY(-100%) scaleY(0); visibility: hidden; transform-origin: top; transition: all .3s ease; }
	.primary-nav.open { transform: translateY(0) scaleY(1); visibility: visible; }
	.lang-toggle .lang-btn { height: 28px; padding: 0 8px; font-size: 11px; }
	.site-main { padding: 50px 0 0; }
	
	.products-grid { 
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.product-card {
		height: 240px;
	}
	
	/* 모바일에서 제품 카드 description 기본 표시 */
	.product-card .card-overlay {
		transform: translateY(0);
		background: rgba(255,255,255,0.95);
		padding: 16px;
	}
	
	.product-card .title {
		font-size: 16px;
		margin-bottom: 4px;
	}
	
	.product-card .description {
		font-size: 12px;
	}
	
	.section-title {
		font-size: 28px;
	}
	
	.info-panels {
		margin: 30px auto;
		padding: 20px 15px 40px;
		border-radius: 8px;
	}
	
	.panel {
		padding: 15px;
		border-radius: 6px;
	}
	
	.panel-title {
		font-size: 16px;
		margin-bottom: 12px;
	}
	
	.panel .contact-lines {
		font-size: 13px;
		gap: 8px;
	}
	
	.panel-button {
		height: 32px;
		padding: 0 10px;
		font-size: 13px;
	}
	
	.notice-list {
		font-size: 13px;
	}
	
	.notice-list .kboard-list li {
		padding: 6px 0;
	}
	
	.notice-list .kboard-list a {
		font-size: 13px;
	}
	
	.notice-list .kboard-list .date {
		font-size: 11px;
	}
} 

/* Flat design adjustments - remove shadows and match clean style */
.sub-menu, .primary-nav .sub-menu, .primary-nav .sub-menu .sub-menu { box-shadow: none !important; }
.home .hero-video .video-wrap { box-shadow: none; }
.tile, .tile:hover { box-shadow: none; transform: none; }
.product-card::after { background: none; }
.product-card .title { color: #222; text-shadow: none; background: rgba(255,255,255,0.85); padding: 6px 10px; border-radius: 6px; display: inline-block; }
.product-card:hover { box-shadow: none; transform: none; }
.panel.accent { background: transparent; color: inherit; }
.panel.accent .panel-title { color: #222; }
.panel-button { background: transparent; color: #0a58ca; border: 1px solid #0a58ca; box-shadow: none; } 

/* Company pages layout */
.company-hero { height: 260px; background-size: cover; background-position: center; border-bottom: 1px solid #e6e6e6; }
.company-layout { max-width: 1280px; margin: 0 auto; padding: 18px 20px 40px; }
.breadcrumb { font-size: 13px; color: #888; margin: 6px 0 16px; }
.breadcrumb a { color: #666; text-decoration: none; }
.breadcrumb .sep { margin: 0 6px; color: #bbb; }
.breadcrumb .current { color: #222; }
.company-grid { display: grid; grid-template-columns: 280px 1fr; gap: 28px; }
.company-sidenav { border: 1px solid #e6e6e6; border-radius: 6px; overflow: hidden; background: #fff; }
.sidenav-title { background: #f5f6f9; padding: 16px; font-weight: 900; font-size: 18px; color: #1c4b92; text-align: center; }
.sidenav-list { list-style: none; margin: 0; padding: 0; }
.sidenav-list li { border-top: 1px solid #eee; }
.sidenav-list li a { display: block; padding: 12px 16px; text-decoration: none; color: #222; font-weight: 700; }
.sidenav-list li.active a, .sidenav-list li a:hover { background: #f0f4ff; color: #1c4b92; }
.company-content { border: 1px solid #e6e6e6; border-radius: 6px; background: #fff; padding: 20px 24px; }
.content-title { margin: 8px 0 16px; font-size: 26px; font-weight: 900; }
.content-body { color: #333; line-height: 1.9; }

@media (max-width: 920px) {
	.company-grid { grid-template-columns: 1fr; }
} 

html { font-feature-settings: 'kern' 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: 'Inter', 'Noto Sans KR', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif; }
/* Prefer Noto Sans KR for Korean text */
.lang-ko, body.lang-ko { font-family: 'Noto Sans KR', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif; }
/* English priority */
.lang-en, body.lang-en { font-family: 'Inter', 'Noto Sans KR', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif; } 

/* Sidebar contact widget */
.side-widget { margin-top: 18px; border: 1px solid #e6e6e6; border-radius: 6px; background: #f7f9fc; padding: 14px 14px 16px; }
.contact-widget .sw-title { font-size: 16px; font-weight: 900; margin-bottom: 6px; }
.contact-widget .sw-desc { margin: 0 0 10px; color: #666; font-size: 13px; }
.contact-widget .sw-lines { display: grid; grid-template-columns: auto 1fr; row-gap: 6px; column-gap: 8px; align-items: baseline; }
.contact-widget .sw-label { color: #333; font-weight: 800; }
.contact-widget .sw-phone { color: #0a58ca; text-decoration: none; font-size: 24px; font-weight: 900; line-height: 1.2; }

/* Contact Form 7 Styles */
.wpcf7 {
	max-width: 100%;
}

.wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.wpcf7-form p {
	margin: 0;
}

.wpcf7-form label {
	display: block;
	font-weight: 700;
	font-size: 14px;
	color: #333;
	margin-bottom: 8px;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form select,
.wpcf7-form textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 14px;
	font-family: inherit;
	background: #fff;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
	outline: none;
	border-color: #0a58ca;
	box-shadow: 0 0 0 3px rgba(10, 88, 202, 0.1);
}

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

.wpcf7-form select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
	background-position: right 12px center;
	background-repeat: no-repeat;
	background-size: 16px;
	padding-right: 40px;
}

.wpcf7-form input[type="submit"] {
	background: linear-gradient(135deg, #0a58ca 0%, #1c4b92 100%);
	color: #fff;
	border: none;
	padding: 14px 28px;
	border-radius: 6px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s ease;
	width: auto;
	min-width: 120px;
}

.wpcf7-form input[type="submit"]:hover {
	background: linear-gradient(135deg, #1c4b92 0%, #0a58ca 100%);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(10, 88, 202, 0.3);
}

.wpcf7-form input[type="submit"]:active {
	transform: translateY(0);
}

/* Required field indicator - removed as Contact Form 7 handles this automatically */

/* Error and success messages */
.wpcf7-response-output {
	margin: 20px 0 0;
	padding: 12px 16px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 500;
}

.wpcf7-response-output.wpcf7-validation-errors {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #dc2626;
}

.wpcf7-response-output.wpcf7-mail-sent-ok {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #16a34a;
}

.wpcf7-response-output.wpcf7-spam-blocked {
	background: #fef3c7;
	border: 1px solid #fde68a;
	color: #d97706;
}

/* Loading state */
.wpcf7-form .wpcf7-spinner {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #f3f3f3;
	border-top: 2px solid #0a58ca;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin-left: 10px;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Mobile responsive */
@media (max-width: 920px) {
	.wpcf7-form {
		gap: 16px;
	}
	
	.wpcf7-form input[type="text"],
	.wpcf7-form input[type="email"],
	.wpcf7-form input[type="tel"],
	.wpcf7-form input[type="url"],
	.wpcf7-form select,
	.wpcf7-form textarea {
		padding: 10px 14px;
		font-size: 16px; /* Prevent zoom on iOS */
	}
	
	.wpcf7-form input[type="submit"] {
		padding: 12px 24px;
		font-size: 15px;
		width: 100%;
	}
}

@media (max-width: 600px) {
	.wpcf7-form {
		gap: 14px;
	}
	
	.wpcf7-form label {
		font-size: 13px;
		margin-bottom: 6px;
	}
	
	.wpcf7-form input[type="text"],
	.wpcf7-form input[type="email"],
	.wpcf7-form input[type="tel"],
	.wpcf7-form input[type="url"],
	.wpcf7-form select,
	.wpcf7-form textarea {
		padding: 8px 12px;
		font-size: 16px;
	}
	
	.wpcf7-form textarea {
		min-height: 100px;
	}
	
	.wpcf7-form input[type="submit"] {
		padding: 10px 20px;
		font-size: 14px;
	}
}
.contact-widget .sw-text { font-size: 22px; font-weight: 800; }
.contact-widget .sw-ctas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.contact-widget .sw-cta { display: inline-flex; align-items: center; justify-content: center; height: 38px; border: 1px solid #dfe4ef; border-radius: 8px; text-decoration: none; color: #1a1a1a; font-weight: 800; background: #fff; }

/* Remove quickbar styles (no longer used) */
.quickbar, .quickbar-inner, .qb-title, .qb-desc, .qb-lines, .qb-label, .qb-phone, .qb-text, .qb-ctas, .qb-cta { all: unset; } 

/* Company content sections - enhanced */
.company-content .section { margin-bottom: 32px; }
.company-content .section h2 { font-size: 24px; font-weight: 900; margin: 0 0 16px; color: #1a1a1a; border-bottom: 2px solid #ff7a00; padding-bottom: 8px; }
.company-content .section h3 { font-size: 18px; font-weight: 800; margin: 0 0 8px; color: #0a58ca; }
.company-content .section p { margin: 0 0 12px; line-height: 1.8; }
.company-content .section strong { color: #0a58ca; }

/* Overview section */
.overview-subtitle { font-size: 18px; font-weight: 700; color: #ff7a00; margin-bottom: 16px; }

/* Core values grid with icons */
.kv-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; list-style: none; margin: 0; padding: 0; }
.kv-grid li { border: 1px solid #e6e6e6; border-radius: 8px; padding: 20px; background: #fafbfc; text-align: center; }
.kv-icon { font-size: 32px; margin-bottom: 12px; }
.kv-grid h3 { margin: 0 0 12px; }
.kv-grid p { margin: 0; font-size: 14px; line-height: 1.6; }

/* Matching industries grid with icons */
.match-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.match-item { border: 1px solid #e6e6e6; border-radius: 8px; padding: 16px; background: #fff; text-align: center; position: relative; }
.match-icon { font-size: 24px; margin-bottom: 8px; display: block; }
.mi-title { display: block; color: #0a58ca; font-size: 14px; margin-bottom: 6px; }
.mi-desc { font-size: 12px; color: #666; line-height: 1.4; }

/* Export section */
.export-content { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: center; }
.export-map {border-radius: 8px; padding: 0px; text-align: center; }
.map-placeholder { font-size: 48px; }
.export-text p { margin: 0; font-size: 16px; }

/* Business section */
.business-content { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: center; background: #f7f9fc; border-radius: 8px; padding: 20px; }
.business-text { text-align: center; }
.business-video { 
	width: 100%; max-width: 560px; margin: 0 auto;
	border-radius: 12px; overflow: hidden;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}
.business-video iframe { 
	display: block; width: 100%; height: 315px;
	border-radius: 12px;
}
.business-cta { 
	margin-top: 24px; text-align: center;
}
.business-cta p { 
	font-size: 16px; color: #333; margin-bottom: 16px; 
	font-weight: 500; line-height: 1.4;
}
.video-btn { 
	display: inline-flex; align-items: center; gap: 8px; 
	background: #0a58ca; color: #fff; padding: 12px 24px; 
	border-radius: 25px; text-decoration: none; font-weight: 600; 
	font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px;
	transition: all 0.3s ease; box-shadow: 0 2px 8px rgba(10, 88, 202, 0.2);
}
.video-btn:hover { 
	background: #0847a3; transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(10, 88, 202, 0.3);
}
.play-icon { 
	font-size: 12px; 
}
.business-image { text-align: center; }
.machine-placeholder { font-size: 48px; }

/* CTA section */
.section.cta { background: #f7f9fc; border: 1px solid #e6e6e6; border-radius: 8px; padding: 24px; text-align: center; }
.btn-link { display: inline-block; background: #0a58ca; color: #fff; padding: 12px 20px; border-radius: 6px; text-decoration: none; font-weight: 800; margin-top: 12px; }

@media (max-width: 920px) {
	.kv-grid { grid-template-columns: 1fr; }
	.match-grid { grid-template-columns: repeat(2, 1fr); }
	.export-content, .business-content { grid-template-columns: 1fr; }
} 

/* Company content sections - premium design */
.company-content .section { margin-bottom: 48px; position: relative; }
.company-content .section h2 { 
	font-size: 28px; font-weight: 900; margin: 0 0 24px; color: #1a1a1a; 
	border-bottom: 3px solid #ff7a00; padding-bottom: 12px; 
	position: relative;
}
.company-content .section h2::after {
	content: ''; position: absolute; bottom: -3px; left: 0; width: 60px; height: 3px; background: linear-gradient(90deg, #ff7a00, #ff9a40);
}
.company-content .section h3 { font-size: 20px; font-weight: 800; margin: 0 0 12px; color: #0a58ca; }
.company-content .section p { margin: 0 0 16px; line-height: 1.8; font-size: 16px; }
.company-content .section strong { color: #0a58ca; font-weight: 800; }

/* Overview section - premium */
.overview-subtitle { 
	font-size: 20px; font-weight: 700; color: #ff7a00; margin-bottom: 20px; 
	background: linear-gradient(135deg, #fff5e6, #ffe8cc); 
	padding: 16px 20px; border-radius: 12px; border-left: 4px solid #ff7a00;
	box-shadow: 0 4px 12px rgba(255, 122, 0, 0.1);
}

/* Core values grid - premium cards */
.kv-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; list-style: none; margin: 0; padding: 0; }
.kv-grid li { 
	border: none; border-radius: 16px; padding: 32px 24px; 
	background: linear-gradient(135deg, #ffffff, #f8faff); 
	text-align: center; position: relative; overflow: hidden;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
}
.kv-grid li::before {
	content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
	background: linear-gradient(90deg, #0a58ca, #4a90e2);
}
.kv-grid li:hover { 
	transform: translateY(-4px); 
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
}
.kv-icon { 
	font-size: 48px; margin-bottom: 16px; display: block;
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
}
.kv-grid h3 { margin: 0 0 16px; font-size: 22px; }
.kv-grid p { margin: 0; font-size: 15px; line-height: 1.7; color: #555; }

/* Matching industries - premium with background images */
.match-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.match-item { 
	background: #fff; border-radius: 16px; padding: 24px; text-align: center; 
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
	border: 1px solid rgba(255, 165, 0, 0.1);
	transition: all 0.3s ease; position: relative;
}
.match-item::before {
	content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
	background: linear-gradient(90deg, #ffa500, #ff8c00);
	border-radius: 16px 16px 0 0;
}
.match-item:hover { 
	transform: translateY(-4px); 
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}
.match-icon { 
	width: 80px; height: 80px; margin: 0 auto 16px; 
	background-size: cover; background-position: center; background-repeat: no-repeat;
	border-radius: 12px; border: 2px solid rgba(255, 165, 0, 0.2);
	box-shadow: 0 4px 16px rgba(255, 165, 0, 0.15);
	position: relative; overflow: hidden;
}
.match-icon::after { content: ''; position: absolute; inset: 0; border-radius: 10px; opacity: .22; }
/* Item-specific tints for better differentiation */
.match-item:nth-child(1) .match-icon::after { background: #ffd700; }
.match-item:nth-child(2) .match-icon::after { background: #6cc24a; }
.match-item:nth-child(3) .match-icon::after { background: #f4c7a1; }
.match-item:nth-child(4) .match-icon::after { background: #7b4b2a; }
.match-item:nth-child(5) .match-icon::after { background: #687b8c; }
.match-item:nth-child(6) .match-icon::after { background: #ff8c42; }
.match-item:nth-child(7) .match-icon::after { background: #3fbf7f; }
.match-item:nth-child(8) .match-icon::after { background: #2f3b45; }
.match-item:nth-child(9) .match-icon::after { background: #6b7280; }
.match-item:nth-child(10) .match-icon::after { background: #1e90ff; }
.mi-title { 
	display: block; font-size: 18px; font-weight: 700; color: #333; 
	margin-bottom: 8px; line-height: 1.3;
}
.mi-desc { 
	font-size: 14px; color: #666; line-height: 1.4; 
	display: block;
}

/* Export section - premium */
.export-content { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; }
.export-map { 
	/* background: linear-gradient(135deg, #f0f4ff, #e6f0ff);  */
	border-radius: 16px; padding: 0px; text-align: center;
	box-shadow: 0 8px 32px rgba(10, 88, 202, 0.1);
	border: 1px solid rgba(10, 88, 202, 0.1);
}
.map-placeholder { font-size: 64px; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1)); }
.export-text p { margin: 0; font-size: 18px; line-height: 1.7; }

/* Business section - premium with background image */
.business-content { 
	display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; 
	background: transparent;
	background-size: cover; background-position: center; background-repeat: no-repeat;
	border-radius: 20px; padding: 32px;
	box-shadow: none;
	border: none;
	position: relative;
}
.business-content::before {
	display: none;
}
.business-text, .business-image { position: relative; z-index: 2; }
.business-text { text-align: center; }
.business-text p { font-size: 18px; margin-bottom: 20px; color: #333; }
.video-btn { 
	display: inline-flex; align-items: center; gap: 12px; 
	background: linear-gradient(135deg, #0a58ca, #4a90e2); 
	color: #fff; padding: 16px 24px; border-radius: 12px; 
	text-decoration: none; font-weight: 800; font-size: 16px;
	box-shadow: 0 6px 20px rgba(10, 88, 202, 0.3);
	transition: all 0.3s ease;
}
.video-btn:hover { 
	transform: translateY(-2px); 
	box-shadow: 0 8px 28px rgba(10, 88, 202, 0.4);
}

/* CTA section - premium */
.section.cta { 
	background: linear-gradient(135deg, #f7f9fc, #f0f4ff); 
	border: none; border-radius: 20px; padding: 40px; text-align: center;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
	position: relative; overflow: hidden;
}
.section.cta::before {
	content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
	background: linear-gradient(90deg, #ff7a00, #ff9a40);
}
.section.cta h2 { border: none; margin-bottom: 16px; }
.section.cta h2::after { display: none; }
.section.cta p { font-size: 18px; margin-bottom: 24px; color: #333; }
.btn-link { 
	display: inline-block; 
	background: linear-gradient(135deg, #0a58ca, #4a90e2); 
	color: #fff; padding: 16px 32px; border-radius: 12px; 
	text-decoration: none; font-weight: 800; font-size: 16px;
	box-shadow: 0 6px 20px rgba(10, 88, 202, 0.3);
	transition: all 0.3s ease;
}
.btn-link:hover { 
	transform: translateY(-2px); 
	box-shadow: 0 8px 28px rgba(10, 88, 202, 0.4);
}

/* Overview section - enhanced */
.overview-content { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: start; }
.overview-text { flex: 1; }
.company-stats { display: flex; gap: 20px; }
.stat-item { 
	text-align: center; padding: 16px; 
	background: linear-gradient(135deg, #f0f4ff, #e6f0ff); 
	border-radius: 12px; min-width: 80px;
	box-shadow: 0 4px 16px rgba(10, 88, 202, 0.1);
}
.stat-number { 
	font-size: 24px; font-weight: 900; color: #0a58ca; 
	margin-bottom: 4px;
}
.stat-label { 
	font-size: 12px; color: #666; font-weight: 600;
}

/* Matching section - enhanced */
.matching-intro { 
	text-align: center; margin-bottom: 24px; 
	background: linear-gradient(135deg, #fff5e6, #ffe8cc); 
	padding: 16px 20px; border-radius: 12px;
	border-left: 4px solid #ff7a00;
}
.matching-intro p { margin: 0; font-size: 16px; color: #333; }

/* Export section - enhanced */
.export-highlight { 
	margin-bottom: 24px; padding: 16px; 
	background: linear-gradient(135deg, #f0f4ff, #e6f0ff); 
	border-radius: 12px; border-left: 4px solid #0a58ca;
}
.export-highlight p { margin: 0; font-size: 16px; }
.export-details { display: flex; flex-direction: column; gap: 16px; }
.export-item { 
	display: flex; align-items: center; gap: 16px; 
	padding: 16px; background: #fff; border-radius: 12px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
.export-flag { font-size: 32px; }
.export-info { flex: 1; }
.export-country { 
	font-size: 18px; font-weight: 800; color: #0a58ca; 
	margin-bottom: 4px;
}
.export-product { 
	font-size: 14px; color: #666; 
}

/* Map visual */
.map-visual { 
	position: relative; text-align: center; 
}
.world-map { 
	width: 300px; height: 200px; margin: 0 auto;
	background-size: contain; background-position: center; background-repeat: no-repeat;
	border-radius: 12px; border: 2px solid rgba(10, 88, 202, 0.2);
	box-shadow: 0 4px 16px rgba(10, 88, 202, 0.15);
}
.export-markers { 
	position: absolute; top: 0; left: 0; right: 0; bottom: 0; 
	pointer-events: none;
}
.marker { 
	position: absolute; font-size: 24px; animation: pulse 2s infinite;
}
.marker.taiwan { top: 30%; right: 25%; }
.marker.malaysia { bottom: 20%; left: 20%; }

@keyframes pulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.1); }
	100% { transform: scale(1); }
}

/* Business section - enhanced */
.business-intro { 
	margin-bottom: 24px; padding: 16px; 
	background: linear-gradient(135deg, #f0f4ff, #e6f0ff); 
	border-radius: 12px; border-left: 4px solid #0a58ca;
}
.business-intro p { margin: 0; font-size: 16px; color: #333; }
.machine-showcase { text-align: center; }
.machine-icon { font-size: 64px; margin-bottom: 12px; }
.machine-label { 
	font-size: 16px; font-weight: 700; color: #0a58ca; 
	margin-bottom: 4px;
}

/* CTA section - enhanced */
.cta-content { text-align: center; }
.cta-content p { margin-bottom: 16px; }

/* Responsive adjustments */
@media (max-width: 920px) {
	.overview-content { grid-template-columns: 1fr; }
	.company-stats { justify-content: center; }
	.export-item { flex-direction: column; text-align: center; }
	.marker.taiwan, .marker.malaysia { position: static; margin: 8px; }
} 

/* Responsive/override: company sidebar hidden on mobile, export map larger, markers hidden */
@media (max-width: 920px) {
	.company-sidebar { display: none; }
	.company-content { padding: 16px; }
}

/* Make export map take larger left column and be clearer */
.export-content { grid-template-columns: 1fr 1fr; align-items: stretch; }
.world-map {
	width: 100%; height: 420px;
	background-size: contain; background-position: center; background-repeat: no-repeat;
	border: none; box-shadow: none;
}
.export-markers { display: none !important; }

@media (max-width: 920px) {
	.export-content { grid-template-columns: 1fr; }
	.world-map { height: 280px; }
}
@media (max-width: 600px) {
	.world-map { height: 200px; }
}

/* Mobile readability and overflow safety for company pages */
.company-content { overflow-wrap: anywhere; word-break: keep-all; }

@media (max-width: 920px) {
	.company-layout { padding: 14px 14px 28px; }
	.content-title { font-size: 24px; }
	.company-content .section h2 { font-size: 22px; }
	.overview-subtitle { font-size: 16px; }
	.kv-grid li { padding: 16px; }
}
@media (max-width: 600px) {
	.company-layout { padding: 12px; }
	.company-content { padding: 12px; }
	.content-title { font-size: 22px; }
	.company-content .section h2 { font-size: 20px; }
	.overview-subtitle { font-size: 15px; }
	.kv-grid { gap: 12px; }
	.kv-grid li { padding: 12px; }
} 

/* Bootstrap assist: make images fluid by default inside company pages */
.company-layout img,
.company-content img,
.content-body img { max-width: 100%; height: auto; display: block; }

/* Match icons as responsive background tiles */
.match-icon { 
	width: 100%; padding-top: 56%;
	background-size: cover; background-position: center; background-repeat: no-repeat;
	border-radius: 8px; display: block; 
} 

/* Responsive refinements for Matching and Business sections */
/* Matching grid: 5→4→3→2→1 columns */
@media (max-width: 1200px) {
	.match-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 992px) {
	.match-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
	.match-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.match-grid { grid-template-columns: 1fr; }
}

/* Business section: stack on tablet/mobile and keep 16:9 video */
@media (max-width: 992px) {
	.business-content { grid-template-columns: 1fr; gap: 20px; }
}
.business-video iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; } 

/* Hero title centered over the hero image */
.company-hero { position: relative; display: block; }
.hero-title {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	margin: 0; color: #fff; text-shadow: 0 3px 12px rgba(0,0,0,0.35);
	font-size: 48px; font-weight: 900; letter-spacing: 0.5px;
}
@media (max-width: 768px) {
	.hero-title { font-size: 34px; }
} 

/* Map & Address page styles */
.map-address .page-lead { text-align: center; font-size: 16px; color: #555; margin: 16px 0 20px; }
.map-embed iframe { width: 100%; height: 420px; border: 0; border-radius: 8px; box-shadow: 0 6px 18px rgba(0,0,0,0.08); }
.map-actions { text-align: right; margin: 8px 0 16px; }
.address-card { border: 1px solid #e6e6e6; border-radius: 8px; padding: 16px 20px; background: #fff; }
.addr-title { margin: 0 0 8px; font-size: 18px; font-weight: 900; }
.addr-list { list-style: none; margin: 0; padding: 0; }
.addr-list li { margin: 6px 0; color: #333; }
.addr-list strong { color: #0a58ca; }
@media (max-width: 768px){ .map-embed iframe { height: 300px; } } 

/* Product: Pallet Rotating Machine */
.pallet-rotating-machine .page-header { margin: 6px 0 18px; }
.pallet-rotating-machine .page-header h1 { margin: 8px 0; font-size: 34px; font-weight: 900; }
.pallet-rotating-machine .page-content { color: #333; line-height: 1.85; }

.pallet-rotating-machine .specs .spec-title { margin: 0 0 12px; font-size: 22px; font-weight: 900; color: #1a1a1a; }
.pallet-rotating-machine .specs .spec-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 20px; align-items: start; }
.pallet-rotating-machine .specs .spec-image img { border-radius: 8px; }
.pallet-rotating-machine .specs table { width: 100%; border-collapse: collapse; background: #fff; }
.pallet-rotating-machine .specs th, .pallet-rotating-machine .specs td { border: 1px solid #e6e6e6; padding: 10px 12px; }
.pallet-rotating-machine .specs th { width: 40%; background: #f7f9fc; text-align: left; font-weight: 800; color: #0a58ca; }

.pallet-rotating-machine .strong-points { margin-top: 24px; }
.pallet-rotating-machine .sp-list { margin: 0; padding-left: 18px; }

.pallet-rotating-machine .usage-photos .photo-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; list-style: none; padding: 0; margin: 0; }
.pallet-rotating-machine .usage-photos figure { margin: 0; }
.pallet-rotating-machine .usage-photos figcaption { margin-top: 6px; font-size: 13px; color: #555; }

.pallet-rotating-machine .usage-video .video-embed { border-radius: 12px; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.pallet-rotating-machine .usage-video .video-note { color: #444; margin-top: 10px; }

@media (max-width: 1024px) {
	.pallet-rotating-machine .specs .spec-grid { grid-template-columns: 1fr; }
}
@media (max-width: 920px) {
	.pallet-rotating-machine .usage-photos .photo-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
	.pallet-rotating-machine .page-header h1 { font-size: 26px; }
} 

/* Product premium polish: reuse company premium section styles */
.pallet-rotating-machine .section h2 { font-size: 28px; font-weight: 900; margin: 0 0 24px; color: #1a1a1a; border-bottom: 3px solid #ff7a00; padding-bottom: 12px; position: relative; }
.pallet-rotating-machine .section h2::after { content: ''; position: absolute; bottom: -3px; left: 0; width: 60px; height: 3px; background: linear-gradient(90deg, #ff7a00, #ff9a40); }
.pallet-rotating-machine .page-lead { font-size: 16px; color: #555; margin: 0; }
.pallet-rotating-machine .cta .btn-link { background: linear-gradient(135deg, #0a58ca, #4a90e2); color: #fff; padding: 14px 20px; border-radius: 12px; font-weight: 800; text-decoration: none; box-shadow: 0 6px 20px rgba(10,88,202,.25); }
.pallet-rotating-machine .cta .btn-link:hover { transform: translateY(-1px); box-shadow: 0 8px 28px rgba(10,88,202,.35); } 

/* [Single] Automatic Loading Machine */
.automatic-loading-machine-single .spec-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 20px; align-items: start; }
.automatic-loading-machine-single .spec-image img { border-radius: 8px; }
.automatic-loading-machine-single .spec-table table { width: 100%; border-collapse: collapse; background: #fff; }
.automatic-loading-machine-single .spec-table th, .automatic-loading-machine-single .spec-table td { border: 1px solid #e6e6e6; padding: 10px 12px; }
.automatic-loading-machine-single .spec-table th { width: 40%; background: #f7f9fc; text-align: left; font-weight: 800; color: #0a58ca; }

.automatic-loading-machine-single .video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.automatic-loading-machine-single .video-grid iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,0.08); }

@media (max-width: 1024px) {
	.automatic-loading-machine-single .spec-grid { grid-template-columns: 1fr; }
	.automatic-loading-machine-single .video-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.automatic-loading-machine-single .video-grid { grid-template-columns: 1fr; }
} 

/* [Single] Automatic Loading Machine: intro and notes next to image */
.automatic-loading-machine-single .intro-and-notes { background: #fff; border: 1px solid #e6e6e6; border-radius: 8px; padding: 16px 18px; }
.automatic-loading-machine-single .intro-and-notes .page-lead { margin: 0 0 10px; color: #444; }
.automatic-loading-machine-single .note-list { margin: 0; padding-left: 18px; color: #333; }
.automatic-loading-machine-single .tech-specs table { width: 100%; border-collapse: collapse; background: #fff; }
.automatic-loading-machine-single .tech-specs th, .automatic-loading-machine-single .tech-specs td { border: 1px solid #e6e6e6; padding: 10px 12px; }
.automatic-loading-machine-single .tech-specs th { width: 40%; background: #f7f9fc; text-align: left; font-weight: 800; color: #0a58ca; } 

/* Feature + Specs two-column layout */
.feature-specs .feature-specs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.feature-specs .card { background: #fff; border: 1px solid #e6e6e6; border-radius: 8px; padding: 16px 18px; }
.feature-specs .card h3 { margin-top: 0; }
@media (max-width: 920px) {
	.feature-specs .feature-specs-grid { grid-template-columns: 1fr; }
}

/* Ensure spec tables look consistent in right column */
.feature-specs .tech-specs table { width: 100%; border-collapse: collapse; background: #fff; }
.feature-specs .tech-specs th, .feature-specs .tech-specs td { border: 1px solid #e6e6e6; padding: 10px 12px; }
.feature-specs .tech-specs th { width: 40%; background: #f7f9fc; text-align: left; font-weight: 800; color: #0a58ca; } 

/* [Double] Automatic Loading Machine (match Single UI) */
.automatic-loading-machine-double .spec-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 20px; align-items: start; }
.automatic-loading-machine-double .spec-image img { border-radius: 8px; }
.automatic-loading-machine-double .spec-table table { width: 100%; border-collapse: collapse; background: #fff; }
.automatic-loading-machine-double .spec-table th, .automatic-loading-machine-double .spec-table td { border: 1px solid #e6e6e6; padding: 10px 12px; }
.automatic-loading-machine-double .spec-table th { width: 40%; background: #f7f9fc; text-align: left; font-weight: 800; color: #0a58ca; }
.automatic-loading-machine-double .note-list { margin: 0; padding-left: 18px; color: #333; }

.automatic-loading-machine-double .video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.automatic-loading-machine-double .video-grid iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,0.08); }

@media (max-width: 1024px) {
	.automatic-loading-machine-double .spec-grid { grid-template-columns: 1fr; }
	.automatic-loading-machine-double .video-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.automatic-loading-machine-double .video-grid { grid-template-columns: 1fr; }
} 

/* Bag Automatic Packing Machine */
.bag-automatic-packing-machine .spec-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 20px; align-items: start; }
.bag-automatic-packing-machine .spec-image img { border-radius: 8px; }
.bag-automatic-packing-machine .spec-table table { width: 100%; border-collapse: collapse; background: #fff; }
.bag-automatic-packing-machine .spec-table th, .bag-automatic-packing-machine .spec-table td { border: 1px solid #e6e6e6; padding: 10px 12px; }
.bag-automatic-packing-machine .spec-table th { width: 40%; background: #f7f9fc; text-align: left; font-weight: 800; color: #0a58ca; }
.bag-automatic-packing-machine .note-list { margin: 0; padding-left: 18px; color: #333; }

.bag-automatic-packing-machine .video-embed { border-radius: 12px; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.bag-automatic-packing-machine .video-embed video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; }

@media (max-width: 1024px) {
	.bag-automatic-packing-machine .spec-grid { grid-template-columns: 1fr; }
} 

/* Dark background for video placeholders */
.bag-automatic-packing-machine .video-embed { background: #1f1f1f; }
.bag-automatic-packing-machine .video-embed video { background: #1f1f1f; } 

/* Imported products (Taiwan) */
.imported-products .spec-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 20px; align-items: start; }
.imported-products .spec-image img { border-radius: 8px; }
.imported-products .spec-table table { width: 100%; border-collapse: collapse; background: #fff; }
.imported-products .spec-table th, .imported-products .spec-table td { border: 1px solid #e6e6e6; padding: 10px 12px; }
.imported-products .spec-table th { width: 30%; background: #f7f9fc; text-align: left; font-weight: 800; color: #0a58ca; }
.imported-products .features { margin-top: 12px; }

@media (max-width: 1024px) {
	.imported-products .spec-grid { grid-template-columns: 1fr; }
} 

/* Certificate Page */
.certificate-page .cert-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 2rem;
}

.certificate-page figure img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.certificate-page figcaption {
	margin-top: 8px;
	text-align: center;
	font-size: 0.9rem;
	color: #666;
	font-weight: 500;
}

@media (max-width: 1024px) {
	.certificate-page .cert-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.certificate-page .cert-grid {
		grid-template-columns: 1fr;
	}
} 

/* PR Page */
.pr-page .video-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.pr-page .video-item {
	background-color: #1f1f1f;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.pr-page .video-item iframe {
	width: 100%;
	height: 250px;
	border: none;
	aspect-ratio: 16 / 9;
	display: block;
}

.pr-page .video-caption {
	padding: 12px;
	text-align: center;
	font-size: 1rem;
	color: #fff;
	background-color: #1f1f1f;
}

@media (max-width: 768px) {
	.pr-page .video-grid {
		grid-template-columns: 1fr;
	}
}