/*
Theme Name:   Flatsome Child
Description:  Child theme của Flatsome – giao diện tạp chí (Speisekarte style): trang chủ, danh mục, bài viết, trang, tìm kiếm.
Author:       ducnb
Template:     flatsome
Version:      1.0.2
Text Domain:  thuonghieu-child
*/

/* ==========================================================================
   Tokens
   ========================================================================== */
:root {
	--sk-red: #dd0000;
	--sk-red-dark: #b80000;
	--sk-yellow: #ffcc00;
	--sk-dark: #1c1c1c;
	--sk-text: #333;
	--sk-muted: #666;
	--sk-line: #ddd;
	--sk-soft: #f5f5f5;
	--sk-banner: #edf1f5;
	--sk-container: 1240px;
	--sk-font: "Roboto", -apple-system, "Segoe UI", Arial, sans-serif;
	--sk-font-brand: "Fira Sans", "Roboto", Arial, sans-serif;
	--sk-font-label: Georgia, "Times New Roman", serif;
}

/* "html body" beats Flatsome's inline typography CSS (Lato), which loads after this file */
html,
html body {
	background: #fff;
}

html body {
	font-family: var(--sk-font);
	color: var(--sk-text);
}

html body :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--sk-font-brand);
}

/* keep the footer at the bottom on short pages */
#wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

#wrapper > #main {
	flex: 1 0 auto;
}

.sk-container {
	width: 100%;
	max-width: var(--sk-container);
	margin: 0 auto;
	padding: 0 16px;
}

.sk-thumb {
	display: block;
	overflow: hidden;
	background: var(--sk-soft);
}

.sk-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.sk-thumb:hover img { transform: scale(1.04); }

/* ==========================================================================
   Header
   ========================================================================== */
.sk-header {
	background: var(--sk-red);
	position: relative;
	z-index: 50;
}

.sk-header .sk-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 80px;
	gap: 24px;
}

.sk-logo,
.sk-logo:hover {
	font-family: var(--sk-font-brand);
	font-style: italic;
	font-weight: 800;
	font-size: 26px;
	color: #fff;
	white-space: nowrap;
	line-height: 1;
}

.sk-logo img { max-height: 56px; width: auto; }

.sk-menu,
.sk-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sk-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 20px;
}

.sk-menu li { position: relative; margin: 0; }

.sk-menu a {
	display: block;
	padding: 6px 0;
	font-family: var(--sk-font-brand);
	font-style: italic;
	font-weight: 700;
	font-size: 16px;
	color: #fff;
	border-bottom: 2px solid transparent;
}

.sk-menu a:hover,
.sk-menu .current-menu-item > a,
.sk-menu .current-cat > a,
.sk-menu .current_page_item > a,
.sk-menu .current-menu-ancestor > a,
.sk-menu .current-post-ancestor > a {
	color: var(--sk-yellow);
	border-bottom-color: var(--sk-yellow);
}

/* sub menu */
.sk-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: -12px;
	min-width: 210px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .15);
	padding: 8px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: all .2s ease;
}

.sk-menu li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.sk-menu .sub-menu a {
	color: var(--sk-dark);
	padding: 8px 16px;
	font-size: 15px;
	border: 0;
}

.sk-menu .sub-menu a:hover { color: var(--sk-red); }

.sk-menu-toggle {
	display: none;
	background: transparent;
	border: 0;
	padding: 8px;
	margin: 0;
	min-height: 0;
	cursor: pointer;
}

.sk-menu-toggle span {
	display: block;
	width: 26px;
	height: 3px;
	margin: 5px 0;
	background: #fff;
	border-radius: 2px;
}

/* ==========================================================================
   Shared bits
   ========================================================================== */
.sk-label {
	display: inline-block;
	width: auto;
	background: var(--sk-yellow);
	color: #fff;
	font-family: var(--sk-font-label);
	font-size: 17px;
	text-transform: uppercase;
	letter-spacing: .3px;
	padding: 5px 7px;
	line-height: 1.2;
	margin: 0;
}

.sk-section-title {
	border-bottom: 3px solid var(--sk-red);
	margin-bottom: 12px;
}

.sk-cat-tag {
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .3px;
	color: var(--sk-red);
	margin-bottom: 6px;
}

.sk-cat-tag a { color: var(--sk-red); }

.sk-meta {
	font-size: 12px;
	color: var(--sk-muted);
	margin-bottom: 10px;
}

.sk-meta .sep { margin: 0 6px; }

.sk-btn-dark,
.sk-btn-dark:hover {
	display: inline-block;
	background: #444;
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	padding: 4px 8px;
	line-height: 1.4;
}

.sk-btn-dark:hover { background: var(--sk-red); }

/* Pagination */
.sk-pagination {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 36px 0 20px;
}

.sk-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 6px;
	font-size: 13px;
	font-weight: 700;
	color: var(--sk-dark);
	border: 2px solid var(--sk-dark);
	border-radius: 3px;
	background: #fff;
}

.sk-pagination .page-numbers.current,
.sk-pagination a.page-numbers:hover {
	background: var(--sk-dark);
	color: #fff;
}

.sk-pagination .page-numbers.dots { border-color: transparent; }

/* red, borderless variant (archives, search) */
.sk-pagination--red {
	justify-content: flex-start;
	gap: 6px;
}

.sk-pagination--red .page-numbers {
	border: 0;
	min-width: 30px;
	height: 30px;
	font-weight: 400;
}

.sk-pagination--red .page-numbers.current,
.sk-pagination--red a.page-numbers:hover {
	background: var(--sk-red);
	color: #fff;
}

/* ==========================================================================
   Home – hero
   ========================================================================== */
.sk-home { padding: 60px 0 40px; }

.sk-hero {
	display: grid;
	grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr);
	gap: 32px;
	margin-bottom: 50px;
}

.sk-hero-main .sk-thumb {
	position: relative;
	aspect-ratio: 16 / 9;
}

.sk-hero-main .sk-hero-cat {
	position: absolute;
	left: 8px;
	bottom: 6px;
	color: #fff;
	font-size: 12px;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .7);
}

.sk-hero-main .sk-hero-body { padding: 6px 8px 0; }

.sk-hero-main h2 {
	font-size: 26px;
	line-height: 1.35;
	font-weight: 700;
	margin: 0 0 10px;
}

.sk-hero-main h2 a { color: var(--sk-dark); }
.sk-hero-main h2 a:hover { color: var(--sk-red); }

.sk-hero-main p {
	font-size: 14px;
	line-height: 1.7;
	color: var(--sk-muted);
	margin: 0;
}

.sk-hero-side {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sk-side-item {
	display: flex;
	gap: 10px;
	background: var(--sk-soft);
	border-bottom: 2px solid #ccc;
	padding-bottom: 10px;
}

.sk-side-item .sk-thumb {
	flex: 0 0 155px;
	aspect-ratio: 16 / 10;
	height: auto;
}

.sk-side-item h3 {
	font-size: 15px;
	line-height: 1.5;
	font-weight: 500;
	margin: 6px 6px 0 0;
}

.sk-side-item h3 a { color: var(--sk-dark); }
.sk-side-item h3 a:hover { color: var(--sk-red); }

/* ==========================================================================
   Home – latest + sidebar
   ========================================================================== */
.sk-home-body {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 64px;
}


.sk-list-item {
	display: flex;
	gap: 30px;
	padding: 12px 0 10px;
	border-bottom: 2px solid #ccc;
}

.sk-list-item .sk-thumb {
	flex: 0 0 270px;
	aspect-ratio: 16 / 9;
	height: auto;
	align-self: flex-start;
}

.sk-list-item h3 {
	font-size: 19px;
	line-height: 1.3;
	font-weight: 700;
	margin: 0 0 4px;
}

.sk-list-item h3 a { color: var(--sk-dark); }
.sk-list-item h3 a:hover { color: var(--sk-red); }

.sk-list-item .sk-meta { margin-bottom: 12px; }

.sk-list-item p {
	font-size: 13px;
	line-height: 1.8;
	margin: 0 0 6px;
}

.sk-home-divider {
	border: 0;
	border-top: 2px solid #999;
	margin: 40px 32px 0;
}

/* Sidebar */
.sk-sidebar .sk-widget { margin-bottom: 50px; }

.sk-popular-item {
	display: flex;
	gap: 8px;
	padding: 8px 0 12px;
	border-bottom: 2px solid #ccc;
}

.sk-popular-item .sk-thumb {
	flex: 0 0 160px;
	aspect-ratio: 16 / 9;
	height: auto;
}

.sk-popular-item h4 {
	font-size: 13px;
	line-height: 1.5;
	font-weight: 500;
	margin: 0;
}

.sk-popular-item h4 a { color: var(--sk-dark); }
.sk-popular-item h4 a:hover { color: var(--sk-red); }

.sk-follow { text-align: center; }

.sk-follow h3 {
	font-size: 22px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--sk-dark);
	margin-bottom: 20px;
}

.sk-social {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
}

.sk-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	color: #fff;
	transition: transform .2s ease, opacity .2s ease;
}

.sk-social a:hover { transform: translateY(-2px); opacity: .9; color: #fff; }
.sk-social svg { width: 18px; height: 18px; fill: currentColor; }
.sk-social .is-facebook { background: #1877f2; }
.sk-social .is-x { background: #000; }
.sk-social .is-instagram { background: #e4405f; }
.sk-social .is-youtube { background: #ff0000; }
.sk-social .is-pinterest { background: #e60023; }

/* ==========================================================================
   Archive / Search – grid
   ========================================================================== */
.sk-page-banner {
	background: var(--sk-banner);
	padding: 70px 0;
	text-align: center;
}

.sk-page-banner h1 {
	font-family: var(--sk-font-brand);
	font-size: 32px;
	font-weight: 600;
	color: var(--sk-dark);
	margin: 0;
}

.sk-page-banner .sk-banner-desc {
	max-width: 760px;
	margin: 12px auto 0;
	color: var(--sk-muted);
}

.sk-page-banner .sk-banner-desc p:last-child { margin: 0; }

.sk-archive { padding: 80px 0 60px; }

.sk-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 40px;
	align-items: start;
}

.sk-card {
	background: #fff;
	box-shadow: 0 12px 20px -12px rgba(0, 0, 0, .5);
	padding-bottom: 24px;
}

.sk-card .sk-thumb { aspect-ratio: 3 / 2; }

.sk-card-body { padding: 28px 32px 0; }

.sk-card h2 {
	font-family: var(--sk-font-brand);
	font-size: 26px;
	line-height: 1.5;
	font-weight: 600;
	margin: 0 0 14px;
}

.sk-card h2 a { color: var(--sk-dark); }
.sk-card h2 a:hover { color: var(--sk-red); }

.sk-card p {
	font-size: 15px;
	line-height: 1.75;
	margin: 0 0 18px;
}

.sk-readmore {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .3px;
	color: var(--sk-dark);
}

.sk-readmore:hover { color: var(--sk-red); }

.sk-search-bar {
	max-width: 560px;
	margin: 20px auto 0;
}

.sk-searchform {
	display: flex;
	margin: 0;
}

.sk-searchform input[type="search"] {
	flex: 1;
	height: 46px;
	margin: 0;
	border: 1px solid var(--sk-line);
	border-right: 0;
	box-shadow: none;
	font-size: 15px;
	padding: 0 14px;
	background: #fff;
}

.sk-searchform button {
	height: 46px;
	margin: 0;
	padding: 0 20px;
	background: var(--sk-red);
	color: #fff;
	border: 0;
	font-weight: 700;
	text-transform: uppercase;
}

.sk-searchform button:hover { background: var(--sk-red-dark); }

.sk-empty {
	text-align: center;
	padding: 40px 0;
	color: var(--sk-muted);
}

/* ==========================================================================
   Single post
   ========================================================================== */
.sk-single { padding: 60px 0 50px; }

.sk-narrow {
	max-width: 700px;
	margin: 0 auto;
}

.sk-single-header h1 {
	font-family: var(--sk-font-brand);
	font-size: 36px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--sk-dark);
	margin: 0 0 18px;
}

.sk-single-header .sk-meta { margin-bottom: 24px; }

.sk-entry {
	font-size: 16px;
	line-height: 1.8;
}

.sk-entry :where(h2),
.sk-entry :where(h3),
.sk-entry :where(h4) {
	font-family: var(--sk-font-brand);
	color: var(--sk-dark);
	line-height: 1.35;
	margin: 1.6em 0 .7em;
}

.sk-entry :where(h2) { font-size: 28px; text-align: center; }
.sk-entry :where(h3) { font-size: 22px; }
.sk-entry :where(h4) { font-size: 18px; }

.sk-entry :where(a) { color: var(--sk-red); text-decoration: underline; }

.sk-entry :where(img) { height: auto; }

.sk-entry :where(figure) { margin: 1.5em auto; }

.sk-entry :where(figcaption) { font-size: 13px; color: var(--sk-muted); text-align: center; }

.sk-entry :where(ul),
.sk-entry :where(ol) { margin-left: 1.3em; }

.sk-entry :where(blockquote) {
	border-left: 4px solid var(--sk-red);
	background: var(--sk-soft);
	padding: 16px 20px;
	margin: 1.5em 0;
}

/* tables – red header bar like the reference */
.sk-entry :where(table) {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5em 0;
	font-size: 14px;
	border: 1px solid #bbb;
}

.sk-entry :where(table caption) {
	background: var(--sk-red);
	color: #fff;
	font-family: var(--sk-font-brand);
	font-weight: 700;
	font-size: 24px;
	padding: 8px;
}

.sk-entry :where(th),
.sk-entry :where(td) {
	border: 1px solid #bbb;
	padding: 6px 12px;
	text-align: left;
}

.sk-entry :where(thead th),
.sk-entry :where(tr:first-child th) {
	background: #f2f2f2;
	font-weight: 700;
	text-align: center;
}

/* UX Builder sections inside posts: line the columns up with the post title */
.sk-entry > .section { padding-left: 0; padding-right: 0; }
.sk-entry > .section > .section-content > .row {
	width: auto;
	max-width: none;
	margin-left: -15px;
	margin-right: -15px;
}

.sk-entry .wp-block-table { margin: 1.5em 0; overflow-x: auto; }
.sk-entry .wp-block-table table { margin: 0; }

.sk-tags {
	margin-top: 30px;
	font-size: 13px;
}

.sk-tags a {
	display: inline-block;
	background: var(--sk-soft);
	color: var(--sk-dark);
	padding: 3px 10px;
	margin: 0 4px 6px 0;
}

.sk-tags a:hover { background: var(--sk-red); color: #fff; }

/* Similar posts */
.sk-related {
	background: var(--sk-banner);
	padding: 50px 0 60px;
}

.sk-related h2 {
	font-family: var(--sk-font-brand);
	font-size: 28px;
	font-weight: 700;
	color: var(--sk-dark);
	margin-bottom: 26px;
}

.sk-related .sk-grid { gap: 30px; }

.sk-related .sk-card-body { padding: 20px 22px 0; }

.sk-related .sk-card h3 {
	font-family: var(--sk-font-brand);
	font-size: 18px;
	line-height: 1.4;
	font-weight: 600;
	margin: 0 0 8px;
}

.sk-related .sk-card h3 a { color: var(--sk-dark); }
.sk-related .sk-card h3 a:hover { color: var(--sk-red); }
.sk-related .sk-meta { margin: 0; }

.sk-comments { padding: 40px 0 0; }

/* ==========================================================================
   Single page
   ========================================================================== */
.sk-page { padding: 32px 0 30px; }

.sk-page-inner {
	max-width: 1210px;
	margin: 0 auto;
}

.sk-page-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 290px;
	background: var(--sk-banner) center / cover no-repeat;
	text-align: center;
	padding: 30px 16px;
	margin-bottom: 6px;
}

.sk-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, .85);
}

.sk-page-hero h1 {
	position: relative;
	font-family: var(--sk-font-brand);
	font-size: 34px;
	font-weight: 600;
	color: var(--sk-dark);
	margin: 0;
}

.sk-page .sk-entry :where(h2),
.sk-page .sk-entry :where(h3) { text-align: left; }

/* ==========================================================================
   Footer
   ========================================================================== */
.sk-footer {
	background: var(--sk-red);
	color: #fff;
	padding: 26px 0 26px;
}

.sk-footer-top {
	display: flex;
	align-items: center;
	gap: 40px 200px;
	flex-wrap: wrap;
}

.sk-footer .sk-menu { gap: 4px 20px; }

.sk-footer .sk-menu a:hover,
.sk-footer .sk-menu .current-menu-item > a { border-bottom-color: transparent; }

.sk-copyright {
	text-align: center;
	font-size: 16px;
	margin-top: 36px;
}

.sk-copyright a { color: #fff; }

/* hide Flatsome's own footer bits if any hook prints them */
#footer .absolute-footer { display: none; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.sk-home-divider { margin-left: 0; margin-right: 0; }
	.sk-list-item .sk-thumb { flex-basis: 220px; }
	.sk-card-body { padding: 22px 22px 0; }
	.sk-card h2 { font-size: 22px; }
	.sk-footer-top { gap: 20px 80px; }
}

@media (max-width: 849px) {
	.sk-header .sk-container { min-height: 64px; }
	.sk-logo, .sk-logo:hover { font-size: 22px; }
	.sk-menu-toggle { display: block; }

	.sk-header .sk-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--sk-red);
		border-top: 1px solid rgba(255, 255, 255, .2);
		padding: 10px 16px 16px;
	}

	.sk-header.is-open .sk-nav { display: block; }

	.sk-header .sk-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.sk-header .sk-menu a { padding: 10px 0; border-bottom: 1px solid rgba(255, 255, 255, .15); }

	.sk-header .sk-menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		background: transparent;
		padding: 0 0 0 16px;
	}

	.sk-header .sk-menu .sub-menu a { color: #fff; }

	.sk-home { padding-top: 30px; }
	.sk-hero,
	.sk-home-body { grid-template-columns: minmax(0, 1fr); }
	.sk-latest { padding-top: 0; }

	.sk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
	.sk-archive { padding: 50px 0 40px; }
	.sk-page-banner { padding: 50px 0; }

	.sk-single-header h1 { font-size: 28px; }

	.sk-footer-top { flex-direction: column; gap: 16px; }
	.sk-footer .sk-menu { justify-content: center; }
}

@media (max-width: 549px) {
	.sk-hero-main h2 { font-size: 21px; }
	.sk-side-item .sk-thumb { flex-basis: 120px; }

	.sk-list-item { flex-direction: column; gap: 12px; }
	.sk-list-item .sk-thumb { flex-basis: auto; width: 100%; }

	.sk-popular-item .sk-thumb { flex-basis: 120px; }

	.sk-grid { grid-template-columns: minmax(0, 1fr); }
	.sk-card h2 { font-size: 22px; }

	.sk-page-hero { min-height: 180px; }
	.sk-page-hero h1,
	.sk-page-banner h1 { font-size: 26px; }

	.sk-entry :where(h2) { font-size: 23px; }
	.sk-entry :where(table) { font-size: 13px; }
	.sk-entry :where(th, td) { padding: 5px 7px; }
}
