/* =============================================================
   Đức Mẹ Núi Cúi Theme — main.css
   Tông màu: Xanh lá (chủ đạo) + Vàng (điểm nhấn, tinh thần tôn giáo)
   ============================================================= */

:root{
	--green-900:#0e3b21;
	--green-800:#00a859;
	--green-700:#1a7a42;
	--green-600:#1e8449;
	--green-100:#eafaf1;
	--green-50:#f4fbf7;
	--gold:#0B2545;
	--gold-light:#0B2545;
	--text-dark:#1c2b22;
	--text-mute:#5b6b60;
	--white:#ffffff;
	--border:#dcece1;
	--radius:14px;
	--shadow:0 8px 24px rgba(20,90,50,0.10);
	--font-heading:'Merriweather', Georgia, serif;
	--font-body:'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth;overflow-x:hidden; }
body{
	margin:0;
	font-family:var(--font-body);
	color:var(--text-dark);
	background:var(--white);
	line-height:1.65;
}
img{ max-width:100%; display:block; height:auto; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-heading); color:var(--green-900); line-height:1.3; margin:0 0 .5em; }
.container{ max-width:1200px; margin:0 auto; padding:0 20px; }
.screen-reader-text{ position:absolute !important; clip:rect(1px,1px,1px,1px); overflow:hidden; height:1px; width:1px; }

/* Buttons */
.btn{
	display:inline-flex; align-items:center; gap:8px;
	padding:12px 24px; border-radius:50px; font-weight:600; font-size:.95rem;
	border:2px solid transparent; transition:all .25s ease; cursor:pointer;
}
.btn--primary{ background:var(--green-700); color:var(--white); }
.btn--primary:hover{ background:var(--green-800); }
.btn--gold{ background:var(--gold); color:var(--green-900); }
.btn--gold:hover{ background:var(--gold-light); }
.btn--outline{ background:transparent; border-color:var(--green-700); color:var(--green-700); }
.btn--outline:hover{ background:var(--green-700); color:var(--white); }

/* -------------------- TOP BAR -------------------- */
.top-bar{ background:var(--green-900); color:var(--green-100); font-size:.85rem;}
.top-bar__inner{ display:flex; justify-content:space-between; align-items:center; padding:8px 0; flex-wrap:wrap; gap:6px; }
.top-bar__contact span{ margin-right:18px; display:inline-flex; align-items:center; gap:6px; }
.top-bar__contact a{ color:var(--gold-light); }
.top-bar__social a{ margin-left:14px; color:var(--green-100); }
.top-bar__social a:hover{ color:var(--gold-light); }

/* -------------------- HEADER -------------------- */
.site-header{ background:var(--white); box-shadow:0 2px 10px rgba(0,0,0,.05); position:sticky; top:0; z-index:50; }
.site-header__inner{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; }
.site-title-link{ display:flex; flex-direction:column; }
.site-branding{ display:flex; align-items:center; }
.site-branding img,
.site-branding .custom-logo{
	max-height:80px;
	width:auto;
	height:auto;
}
@media (max-width:880px){
	.site-branding img,
	.site-branding .custom-logo{ max-height:60px; margin-left:10px; }
}
.site-title{ font-family:var(--font-heading); font-weight:700; font-size:1.4rem; color:var(--green-800); }
.site-desc{ font-size:.75rem; color:var(--text-mute); }

/* Thanh menu — nằm dưới logo, full width, nền xanh đậm */
.main-navigation{ background:var(--green-800); }
.main-navigation .container{ display:flex; justify-content:center; }
#primary-menu, .primary-menu{ display:flex; gap:8px; }
#primary-menu > li, .primary-menu > li{ position:relative; }
#primary-menu a, .primary-menu a{ font-weight:600; color:var(--white); padding:14px 16px; display:block; text-transform:uppercase; }
#primary-menu > li > a:hover, .primary-menu > li > a:hover{ color:var(--gold-light); }
#primary-menu li.current-menu-item > a{ color:var(--gold-light); }
#primary-menu li.menu-item-has-children > a::after{ content:'▾'; margin-left:6px; font-size:.65em; vertical-align:middle; }

/* Dropdown submenu (desktop) */
#primary-menu .sub-menu{
	position:absolute; top:100%; left:0; min-width:280px; z-index:60;
	background:var(--white); border-radius:10px; box-shadow:var(--shadow); padding:8px 0;
	opacity:0; visibility:hidden; transform:translateY(8px); transition:all .2s ease;
}
#primary-menu li.menu-item-has-children:hover > .sub-menu,
#primary-menu li.menu-item-has-children:focus-within > .sub-menu{
	opacity:1; visibility:visible; transform:translateY(0);
}
#primary-menu .sub-menu li{ position:relative; }
#primary-menu .sub-menu a{ color:var(--text-dark); padding:10px 18px; font-weight:500; font-size:.92rem; }
#primary-menu .sub-menu a:hover{ background:var(--green-50); color:var(--green-700); }
#primary-menu .sub-menu .sub-menu{ top:0; left:100%; }

.menu-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px; }
.menu-toggle span{ width:24px; height:2px; background:var(--green-800); }
.submenu-toggle{ display:none; border:0; background:none; padding:0; } /* mặc định ẩn trên desktop, chỉ hiện trong @media mobile bên dưới */

@media (max-width:880px){
	.top-bar__inner{ display:flex;justify-content:center; padding:8px 0; }
.top-bar__contact{ display:none; } /* ẩn phần địa chỉ chữ, chỉ giữ icon */
	.menu-toggle{ display:flex; }
	.main-navigation .container{ display:block; padding:0; }
	#primary-menu, .primary-menu{ display:none; flex-direction:column; gap:0; }
	#primary-menu.is-open, .primary-menu.is-open{ display:flex; }
	#primary-menu > li, .primary-menu > li{ border-top:1px solid rgba(255,255,255,.12); }
	#primary-menu > li:first-child{ border-top:0; }
	#primary-menu > li > a, .primary-menu > li > a{ padding:14px 20px; }

	/* Trên mobile: menu con hiển thị luôn dạng thu nhỏ, thụt lề, không cần hover */
	#primary-menu .sub-menu{
		position:static; display:block; opacity:1; visibility:visible; transform:none;
		background:rgba(0,0,0,.15); box-shadow:none; border-radius:0; padding:4px 0;
	}
	#primary-menu li.menu-item-has-children > a::after{ float:right; }
	#primary-menu .sub-menu a{ color:rgba(255,255,255,.85); padding:10px 20px 10px 34px; font-size:.88rem; }
	#primary-menu .sub-menu a:hover{ background:rgba(0,0,0,.12); color:var(--gold-light); }
	#primary-menu .sub-menu .sub-menu a{ padding-left:50px; }
}

/* -------------------- BREADCRUMB -------------------- */
.nuicui-breadcrumb{ background:var(--green-50); font-size:.85rem; color:var(--text-mute); }
.nuicui-breadcrumb div{ padding:10px 20px; }
.nuicui-breadcrumb a{ color:var(--green-700); }
.nuicui-breadcrumb .sep{ margin:0 6px; color:var(--border); }

/* -------------------- HERO SLIDER -------------------- */
.hero-slider{ position:relative; aspect-ratio:2.6;  overflow:hidden; background:var(--green-900); }
.hero-slider--empty{ height:320px; aspect-ratio:auto; display:flex; align-items:center; }
.hero-slider__track{ position:relative; height:100%; }
.hero-slide{
	position:absolute; inset:0;
	background-size:contain; background-repeat:no-repeat; background-position:center;
	background-color:var(--green-900);
	opacity:0; visibility:hidden; transition:opacity .8s ease;
}
.hero-slide.is-active{ opacity:1; visibility:visible; }
.hero-slide::after{
	content:''; position:absolute; inset:0; pointer-events:none;
	background:linear-gradient(180deg, rgba(14,59,33,0) 75%, rgba(14,59,33,.35) 100%);
}
.hero-slide__content{ position:relative; height:100%; display:flex; flex-direction:column; justify-content:center; color:var(--white); max-width:720px; }
.hero-slide__content h1{ color:var(--white); font-size:clamp(1.8rem,4vw,3rem); margin-bottom:.3em; }
.hero-slide__content p{ font-size:1.1rem; margin-bottom:1.4em; color:var(--green-100); }
.hero-nav{
	position:absolute; top:50%; transform:translateY(-50%); z-index:5;
	background:rgba(255,255,255,.15); color:var(--white); border:1px solid rgba(255,255,255,.4);
	width:44px; height:44px; border-radius:50%; cursor:pointer; font-size:1.1rem; backdrop-filter:blur(4px);
}
.hero-nav:hover{ background:var(--gold); color:var(--green-900); border-color:var(--gold); }
.hero-nav--prev{ left:24px; } .hero-nav--next{ right:24px; }
.hero-dots{ position:absolute; bottom:22px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:5; }
.hero-dots button{ width:10px; height:10px; border-radius:50%; border:2px solid var(--white); background:transparent; cursor:pointer; padding:0; }
.hero-dots button.is-active{ background:var(--gold); border-color:var(--gold); }

@media (max-width:600px){
	.hero-slider{ aspect-ratio:1/1; }
	.hero-nav{ width:34px; height:34px; font-size:.9rem; }
	.hero-nav--prev{ left:10px; display:none;} .hero-nav--next{ right:10px; display:none;}
	.hero-dots{ bottom:12px; gap:6px; }
	.hero-dots button{ width:8px; height:8px; }
	.top-bar__inner{display:flex; justify-content:center; padding:8px 0; }
.top-bar__contact{ display:none; } /* ẩn phần địa chỉ chữ, chỉ giữ icon */
}
/* -------------------- GIỚI THIỆU -------------------- */
.home-intro{ padding:70px 0; background:var(--white); }
.home-intro__grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.home-intro__img img{ border-radius:var(--radius); box-shadow:var(--shadow); }
.eyebrow{ color:var(--gold); font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.8rem; }
.home-intro__body h2{ font-size:2rem; margin-top:.3em; }
.home-intro__content{ color:var(--text-mute); margin-bottom:1.4em;text-align:justify; }
@media (max-width:880px){ .home-intro__grid{ grid-template-columns:1fr; } .home-intro__img{display:none;} }

/* -------------------- HOME SECTIONS (chung) -------------------- */
.home-section{ padding:56px 0; }
.home-section:nth-of-type(even){ background:var(--green-50); }
.home-section__head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:32px; gap:16px; flex-wrap:wrap; }
.home-section__title{ font-size:1.75rem; position:relative; padding-left:16px; border-left:5px solid var(--green-800); }
.home-section__desc{ color:var(--text-mute); margin:.3em 0 0; }
.tag-cat{
	display:inline-block; background:var(--green-100); color:var(--green-800); font-size:.75rem; font-weight:700;
	padding:4px 10px; border-radius:50px; margin-bottom:8px; text-transform:uppercase; letter-spacing:.03em;
}
.post-date{ display:inline-flex; align-items:center; gap:6px; font-size:.8rem; color:var(--text-mute); }

/* Kiểu 1: FEATURED */
.layout-featured{ display:grid; grid-template-columns:1.4fr 1fr; gap:28px; }
.featured-main{ display:block; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); background:var(--white); }
.featured-main__img{ aspect-ratio:16/9; overflow:hidden; }
.featured-main__img img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.featured-main:hover .featured-main__img img{ transform:scale(1.06); }
.featured-main__body{ padding:22px; }
.featured-main__body h3{ font-size:1.4rem; }
.featured-side{ display:flex; flex-direction:column; gap:16px; }
.featured-side__item{ display:flex; gap:14px; background:var(--white); border-radius:12px; padding:10px; box-shadow:var(--shadow); }
.featured-side__img{ width:90px; height:90px; flex:none; border-radius:10px; overflow:hidden; }
.featured-side__img img{ width:100%; height:100%; object-fit:cover; }
.featured-side__body h4{ font-size:.98rem; margin:0 0 6px; }
@media (max-width:880px){ .layout-featured{ grid-template-columns:1fr; } }

/* Kiểu 2: GRID CARD */
.layout-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.card{ background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--border); transition:transform .25s; }
.card:hover{ transform:translateY(-4px); }
.card__img{ aspect-ratio:4/3; overflow:hidden; }
.card__img img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.card:hover .card__img img{ transform:scale(1.08); }
.card__body{ padding:18px; }
.card__body h3{ font-size:1.1rem; }
.card__body p{ color:var(--text-mute); font-size:.9rem; margin:.4em 0 .8em; }
@media (max-width:960px){ .layout-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .layout-grid{ grid-template-columns:1fr; } }

/* Kiểu 3: LIST NGANG */
.layout-list{ display:flex; flex-direction:column; gap:18px; }
.list-item{ display:flex; gap:18px; background:var(--white); border:1px solid var(--border); border-radius:12px; padding:14px; }
.list-item__img{ width:150px; height:110px; flex:none; border-radius:10px; overflow:hidden; }
.list-item__img img{ width:100%; height:100%; object-fit:cover; }
.list-item__body h3{ font-size:1.1rem; margin:.2em 0; }
.list-item__body p{ color:var(--text-mute); font-size:.9rem; margin:0; }
@media (max-width:600px){ .list-item{ flex-direction:column; } .list-item__img{ width:100%; height:180px; } }

/* Kiểu 4: CAROUSEL */
.layout-carousel{ position:relative; }
.carousel-track{ display:flex; gap:20px; overflow-x:auto; scroll-behavior:smooth; padding-bottom:8px; scrollbar-width:none; }
.carousel-track::-webkit-scrollbar{ display:none; }
.carousel-item{ flex:0 0 280px; background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.carousel-item__img{ aspect-ratio:4/3; overflow:hidden; }
.carousel-item__img img{ width:100%; height:100%; object-fit:cover; }
.carousel-item__body{ padding:14px; }
.carousel-item__body h3{ font-size:1rem; }
.carousel-nav{
	position:absolute; top:40%; width:40px; height:40px; border-radius:50%; border:1px solid var(--border);
	background:var(--white); box-shadow:var(--shadow); cursor:pointer; z-index:2; color:var(--green-800);
}
.carousel-nav--prev{ left:-18px; } .carousel-nav--next{ right:-18px; }

/* Kiểu 5: MASONRY */
.layout-masonry{ column-count:3; column-gap:20px; }
.masonry-item{ display:block; break-inside:avoid; margin-bottom:20px; position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.masonry-item img{ width:100%; }
.masonry-item__caption{
	position:absolute; left:0; right:0; bottom:0; padding:14px; color:var(--white); font-weight:600;
	background:linear-gradient(180deg, transparent, rgba(14,59,33,.85));
}
@media (max-width:880px){ .layout-masonry{ column-count:2; } }
@media (max-width:560px){ .layout-masonry{ column-count:1; } }

/* -------------------- ARCHIVE / SINGLE / PAGE -------------------- */
.page-layout{ display:grid; grid-template-columns:2.4fr 1fr; gap:44px; padding:44px 20px; }
@media (max-width:960px){ .page-layout{ grid-template-columns:1fr; } }
.archive-header{ margin-bottom:30px; }
.archive-title{ font-size:1.9rem; border-left:5px solid var(--green-800); padding-left:16px; }
.archive-desc{ color:var(--text-mute); }

.single-post__header{ margin-bottom:20px; }
.single-post__header h1{ font-size:clamp(1.6rem,3vw,2.3rem); }
.single-post__meta{ display:flex; flex-wrap:wrap; gap:16px; color:var(--text-mute); font-size:.88rem; margin-top:10px; }
.single-post__meta span{ display:inline-flex; align-items:center; gap:6px; }
.single-post__thumb{ border-radius:var(--radius); overflow:hidden; margin-bottom:24px; }
.single-post__content{ font-size:1.05rem; color:var(--text-dark); }
.single-post__content p{ margin:0 0 1.2em; }
.single-post__content h2, .single-post__content h3{ margin-top:1.4em; }
.single-post__content img{ border-radius:12px; }
/* Chặn tràn ngang cho mọi kiểu ảnh/khung chèn trong nội dung bài viết
   (kể cả caption cũ có sẵn style="width: XXXpx" trên thẻ bọc ngoài) */
.single-post__content img,
.single-post__content video,
.single-post__content iframe,
.single-post__content table,
.single-post__content .wp-caption,
.single-post__content .wp-block-image,
.single-post__content figure{
	max-width:100% !important;
	width:auto !important;
	height:auto;
	box-sizing:border-box;
}
.single-post__content iframe{ width:100% !important; }
.single-post__content table{ display:block; overflow-x:auto; }
.single-post__tags{ margin-top:24px; display:flex; gap:10px; flex-wrap:wrap; }
.single-post__tags a{ background:var(--green-100); color:var(--green-800); padding:5px 12px; border-radius:50px; font-size:.85rem; }
.post-nav{ display:flex; justify-content:space-between; margin:36px 0; border-top:1px solid var(--border); padding-top:20px; gap:16px; }
.post-nav a{ font-weight:600; color:var(--green-700); }

/* Sidebar */
.side-col .widget{ background:var(--green-50); border-radius:var(--radius); padding:20px; margin-bottom:24px; }
.widget-title{ font-size:1.05rem; border-left:4px solid var(--gold); padding-left:10px; margin-bottom:14px; }

/* Search form */
.search-form{ display:flex; gap:8px; }
.search-field{ flex:1; padding:10px 14px; border:1px solid var(--border); border-radius:8px; }
.search-submit{ background:var(--green-700); color:var(--white); border:0; padding:10px 18px; border-radius:8px; cursor:pointer; }

/* Comments */
.comments-area{ margin-top:40px; }
.comment-list li{ margin-bottom:18px; }
.comment-form input, .comment-form textarea{ width:100%; padding:10px; border:1px solid var(--border); border-radius:8px; margin-bottom:12px; font-family:inherit; }
.comment-form .form-submit input{ width:auto; background:var(--green-700); color:var(--white); border:0; padding:10px 22px; cursor:pointer; }

/* 404 */
.error-404{ text-align:center; padding:100px 20px; }
.error-404 h1{ font-size:5rem; color:var(--gold); }
.error-404 .search-form{ justify-content:center; max-width:420px; margin:24px auto; }

/* -------------------- FOOTER -------------------- */
.site-footer{ background:var(--green-900); color:var(--green-100); margin-top:40px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1.4fr; gap:36px; padding:60px 20px 30px; }
.footer-col .site-title{ color:var(--white); font-size:1.2rem; }
.footer-col p{ color:var(--green-100); opacity:.85; font-size:.92rem; }
.footer-about-desc{ margin-top:14px; text-align:justify;}
.footer-social{ display:flex; gap:10px; margin-top:18px; }
.footer-social a{
	display:flex; align-items:center; justify-content:center;
	width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08);
	color:var(--green-100); border:1px solid rgba(255,255,255,.15); transition:all .2s;
}
.footer-social a:hover{ background:var(--gold); color:var(--green-900); border-color:var(--gold); }
.footer-col .widget-title, .footer-col h4{ color:var(--white); border-left:3px solid var(--gold); padding-left:10px; }
.footer-contact-list li{ display:flex; align-items:flex-start; gap:8px; margin-bottom:10px; font-size:.9rem; opacity:.9; }
.footer-contact-list li svg{ flex:none; margin-top:3px; }
.footer-menu li{ margin-bottom:10px; }
.footer-menu a:hover, .footer-contact-list a:hover{ color:var(--gold-light); }
.mass-schedule li{ display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px dashed rgba(255,255,255,.15); font-size:.9rem; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.12); padding:16px 0; text-align:center; font-size:.85rem; opacity:.8; }
@media (max-width:880px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }
/* Biến thể: danh sách bên phải có thanh cuộn riêng (>5 bài) — dùng cho layout "featured_scroll" */
.featured-side--scroll{
	max-height:520px; overflow-y:auto; padding-right:8px;
	scrollbar-width:thin; scrollbar-color:var(--green-700) var(--green-50);
}
.featured-side--scroll::-webkit-scrollbar{ width:6px; }
.featured-side--scroll::-webkit-scrollbar-track{ background:var(--green-50); border-radius:10px; }
.featured-side--scroll::-webkit-scrollbar-thumb{ background:var(--green-700); border-radius:10px; }
.featured-side--scroll::-webkit-scrollbar-thumb:hover{ background:var(--green-800); }
@media (max-width:880px){ .featured-side--scroll{ max-height:420px; } }
blockquote{padding: 15px; background: #a3d4b852; border-left: 3px solid #145a32;}
/* -------------------- SECTION: 4 HOẠT ĐỘNG CHÍNH (pillars) -------------------- */
.pillars-section{ padding:20px 0; background:var(--white); }
.pillars-title{
	text-align:center; font-size:1.9rem; margin-bottom:36px; position:relative;
}
.pillars-title::after{
	content:''; display:block; width:60px; height:3px; background:var(--gold);
	margin:14px auto 0; border-radius:3px;
}
.pillars-wrap{ position:relative; max-width:1100px; margin:0 auto; }
.pillars-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media (max-width:900px){ .pillars-grid{ grid-template-columns:repeat(2,1fr); } }
.pillar-card{
	position:relative; display:block; border-radius:28px; overflow:hidden;
	aspect-ratio:16/9; background-size:cover; background-position:center;
	box-shadow:var(--shadow); background-color:var(--green-100);
}
.pillar-card__overlay{
	position:absolute; inset:0;
	background:linear-gradient(180deg, rgba(14,59,33,0) 40%, rgba(14,59,33,.88) 100%);
}
.pillar-card__body{
	position:absolute; left:0; right:0; bottom:0; padding:20px 22px;
	display:flex; flex-direction:column; gap:4px; color:var(--white);
}
.pillar-card__title{
	font-family:var(--font-heading); font-weight:700; font-size:1.15rem;
	text-transform:uppercase; letter-spacing:.02em;
}
.pillar-card__desc{ font-size:.85rem; color:var(--green-100); opacity:.9; line-height:1.5; }
.pillars-emblem{
	position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
	width:150px; height:150px; border-radius:50%; background:var(--white);
	box-shadow:0 6px 20px rgba(0,0,0,.18);
	display:flex; align-items:center; justify-content:center; padding:10px; z-index:4;
}
.pillars-emblem img{ width:100%; height:100%; object-fit:contain; border-radius:50%; }
@media (max-width:700px){
	.pillars-grid{ gap:14px; }
	.pillar-card__title{ font-size:.95rem; }
	.pillar-card__desc{ display:none; }
	.pillars-emblem{ width:70px; height:70px; display:none; }
}
/* Bo góc bất đối xứng cho 8 thẻ pillar (4 cột x 2 hàng desktop) */
.pillars-grid .pillar-card:nth-child(1){ border-radius:16px}
.pillars-grid .pillar-card:nth-child(2){ border-radius:16px }
.pillars-grid .pillar-card:nth-child(3){ border-radius:16px}
.pillars-grid .pillar-card:nth-child(4){ border-radius:16px }
.pillars-grid .pillar-card:nth-child(5){ border-radius:16px }
.pillars-grid .pillar-card:nth-child(6){ border-radius:16px }
.pillars-grid .pillar-card:nth-child(7){ border-radius:16px }
.pillars-grid .pillar-card:nth-child(8){ border-radius:16px }

/* Xuống 2 cột x 4 hàng: tính lại góc ngoài theo bố cục mới */
@media (max-width:900px){
	.pillars-grid .pillar-card:nth-child(1){ border-radius:16px }
	.pillars-grid .pillar-card:nth-child(2){ border-radius:16px }
	.pillars-grid .pillar-card:nth-child(3){ border-radius:16px }
	.pillars-grid .pillar-card:nth-child(4){ border-radius:16px }
	.pillars-grid .pillar-card:nth-child(5){ border-radius:16px }
	.pillars-grid .pillar-card:nth-child(6){ border-radius:16px }
	.pillars-grid .pillar-card:nth-child(7){ border-radius:16px }
	.pillars-grid .pillar-card:nth-child(8){ border-radius:16px }
}
@media (max-width:480px){
	.pillars-grid .pillar-card:nth-child(n){ border-radius:16px !important; }
}
/* Canh chữ: nửa trái của lưới canh trái, nửa phải canh phải (desktop 4 cột) */
.pillars-grid .pillar-card:nth-child(3) .pillar-card__body,
.pillars-grid .pillar-card:nth-child(4) .pillar-card__body,
.pillars-grid .pillar-card:nth-child(7) .pillar-card__body,
.pillars-grid .pillar-card:nth-child(8) .pillar-card__body{
	align-items:flex-end;
	text-align:right;
}

/* Xuống 2 cột (mobile): cột phải là các ô chẵn (2,4,6,8) */
@media (max-width:900px){
	.pillars-grid .pillar-card:nth-child(3) .pillar-card__body,
	.pillars-grid .pillar-card:nth-child(7) .pillar-card__body{
		align-items:flex-start;
		text-align:left;
	}
	.pillars-grid .pillar-card:nth-child(2) .pillar-card__body,
	.pillars-grid .pillar-card:nth-child(4) .pillar-card__body,
	.pillars-grid .pillar-card:nth-child(6) .pillar-card__body,
	.pillars-grid .pillar-card:nth-child(8) .pillar-card__body{
		align-items:flex-end;
		text-align:right;
	}
}
/* 4 thẻ gần vòng tròn (cột giữa: 2,3,6,7) không cần bo góc — chỉ 4 thẻ ngoài cùng mới bo lớn */
.pillars-grid .pillar-card:nth-child(2),
.pillars-grid .pillar-card:nth-child(3),
.pillars-grid .pillar-card:nth-child(6),
.pillars-grid .pillar-card:nth-child(7){
	border-radius:16px;
}

/* Xuống 2 cột (mobile): 4 thẻ ở giữa (2 hàng giữa: 3,4,5,6) là những thẻ gần vòng tròn nhất */
@media (max-width:900px){
	.pillars-grid .pillar-card:nth-child(3),
	.pillars-grid .pillar-card:nth-child(4),
	.pillars-grid .pillar-card:nth-child(5),
	.pillars-grid .pillar-card:nth-child(6){
		border-radius:16px;
	}
}
/* -------------------- SECTION: LỊCH THÁNG + DANH SÁCH BÀI VIẾT -------------------- */
.calendar-section{ padding:56px 0; background:var(--green-50); }
.calendar-section__title{ margin-bottom:32px; }
.calendar-grid{ display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start; }

.calendar-left{ display:flex; flex-direction:column; gap:14px; }
.calendar-select{
	padding:11px 14px; border-radius:8px; border:1px solid var(--border);
	font-weight:600; color:var(--green-800); background:var(--white); cursor:pointer;
	font-family:inherit; font-size:.95rem;
}
.calendar-image-wrap{
	display:block; width:100%; border:0; padding:0; background:none; cursor:zoom-in;
	border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
}
.calendar-image-wrap img{ width:100%; display:block; transition:transform .3s ease; }
.calendar-image-wrap:hover img{ transform:scale(1.03); }

.calendar-right__title{
	font-size:1.15rem; margin:0 0 16px; border-left:4px solid var(--gold); padding-left:10px;
}

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

/* Lightbox xem lịch cỡ lớn */
.calendar-lightbox{
	position:fixed; inset:0; background:rgba(14,59,33,.92); z-index:200;
	display:flex; align-items:center; justify-content:center; padding:30px;
	opacity:0; visibility:hidden; transition:opacity .25s ease;
}
.calendar-lightbox.is-open{ opacity:1; visibility:visible; }
.calendar-lightbox img{
	max-width:90vw; max-height:90vh; border-radius:8px; box-shadow:0 10px 40px rgba(0,0,0,.4);
}
.calendar-lightbox__close{
	position:absolute; top:20px; right:24px; width:44px; height:44px; border-radius:50%;
	background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.4); color:var(--white);
	font-size:1.6rem; line-height:1; cursor:pointer;
}
.calendar-lightbox__close:hover{ background:var(--gold); color:var(--green-900); }
//* -------------------- SECTION: VIDEO & HÌNH ẢNH (2 cột song song) -------------------- */
/* Toàn bộ class dưới đây dùng tiền tố "vp-" (Video-Photo), độc lập hoàn toàn,
   không chia sẻ với bất kỳ section/class nào khác trong theme. */
.vp-section{ padding:56px 0; }
.vp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; }

.vp-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:24px; flex-wrap:wrap; }
.vp-title{
	font-size:1.75rem; position:relative; padding-left:16px; border-left:5px solid var(--green-800);
	font-family:var(--font-heading); color:var(--green-900); margin:0;
}
.vp-more{
	display:inline-flex; align-items:center; gap:8px; padding:10px 20px; border-radius:50px;
	border:2px solid var(--green-700); color:var(--green-700); font-weight:600; font-size:.9rem;
	white-space:nowrap; transition:all .2s ease;
}
.vp-more:hover{ background:var(--green-700); color:var(--white); }

.vp-video-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.vp-video-item{ display:block; }
.vp-video-thumb{
	position:relative; aspect-ratio:4/3; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
}
.vp-video-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.vp-video-item:hover .vp-video-thumb img{ transform:scale(1.06); }
.vp-video-play{
	position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
	width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.9); color:var(--green-800);
	display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(0,0,0,.25);
	transition:transform .2s ease, background .2s ease;
}
.vp-video-item:hover .vp-video-play{ background:var(--gold); color:var(--green-900); transform:translate(-50%,-50%) scale(1.1); }
.vp-video-item-title{
	margin:10px 0 0; font-size:.95rem; font-weight:600; color:var(--text-dark); line-height:1.4;
}

.vp-photo-grid{ column-count:2; column-gap:18px; }
.vp-photo-item{
	display:block; break-inside:avoid; margin-bottom:18px; position:relative;
	border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
}
.vp-photo-item img{ width:100%; display:block; }
.vp-photo-caption{
	position:absolute; left:0; right:0; bottom:0; padding:12px 14px;
	color:var(--white); font-weight:600; font-size:.85rem; line-height:1.4;
	background:linear-gradient(180deg, transparent 55%, rgba(14,59,33,.92) 100%);
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

@media (max-width:880px){
	.vp-grid{ grid-template-columns:1fr; gap:40px; }
}
@media (max-width:480px){
	.vp-video-grid{ grid-template-columns:1fr; }
	.vp-photo-grid{ column-count:1; }
}
/* -------------------- SECTION: 2 BANNER NỔI BẬT -------------------- */
.hb-section{ padding:36px 0; }
.hb-section-title{
	font-size:1.75rem; margin:0 0 24px; padding-left:16px; border-left:5px solid #00a859;
	font-family:var(--font-heading); color:var(--green-900);
}
.hb-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.hb-card{
	position:relative; display:block; aspect-ratio:16/10; border-radius:20px; overflow:hidden;
	background-size:cover; background-position:center; box-shadow:0 10px 30px rgba(14,59,33,.18);
	transition:transform .3s ease, box-shadow .3s ease;
}
.hb-card:hover{ transform:translateY(-6px); box-shadow:0 16px 40px rgba(14,59,33,.28); }
.hb-overlay{
	position:absolute; inset:0;
	background:linear-gradient(180deg, rgba(14,59,33,0) 35%, rgba(14,59,33,.9) 100%);
}
.hb-title{
	position:absolute; left:0; right:0; bottom:0; padding:26px 28px;
	color:var(--white); font-family:var(--font-heading); font-weight:700;
	font-size:clamp(1.3rem, 2.2vw, 1.8rem); line-height:1.35;
	
}

@media (max-width:880px){
	.hb-grid{ grid-template-columns:1fr; gap:20px; }
}
@media (max-width:480px){
	.hb-title{ padding:20px 20px; font-size:1.15rem; }
}
@media (max-width:880px){
	.top-bar__inner{ justify-content:center; padding:8px 0; }
.top-bar__contact{ display:none; } /* ẩn phần địa chỉ chữ, chỉ giữ icon */
	.menu-toggle{ display:flex; }

	.main-navigation .container{ display:block; padding:0; }
	#primary-menu, .primary-menu{ display:none; flex-direction:column; gap:0; }
	#primary-menu.is-open, .primary-menu.is-open{
		display:flex;
		max-height:calc(100vh - 120px);
		overflow-y:auto;
		-webkit-overflow-scrolling:touch;
	}

	#primary-menu > li, .primary-menu > li{ position:relative; border-top:1px solid rgba(255,255,255,.12); }
	#primary-menu > li:first-child{ border-top:0; }
	#primary-menu > li > a, .primary-menu > li > a{ padding:14px 46px 14px 20px; }

	.submenu-toggle{
		position:absolute; top:4px; right:6px; width:40px; height:40px;
		background:none; border:0; color:var(--white); display:flex;
		align-items:center; justify-content:center; cursor:pointer;
	}
	.submenu-toggle svg{ transition:transform .2s ease; }
	li.submenu-open > .submenu-toggle svg{ transform:rotate(180deg); }

	#primary-menu .sub-menu{
		display:none; position:static; opacity:1; visibility:visible; transform:none;
		background:rgba(0,0,0,.15); box-shadow:none; border-radius:0; padding:4px 0;
	}
	#primary-menu li.submenu-open > .sub-menu{ display:block; }

	#primary-menu .sub-menu a{ color:rgba(255,255,255,.85); padding:10px 20px 10px 34px; font-size:.88rem; }
	#primary-menu .sub-menu a:hover{ background:rgba(0,0,0,.12); color:var(--gold-light); }
	#primary-menu .sub-menu .sub-menu a{ padding-left:50px; }
}
.top-bar__social{ display:flex; gap:8px; }
.top-bar__social a{
	display:flex; align-items:center; justify-content:center;
	width:28px; height:28px; border-radius:50%;
	background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25);
	color:var(--green-100); transition:all .2s ease;
}
.top-bar__social a:hover{ background:var(--gold); color:var(--green-900); border-color:var(--gold); }