/*
Theme Name: Blank Elementor
Theme URI: https://example.com/blank-elementor
Author: Custom
Author URI: https://example.com
Description: Theme trắng tối giản, được thiết kế tối ưu cho Elementor v4. Lấy cảm hứng từ Hello Elementor nhưng được viết lại bằng native code. Nhẹ, sạch, không có styling thừa - để Elementor toàn quyền kiểm soát giao diện.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: blank-elementor
Tags: blank, elementor, minimal, lightweight, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ===== RESET TỐI GIẢN ===== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	margin: 0;
	padding: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #333;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 0.5em;
	font-weight: 600;
	line-height: 1.3;
}

p {
	margin: 0 0 1em;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover,
a:focus {
	text-decoration: underline;
}

img,
embed,
iframe,
object,
video {
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

/* Accessibility - skip link */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	-webkit-clip-path: none;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Alignment */
.alignleft {
	float: left;
	margin-right: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignwide {
	max-width: 1100px;
}

.alignfull {
	max-width: 100%;
}

/* WordPress Captions */
.wp-caption {
	max-width: 100%;
	margin-bottom: 1.5em;
}

.wp-caption-text {
	text-align: center;
	font-size: 0.875em;
	color: #666;
}

/* .site-main: KHÔNG đặt max-width/padding ở đây.
   Elementor sẽ tự quản lý container/width của riêng nó. */

/* ===== HEADER & FOOTER FALLBACK LAYOUT =====
   Chỉ có hiệu lực khi CHƯA dùng Elementor Pro Theme Builder
   cho header/footer. Khi đã build trong Elementor, các class này
   sẽ không xuất hiện và CSS dưới đây không ảnh hưởng gì. */

.site-header-inner,
.site-footer-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px;
}

.site-header-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.site-branding {
	flex: 0 0 auto;
}

.site-title {
	margin: 0;
	font-size: 1.5rem;
}

.site-description {
	margin: 0;
	font-size: 0.875rem;
	color: #666;
}

.main-navigation {
	flex: 1 1 auto;
}

.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	justify-content: flex-end;
}

.main-navigation a {
	display: block;
	padding: 8px 0;
	line-height: 1.2;
}

.site-footer {
	margin-top: 40px;
	border-top: 1px solid #eee;
}

.footer-widgets {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 30px;
	margin-bottom: 30px;
}

.site-info {
	text-align: center;
	font-size: 0.875rem;
	color: #666;
}

/* ===== RESPONSIVE BREAKPOINTS =====
   Khớp với breakpoint mặc định của Elementor v4 */

/* Tablet và nhỏ hơn */
@media (max-width: 1024px) {
	.site-header-inner,
	.site-footer-inner {
		padding: 15px 20px;
	}
}

/* Mobile */
@media (max-width: 768px) {
	.site-header-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.main-navigation {
		width: 100%;
	}

	.main-navigation ul {
		flex-direction: column;
		gap: 0;
		justify-content: flex-start;
		border-top: 1px solid #eee;
		padding-top: 10px;
	}

	.main-navigation li {
		border-bottom: 1px solid #f0f0f0;
	}

	.main-navigation a {
		padding: 12px 0;
	}
}

/* Mobile nhỏ */
@media (max-width: 480px) {
	body {
		font-size: 15px;
	}

	.site-title {
		font-size: 1.25rem;
	}
}

/* Clearfix */
.clear::after,
.entry-content::after,
.site-header::after,
.site-footer::after {
	content: "";
	display: block;
	clear: both;
}
