/**
 * Resources main listing page styles (page-resources-main.php)
 *
 * Extracted from inline <style>. Hardcoded values preserved as-is to avoid
 * visual regressions; replace with :root variables in a follow-up pass.
 */

#page {
	max-width: 100%;
}

.notice-header {
	position: relative;
	width: 100%;
	overflow: hidden;
	color: #fff;
}

.notice-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(60deg, var(--primary) 0%, var(--primary) 100%);
	opacity: 0;
	z-index: -1;
	transition: opacity 1s ease;
}

.notice-header.active::before {
	opacity: 1;
}

.wave-svg {
	position: absolute;
	bottom: -3rem;
}

.wave-svg.left>path {
	animation: waveAnimation-left 10s ease-in-out infinite;
}

.wave-svg.right>path {
	animation: waveAnimation-right 15s ease-in-out infinite;
}

.wave-svg>path:nth-child(1) {
	animation-delay: -2s;
	animation-duration: 8s;
}

.wave-svg>path:nth-child(2) {
	animation-delay: -3s;
	animation-duration: 10s;
}

.wave-svg>path:nth-child(3) {
	animation-delay: -4s;
	animation-duration: 13s;
}

.background-icon {
	position: absolute;
	opacity: 0.5;
	fill: #FFF;
	animation: backgroundicon-move 10s ease-in-out infinite;
}

.background-icon.item1 {
	rotate: -20deg;
	width: 10rem;
	top: 10%;
	left: 10%;
}

.background-icon.item2 {
	rotate: 210deg;
	width: 8rem;
	top: 15%;
	right: 10%;
	animation-delay: -3s;
}

.background-icon.item3 {
	rotate: 210deg;
	width: 3.5rem;
	top: 35%;
	left: 25%;
	animation-delay: -4s;
}

.background-icon.item4 {
	width: 4rem;
	top: 50%;
	right: 30%;
	animation-delay: -5s;
}

.background-icon.item5 {
	width: 3.5rem;
	top: -3%;
	right: 30%;
	rotate: 45deg;
	animation-delay: -6s;
}

.page-header-content-container {
	margin-top: 3.5rem;
	position: relative;
	top: 100px;
	opacity: 0;
}

.notice-header .title {
	font-weight: bold;
	font-size: 2.2rem;
	text-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
	text-align: center;
}

.notice-header .sub-title {
	font-weight: 400;
	font-size: 1.2rem;
	text-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
	text-align: center;
}

.resources-top-images-slider-container {
	display: flex;
	max-width: 700px;
	margin: auto;
	justify-content: center;
	align-items: center;
	z-index: 2;
	position: relative;
}

.resources-top-images-slider {
	max-width: 550px;
	margin: 1rem auto;
	position: relative;
	width: 100%;
}

.resources-top-images-slider img {
	border-radius: 1rem;
	max-height: 250px;
	margin: 2rem auto 1rem auto;
	box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.15);
}

.resources-top-images-slider-arrow-box {
	position: relative;
	top: -4rem;
	font-size: 1.5rem;
}

.resources-top-images-slider-arrow {
	cursor: pointer;
}

.slider-item-container a {
	text-decoration: none;
}

.img-container {
	max-width: 500px;
	margin: auto;
	position: relative;
}

.price-box {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	background: rgba(0, 0, 0, 0.8);
	color: #fff;
	padding: 0.1rem 1rem;
	font-size: 0.8rem;
	font-weight: 500;
	border-radius: 0.25rem;
}

.download-count-box {
	position: absolute;
	top: 1rem;
	right: 1rem;
	background-color: #ffe1e1e3;
	color: #d72626;
	padding: 0.1rem 0.8rem;
	font-size: 0.7rem;
	font-weight: 700;
	border-radius: 1rem;
}

.template-name {
	color: #fff;
}

.resources-top-images-slider .slider-item-container.slick-slide {
	display: block;
	text-align: center;
}

.resources-main-contents-container {
	margin: 4rem auto;
	position: relative;
}

.align-center {
	text-align: center;
}

.half-circle {
	position: absolute;
	transform: scaleY(-1) translate(-50%);
	top: -12rem;
	width: 30%;
	z-index: -2;
	fill: var(--primary-light);
}

.resources-main-contents-container .title {
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	color: #111;
	margin: 2rem auto;
}

.recent-resources-slider-containter {
	max-width: 950px;
	margin: 2rem auto 4.5rem auto;
	display: flex;
	align-items: center;
	gap: 30px;
}

.resources-main-list-items a,
.recent-resources-slider-containter a {
	color: #111;
	text-decoration: none;
}

.resources-update-notice-container {
	max-width: 900px;
	margin: auto;
	text-align: center;
	font-size: 1.1rem;
	margin-top: -0.5rem;
	max-height: 35vh;
	scroll-behavior: auto;
	overflow-y: scroll;
}

.update-notice-row {
	display: flex;
	color: #555;
	border-bottom: 1px solid #e3e3e3;
	padding: 0.8rem 0px;
	font-size: 1rem;
	font-weight: 200;
}

.update-notice-row.header {
	font-weight: 500;
	color: #000;
}

.update-date,
.update-ver { width: 15%; }
.update-title { width: 30%; }
.update-title a { color: var(--primary); text-decoration: none; }
.update-detail { width: 40%; text-align: left; }

.content-container {
	margin: 0.5rem auto;
}

.content-container-item {
	margin: 0.2rem auto;
}

.content-type,
.available-ver,
.content-title {
	text-align: left;
}

.content-type {
	margin-top: 0.8rem;
	display: flex;
	gap: 0.4rem;
}

.content-type-item {
	background: var(--color-black-100);
	color: #333;
	display: inline-block;
	position: relative;
	left: 0px;
	text-align: left;
	padding: 0.15rem 1rem;
	border-radius: 0.2rem;
	font-weight: 500;
	font-size: 0.7rem;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.content-type-item.best {
	background: #ff000029;
	color: #c12424;
}

.content-type-item.biz_automation {
	background: #00e9232b;
	color: #005a06;
}

.content-type-item.biz_must {
	background: #0047e41f;
	color: #001cf9;
}

.content-type-item.time_saving {
	background: #ffe51140;
	color: #d37000;
}

.available-ver-item {
	color: #666;
	font-weight: 500;
	font-size: 0.73rem;
}

.content-title-item {
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.4;
	min-height: 2.8em;
	color: #000;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.slick-recent-resources-slider {
	width: 100%;
	max-width: 850px;
	margin: auto;
}

.slider-recent-resources-arrow-box {
	top: -4rem;
	font-size: 2rem;
	position: relative;
}

.slider-recent-resources-arrow {
	cursor: pointer;
}

.slider-recent-resources-arrow.slick-disabled {
	color: #dadada;
}

.recent-resources-item img {
	max-width: 250px;
	width: 100%;
	border-radius: 0.5rem;
}

.status__bg {
	position: absolute;
	right: 0;
	left: 0;
	width: 100%;
	height: 35vh;
	transform: skewY(-5deg) translateY(3rem);
	background-image: linear-gradient(to left, #e0f1e7, #e9f1ed);
	transform-origin: top left;
	z-index: -1;
}

#page .resources-status-container {
	display: flex;
	margin: auto;
	margin-top: 14vh;
	margin-bottom: 16vh;
	max-width: 1000px;
}

.resources-status-item {
	flex: 1 1 0;
	padding-left: 3rem;
}

.resources-status-item .flex-box {
	align-items: center;
	gap: 10px;
	padding-left: 1.2rem;
	margin-top: 0.2rem;
}

.resources-status-item .title-box {
	font-size: 1.3em;
	font-weight: bold;
}

.resources-status-item .title.v-bar {
	line-height: 1em;
	border-left: 5px solid;
	padding-left: 0.75rem;
	border-image: linear-gradient(to bottom, #38a36a 0%, var(--primary) 100%) 1;
}

.resources-status-item .desc-box .desc {
	color: #7d7d7d;
	font-size: 1.4em;
	font-weight: 500;
}

.resources-status-item .desc-box .desc.fixed {
	flex: 0 0 10rem;
	font-size: 1.3em;
}

.resources-status-item .desc-box .num {
	background: linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 3.3em;
	font-weight: bold;
	line-height: 1.5em;
	transition: opacity var(--transition-slow);
}

.resources-status-item .desc-box .num.up {
	opacity: 0;
}

.resources-status-item .desc-box .num.up.animate {
	opacity: 1;
}

.resources-main-list-container {
	max-width: 1100px;
	margin: 7rem auto 8rem auto;
}

.resources-main-list-items {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.5rem 2rem;
}

.resources-main-list-item img {
	border-radius: 1rem;
}

.resources-main-list-item .price-box,
.resources-main-list-item .download-count-box {
	font-size: 0.85rem;
}

.resources-search-box {
	position: relative;
	display: flex;
	align-items: center;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	background: #fff;
	border: 1px solid #e0e4e9;
	overflow: hidden;
	border-radius: 0.7rem;
	padding: 0.3rem;
	max-width: 800px;
	margin: auto;
}

#resources-search-input,
#resources-search-input-top {
	width: 100%;
	flex: 1;
	padding: 15px 20px;
	border: none;
	outline: none;
	background: transparent;
	font-size: 1.15rem;
}

#resources-search-input::placeholder,
#resources-search-input-top::placeholder {
	color: #9ba3af;
}

#resources-search-button,
#resources-search-button-top {
	width: 44px;
	height: 44px;
	background: var(--primary);
	color: white;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 8px;
	transition: all 0.2s ease;
}

#resources-search-button:hover,
#resources-search-button-top:hover {
	background: var(--primary-dark);
	transform: scale(1.05);
}

#resources-search-button.search-reset {
	background: #64748b;
}

#resources-search-button.search-reset:hover {
	background: #475569;
}

#resources-search-button i {
	font-size: 1.1rem;
	margin: 0;
}

.review-containter {
	max-width: 1300px;
	margin: auto;
}

@keyframes waveAnimation-left {
	0%   { transform: translate3d(-60%, 0, 0) skewX(0deg); }
	50%  { transform: translate3d(-70%, 2rem, 1rem) skewX(20deg); }
	100% { transform: translate3d(-60%, 0, 0) skewX(0deg); }
}

@keyframes waveAnimation-right {
	0%   { transform: translate3d(160%, 0, 0) skewX(0deg) scaleX(-1); }
	50%  { transform: translate3d(170%, 2rem, 1rem) skewX(-20deg) scaleX(-1); }
	100% { transform: translate3d(160%, 0, 0) skewX(0deg) scaleX(-1); }
}

@keyframes backgroundicon-move {
	0%   { transform: translate3d(0, 0, 0); }
	50%  { transform: translate3d(4rem, 4rem, 4rem); }
	100% { transform: translate3d(0, 0, 0); }
}

@media (max-width: 1200px) {
	.slick-recent-resources-slider {
		width: 80%;
	}
}

@media (max-width: 999px) {
	.resources-main-contents-container {
		padding: 0px 15px;
		width: auto;
	}
}

@media (max-width: 768px) {
	.notice-header {
		padding: 0px 15px;
		width: auto;
	}

	#page .resources-status-container {
		display: block;
	}

	.resources-status-item {
		margin: 1.5rem auto;
	}

	.slick-recent-resources-slider {
		width: 100%;
	}

	.resources-top-images-slider-arrow-box,
	.slider-recent-resources-arrow-box {
		display: none;
	}

	.available-ver-item {
		font-size: 0.7rem;
	}

	.resources-main-list-items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.content-title-item {
		font-size: 1rem;
	}

	.price-box,
	.download-count-box {
		white-space: nowrap;
	}

	.resources-main-list-item .download-count-box {
		font-size: 0.8rem;
	}

	.hide-mobile {
		font-size: 0.8em;
	}

	.update-notice-row.header {
		display: flex;
	}

	.update-notice-row {
		display: block;
		font-size: 1rem;
	}

	.update-notice-row .update-ver,
	.update-notice-row .update-date {
		display: none;
	}

	.update-notice-row .update-detail,
	.update-notice-row .update-title {
		width: 100%;
		text-align: left;
	}
}
