/* ==========================================================================
   Quỹ Những Tấm Lòng Nhân Ái - main.css
   ========================================================================== */

/* ---------- FONT: Montserrat self-host (Vietnamese + Latin) ---------- */
/* vietnamese */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-vietnamese-400.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/montserrat-vietnamese-500.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-vietnamese-600.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-vietnamese-700.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/montserrat-vietnamese-800.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;}
/* latin */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-latin-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/montserrat-latin-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-latin-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-latin-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/montserrat-latin-800.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- Variables ---------- */
:root{
	--tlna-orange:#f58820;
	--tlna-orange-light:#fbb043;
	--tlna-yellow:#ffe14d;
	--tlna-teal:#05757b;
	--tlna-cyan:#1ebdc3;
	--tlna-cream:#fdf6ec;
	--tlna-text:#333333;
	--tlna-muted:#6b7280;
	--tlna-white:#ffffff;
	--tlna-container:1180px;
	--tlna-radius:8px;
	--tlna-shadow:0 8px 30px rgba(0,0,0,.08);
	--tlna-font:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;}
/* Chặn cuộn/kéo lệch theo chiều ngang (an toàn cho cả iOS Safari) */
body{margin:0;font-family:var(--tlna-font);font-size:16px;line-height:1.6;color:var(--tlna-text);background:var(--tlna-white);overflow-x:hidden;max-width:100%;position:relative;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--tlna-teal);text-decoration:none;transition:color .2s;}
a:hover{color:var(--tlna-orange);}
h1,h2,h3,h4{font-weight:700;line-height:1.25;margin:0 0 .5em;}
p{margin:0 0 1em;}
ul{margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}

.tlna-container{width:100%;max-width:var(--tlna-container);margin:0 auto;padding:0 20px;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
/* Ẩn skip-link bằng cách đẩy LÊN TRÊN (không dùng left:-9999px vì gây tràn ngang/kéo lệch trang trên iOS Safari) */
.tlna-skip-link{position:absolute;left:10px;top:0;transform:translateY(-200%);background:#fff;padding:10px 16px;z-index:1000;transition:transform .2s;}
.tlna-skip-link:focus{transform:translateY(0);top:10px;}

/* ---------- Buttons ---------- */
.tlna-btn{display:inline-block;padding:10px 22px;border-radius:6px;font-weight:600;border:none;transition:all .2s;text-align:center;}
.tlna-btn--primary{background:var(--tlna-cyan);color:#fff;}
.tlna-btn--primary:hover{background:var(--tlna-teal);color:#fff;}
.tlna-btn--submit{background:var(--tlna-orange);color:#fff;padding:12px 30px;}
.tlna-btn--submit:hover{background:var(--tlna-orange-light);}
.tlna-btn--submit:disabled{opacity:.6;cursor:not-allowed;}

/* ==========================================================================
   HEADER
   ========================================================================== */
.tlna-header{position:relative;z-index:100;}

/* Top header (logo) */
.tlna-topbar{background:#fff;padding:16px 0;}
.tlna-topbar__inner{display:flex;align-items:center;justify-content:center;}
.tlna-logo a{display:inline-flex;align-items:center;justify-content:center;}
.tlna-logo img{max-height:80px;width:auto;}
.tlna-logo-text{font-size:24px;font-weight:800;color:var(--tlna-orange);}

/* Main nav */
.tlna-mainnav{background:linear-gradient(180deg,var(--tlna-orange-light),var(--tlna-orange));box-shadow:0 2px 8px rgba(0,0,0,.12);}
.tlna-mainnav__inner{display:flex;align-items:center;justify-content:center;position:relative;min-height:52px;}
.tlna-menu{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;}
.tlna-menu li{position:relative;}
.tlna-menu a{display:block;color:#fff;font-weight:700;font-size:15px;letter-spacing:.3px;padding:15px 20px;text-transform:uppercase;border-radius:4px;}
.tlna-menu a:hover{background:transparent;color:var(--tlna-yellow);}
/* Active = chữ vàng, không nền */
.tlna-menu .current-menu-item > a,
.tlna-menu .current-menu-ancestor > a,
.tlna-menu .current-page-ancestor > a{background:transparent;color:var(--tlna-yellow);}
/* Submenu */
.tlna-menu .sub-menu{position:absolute;left:0;top:100%;min-width:220px;background:#fff;box-shadow:var(--tlna-shadow);border-radius:0 0 6px 6px;padding:6px 0;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s;z-index:50;}
.tlna-menu li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.tlna-menu .sub-menu a{color:var(--tlna-text);text-transform:none;font-weight:600;padding:10px 18px;border-radius:0;}
.tlna-menu .sub-menu a:hover{background:var(--tlna-cream);color:var(--tlna-orange);}

/* Hamburger (chỉ hiện trên mobile, nằm trong top header) */
.tlna-hamburger{display:none;background:transparent;border:none;padding:6px;line-height:0;}
.tlna-hamburger__box{display:block;width:28px;height:20px;position:relative;}
.tlna-hamburger__lines,.tlna-hamburger__lines::before,.tlna-hamburger__lines::after{content:'';position:absolute;left:0;width:28px;height:3px;background:var(--tlna-orange);border-radius:2px;transition:.25s;}
.tlna-hamburger__lines{top:50%;transform:translateY(-50%);}
.tlna-hamburger__lines::before{top:-8px;}
.tlna-hamburger__lines::after{top:8px;}
.tlna-menu-open .tlna-hamburger__lines{background:transparent;}
.tlna-menu-open .tlna-hamburger__lines::before{top:0;transform:rotate(45deg);}
.tlna-menu-open .tlna-hamburger__lines::after{top:0;transform:rotate(-45deg);}

/* Sticky */
.tlna-is-sticky .tlna-mainnav{position:fixed;top:0;left:0;right:0;z-index:999;animation:tlna-slidedown .3s ease;}
.tlna-is-sticky .tlna-site-content{padding-top:52px;}
@keyframes tlna-slidedown{from{transform:translateY(-100%);}to{transform:translateY(0);}}
/* Không để admin bar (khi đăng nhập) đè lên sticky header */
.admin-bar.tlna-is-sticky .tlna-mainnav{top:32px;}
@media screen and (max-width:782px){.admin-bar.tlna-is-sticky .tlna-mainnav{top:46px;}}

/* ==========================================================================
   HOME - HERO
   ========================================================================== */
.tlna-hero{position:relative;overflow:hidden;background:#0a0a0a;}
.tlna-hero__track{position:relative;}
.tlna-hero__slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;}
.tlna-hero__slide.is-active{position:relative;opacity:1;}
.tlna-hero__slide img{width:100%;height:auto;max-height:640px;object-fit:cover;}
.tlna-hero__arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.35);color:#fff;border:none;width:46px;height:46px;border-radius:50%;font-size:20px;line-height:1;z-index:5;}
.tlna-hero__arrow:hover{background:var(--tlna-orange);}
.tlna-hero__arrow--prev{left:18px;}
.tlna-hero__arrow--next{right:18px;}
.tlna-hero__dots{position:absolute;left:0;right:0;bottom:18px;display:flex;justify-content:center;gap:10px;z-index:5;}
.tlna-hero__dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;}
.tlna-hero__dot.is-active{background:#fff;}

/* ==========================================================================
   HOME - INTRO
   ========================================================================== */
.tlna-intro{background:var(--tlna-cream);padding:56px 0;}
.tlna-intro__inner{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center;}
.tlna-intro__media img{width:300px;height:300px;object-fit:cover;border-radius:6px;box-shadow:var(--tlna-shadow);}
.tlna-intro__title{color:var(--tlna-teal);font-size:26px;font-weight:800;}
.tlna-intro__text{color:#4b4b4b;font-size:15.5px;text-align:justify;}
.tlna-intro__more{margin-top:8px;}

/* ==========================================================================
   HOME - PROGRAMS SLIDER
   ========================================================================== */
.tlna-programs{background:var(--tlna-cream);padding:10px 0 0;}
.tlna-programs__heading{text-align:center;color:var(--tlna-teal);font-size:30px;font-weight:800;letter-spacing:1px;margin:20px 0 30px;}
.tlna-programs__bg{
	background:linear-gradient(315deg,var(--tlna-teal),var(--tlna-cyan));
	padding:80px 0;position:relative;overflow:hidden;--tlna-deco-op:.18;
}
/* Lớp hoạ tiết khung hình thoi ở NỬA PHẢI (dùng chính ảnh khung, phóng to, mờ) */
.tlna-programs__deco{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;}
.tlna-programs__deco span{position:absolute;display:block;background:var(--tlna-frame) center/contain no-repeat;opacity:var(--tlna-deco-op);}
.tlna-programs__deco .d1{width:820px;height:820px;top:-250px;right:-240px;}
.tlna-programs__deco .d2{width:560px;height:560px;bottom:-210px;right:-120px;}
.tlna-programs__deco .d3{width:440px;height:440px;top:40%;right:22%;opacity:calc(var(--tlna-deco-op)*.6);}
.tlna-programs__slider{display:grid;grid-template-columns:minmax(320px,44%) 1fr;gap:40px;align-items:stretch;position:relative;z-index:2;}
/* min-width:0 -> chống "grid blowout" do .tlna-programs__excerpt dùng -webkit-box (WebKit/iOS báo min-content = cả đoạn -> tràn phải). */
.tlna-programs__visual,.tlna-programs__content{min-width:0;}

/* Bánh xe xoay (wheel) */
.tlna-programs__visual{position:relative;}
.tlna-wheel{position:relative;height:460px;--tlna-base:300px;}
.tlna-wheel__item{
	position:absolute;left:0;top:0;width:var(--tlna-base);height:var(--tlna-base);
	transform-origin:center center;
	text-decoration:none;cursor:pointer;
	filter:drop-shadow(0 14px 22px rgba(0,0,0,.28));
	/* transform/opacity đặt inline (SSR) & điều khiển bằng JS (WAAPI) */
}
.tlna-wheel__img{position:absolute;inset:0;background-size:cover;background-position:center;
	clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);}
/* Khung line bao ngoài (ảnh khung) - vòng trong cùng khớp mép ảnh (1/0.608 = 164.5%) */
.tlna-wheel__frame{position:absolute;left:50%;top:50%;width:164.5%;height:164.5%;transform:translate(-50%,-50%);
	background:var(--tlna-frame) center/contain no-repeat;pointer-events:none;}

/* Cột nội dung */
.tlna-programs__content{color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;padding-bottom:66px;}
.tlna-programs__title{color:#fff;font-size:26px;font-weight:800;text-transform:uppercase;margin-bottom:14px;}
.tlna-programs__title-link{color:#fff;text-decoration:none;transition:color .2s;}
.tlna-programs__title-link:hover,.tlna-programs__title-link:focus{color:var(--tlna-yellow,#ffe14d);}
.tlna-programs__excerpt{color:rgba(255,255,255,.9);font-size:16px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.tlna-programs__more{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;letter-spacing:1px;margin-top:6px;}
.tlna-programs__more:hover{color:#fff;transform:translateX(4px);}
.tlna-programs__dots{display:flex;gap:8px;margin-top:26px;flex-wrap:wrap;}
.tlna-programs__dot{width:10px;height:10px;border-radius:50%;border:none;background:rgba(255,255,255,.45);padding:0;cursor:pointer;}
.tlna-programs__dot.is-active{background:#fff;width:26px;border-radius:6px;}
/* Nút "Xem tất cả" -> tới category Chương trình từ thiện. Nút vuông, viền trắng 1px. */
/* Desktop: đẩy nút "Xem tất cả" xuống đáy cột nội dung (ngang đáy hình thoi nhỏ phía dưới) */
.tlna-programs__all{position:absolute;left:0;bottom:0;display:inline-block;padding:12px 30px;border:1px solid #fff;border-radius:0;background:transparent;color:#fff;font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:14px;text-decoration:none;transition:background .2s,color .2s;}
.tlna-programs__all:hover,.tlna-programs__all:focus{background:#fff;color:var(--tlna-teal);}
/* An toàn: chữ dài luôn xuống dòng, không tràn ngang */
.tlna-programs__title,.tlna-programs__title-link,.tlna-programs__excerpt{overflow-wrap:break-word;word-wrap:break-word;max-width:100%;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
/* Footer trong suốt -> lộ khoảng trắng 5px của trang giữa divider và phần nền teal.
   Khoảng cách 80px tới footer nằm ở padding-bottom của .tlna-main / .tlna-home. */
.tlna-footer{background:transparent;color:#fff;padding-top:0;}
.tlna-footer a{color:#fff;}
.tlna-footer a:hover{color:var(--tlna-yellow);}
/* Đường divider gradient vàng-cam 100vw ở đỉnh footer + cách phần nền teal 5px (khoảng trắng) */
.tlna-footer__topline{height:3px;width:100%;background:linear-gradient(90deg,var(--tlna-orange-light),var(--tlna-orange));margin-bottom:5px;}
/* Nền teal đặt ở lớp trong (không phủ khoảng trắng phía trên) */
.tlna-footer__inner{background:linear-gradient(135deg,var(--tlna-teal),var(--tlna-cyan));}
.tlna-footer__grid{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:40px;padding:50px 20px 40px;}
.tlna-footer__title{font-size:20px;font-weight:800;text-transform:uppercase;margin-bottom:22px;color:#fff;position:relative;padding-bottom:14px;}
/* Divider ngắn dưới mỗi tiêu đề */
.tlna-footer__title::after{content:'';position:absolute;left:0;bottom:0;width:52px;height:1px;border-radius:2px;background:linear-gradient(90deg,var(--tlna-orange-light),var(--tlna-orange));}
.tlna-contact-info{list-style:none;}
.tlna-contact-info li{margin-bottom:12px;font-size:15px;}
.tlna-contact-info .tlna-label{font-weight:600;}

/* Form */
.tlna-form__row{margin-bottom:12px;}
.tlna-form input,.tlna-form textarea{width:100%;border:none;border-radius:22px;padding:12px 20px;font-family:inherit;font-size:15px;background:rgba(255,255,255,.22);color:#fff;}
.tlna-form textarea{border-radius:16px;resize:vertical;}
.tlna-form input::placeholder,.tlna-form textarea::placeholder{color:rgba(255,255,255,.85);}
.tlna-form input:focus,.tlna-form textarea:focus{outline:2px solid #fff;background:rgba(255,255,255,.3);}
.tlna-form .is-invalid{outline:2px solid #ffd6d6;background:rgba(255,80,80,.25);}
/* Honeypot: ẩn an toàn bằng clip (không left:-9999px để tránh tràn ngang trên iOS) */
.tlna-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;left:0;top:0;opacity:0;pointer-events:none;}
.tlna-form__feedback{margin-top:8px;font-size:14px;font-weight:600;border-radius:8px;}
.tlna-form__feedback.is-success{background:#e6f9ea;color:#137a34;padding:10px 14px;}
.tlna-form__feedback.is-error{background:#fde8e8;color:#b32d2e;padding:10px 14px;}
.tlna-form__feedback.is-loading{color:#fff;}
.tlna-recaptcha{transform-origin:0 0;}

/* Social + FB box */
.tlna-social-icons{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;position:relative;padding-bottom:16px;}
/* Divider ngắn dưới hàng icon, đồng bộ với divider tiêu đề 2 cột bên cạnh */
.tlna-social-icons::after{content:'';position:absolute;left:0;bottom:0;width:52px;height:1px;border-radius:2px;background:linear-gradient(90deg,var(--tlna-orange-light),var(--tlna-orange));}
.tlna-social{display:inline-block;width:32px;height:32px;border-radius:50%;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.tlna-social img{width:32px;height:32px;object-fit:cover;display:block;border-radius:50%;}
.tlna-social:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.25);}
.tlna-fb-box{background:#fff;border-radius:8px;padding:6px;min-height:60px;overflow:hidden;}
.tlna-fb-placeholder{padding:14px;text-align:center;}
.tlna-fb-placeholder a{color:var(--tlna-teal);font-weight:600;}
.tlna-footer__bottom{background:rgba(0,0,0,.12);padding:16px 0;font-size:14px;text-align:center;}

/* ==========================================================================
   ARCHIVE / CARDS / SINGLE / PAGE
   ========================================================================== */
/* Mọi trang (trừ trang chủ) dùng nền gradient kem; 80px padding-bottom nằm TRONG
   nền gradient nên gradient chạy liền tới vạch cam 3px của footer (không còn khoảng trắng). */
.tlna-main{padding:44px 0 80px;background:linear-gradient(180deg,#ffffff,#fdeede);}
/* Trang chủ (front-page / template Trang chủ) vẫn giữ khoảng trắng 80px tới footer */
.tlna-home{padding-bottom:80px;}
.tlna-archive__header{margin-bottom:36px;text-align:center;}
.tlna-archive__title{color:var(--tlna-teal);font-size:32px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;}
.tlna-archive__desc{color:#5a5a5a;max-width:760px;margin:10px auto 0;}
.tlna-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
/* Card theo mockup: nền kem, viền cam nhạt, bo góc */
.tlna-card{background:#fffdf9;border:1px solid rgba(245,136,32,.35);border-radius:12px;padding:14px;box-shadow:0 6px 18px rgba(0,0,0,.05);display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s;}
.tlna-card:hover{box-shadow:0 12px 26px rgba(0,0,0,.12);transform:translateY(-3px);}
.tlna-card__thumb{display:block;border-radius:8px;overflow:hidden;}
.tlna-card__thumb img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .4s ease;}
.tlna-card:hover .tlna-card__thumb img{transform:scale(1.05);}
.tlna-card__body{padding:16px 6px 4px;display:flex;flex-direction:column;flex:1;}
.tlna-card__title{font-size:16px;font-weight:800;line-height:1.4;text-transform:uppercase;margin:0 0 14px;}
.tlna-card__title a{color:#103b46;}
.tlna-card__title a:hover{color:var(--tlna-orange);}
.tlna-card__more{color:var(--tlna-orange);font-style:italic;font-weight:600;font-size:14px;align-self:flex-end;margin-top:auto;}
.tlna-card__more:hover{color:var(--tlna-orange-light);}

.tlna-page__inner{max-width:820px;}
.tlna-page__title{color:var(--tlna-teal);font-size:30px;font-weight:800;}
.tlna-page__feat{margin:0 0 24px;border-radius:var(--tlna-radius);overflow:hidden;}
.tlna-page__content{font-size:16.5px;line-height:1.8;}
.tlna-page__content img{border-radius:6px;margin:12px 0;}
.tlna-page__form{margin-top:40px;background:var(--tlna-teal);padding:30px;border-radius:var(--tlna-radius);}
.tlna-page__form .tlna-form input,.tlna-page__form .tlna-form textarea{background:rgba(255,255,255,.15);}

/* ---- Single post ---- */
.tlna-single__header{text-align:center;max-width:900px;margin:0 auto 34px;}
.tlna-single__cat{display:inline-block;color:var(--tlna-teal);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;}
.tlna-single__cat:hover{color:var(--tlna-orange);}
.tlna-single__title{color:var(--tlna-teal);font-size:30px;font-weight:800;text-transform:uppercase;line-height:1.3;margin:0;}
.tlna-single__layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:start;}
.tlna-single__body{font-size:16px;line-height:1.85;color:#333;text-align:justify;}
.tlna-single__body p{margin:0 0 1.1em;text-align:justify;}
.tlna-single__body img{border-radius:8px;}
.tlna-single__body figure{margin:18px 0;}
.tlna-single__body figcaption,.tlna-single__body .wp-caption-text{font-style:italic;color:var(--tlna-muted);font-size:13.5px;text-align:right;margin-top:6px;}
.tlna-single__body blockquote{margin:20px 0;padding:6px 0 6px 18px;border-left:4px solid var(--tlna-cyan);font-style:italic;color:#444;}
.tlna-single__body h2,.tlna-single__body h3{color:var(--tlna-teal);}

/* Sidebar "Có thể bạn quan tâm" */
.tlna-sidebar__title{color:var(--tlna-teal);font-size:18px;font-weight:800;text-transform:uppercase;margin:0 0 18px;padding-bottom:12px;position:relative;}
.tlna-sidebar__title::after{content:'';position:absolute;left:0;bottom:0;width:52px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--tlna-orange-light),var(--tlna-orange));}
.tlna-related-list{display:flex;flex-direction:column;gap:16px;}
.tlna-related-item{display:flex;gap:12px;border:1px solid rgba(245,136,32,.30);border-radius:10px;padding:10px;background:#fffdf9;transition:box-shadow .2s,transform .2s;}
.tlna-related-item:hover{box-shadow:0 8px 18px rgba(0,0,0,.10);transform:translateY(-2px);}
.tlna-related-item__thumb{flex:0 0 96px;}
.tlna-related-item__thumb img{width:96px;height:74px;object-fit:cover;border-radius:6px;display:block;}
.tlna-related-item__body{display:flex;flex-direction:column;min-width:0;}
.tlna-related-item__title{color:#103b46;font-weight:700;font-size:13px;line-height:1.35;text-transform:uppercase;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tlna-related-item__more{color:var(--tlna-orange);font-style:italic;font-size:12.5px;font-weight:600;margin-top:auto;padding-top:6px;text-align:right;}

/* Pagination - vòng tròn viền cam theo mockup */
.tlna-pagination{margin-top:44px;}
.tlna-pagination .nav-links{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;}
.tlna-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--tlna-orange);background:transparent;color:var(--tlna-orange);font-weight:700;font-size:16px;box-shadow:none;transition:all .2s;}
.tlna-pagination a.page-numbers:hover{background:var(--tlna-orange);color:#fff;}
.tlna-pagination .page-numbers.current{background:var(--tlna-orange);color:#fff;border-color:var(--tlna-orange);}
.tlna-pagination .page-numbers.dots{border:none;width:auto;min-width:0;color:var(--tlna-orange);letter-spacing:2px;}
.tlna-pagination .page-numbers.next,.tlna-pagination .page-numbers.prev{border:none;color:var(--tlna-orange);font-size:22px;background:transparent;}
.tlna-pagination .page-numbers.next:hover,.tlna-pagination .page-numbers.prev:hover{background:transparent;color:var(--tlna-orange-light);}

.tlna-404__code{font-size:90px;color:var(--tlna-orange);margin:0;line-height:1;}

/* Search form */
.search-form{display:flex;gap:8px;}
.search-form .search-field{flex:1;border:1px solid #ddd;border-radius:6px;padding:10px 14px;}
.search-form .search-submit{background:var(--tlna-orange);color:#fff;border:none;border-radius:6px;padding:0 18px;}

/* ==========================================================================
   PAGE TEMPLATES: Giới thiệu (about) & Liên hệ (contact)
   ========================================================================== */
/* --- About --- */
.tlna-about__header{text-align:center;margin-bottom:30px;}
.tlna-about__title{color:var(--tlna-teal);font-size:30px;font-weight:800;text-transform:uppercase;margin:0;}
/* Ép article rộng 100% container để Gutenberg tự dàn layout */
.tlna-tpl-about .tlna-about__content{width:100%;max-width:100%;margin:0;}
/* Media-Text block (Gutenberg) trên trang Giới thiệu:
   - ảnh cột trái căn TRÊN (mặc định WP là giữa)
   - content bỏ padding ngang 0 8% -> 0 */
.tlna-tpl-about .wp-block-media-text__media{align-self:start;}
.tlna-tpl-about .wp-block-media-text__content{align-self:start;padding:0;}

/* --- Contact --- */
.tlna-contact__header{text-align:center;margin-bottom:16px;}
.tlna-contact__title{color:var(--tlna-teal);font-size:32px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin:0;}
.tlna-contact__intro{max-width:760px;margin:0 auto 34px;color:#555;text-align:center;}
/* 2 cột 50/50: trái = thông tin + map, phải = form */
.tlna-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-bottom:20px;}
.tlna-contact__subtitle{color:var(--tlna-teal);font-size:20px;font-weight:800;text-transform:uppercase;margin:0 0 20px;position:relative;padding-bottom:12px;}
.tlna-contact__subtitle::after{content:'';position:absolute;left:0;bottom:0;width:52px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--tlna-orange-light),var(--tlna-orange));}
.tlna-contact-list{list-style:none;margin-bottom:24px;}
.tlna-contact-list li{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px;font-size:15.5px;color:#333;}
.tlna-contact-list__ico{flex:0 0 auto;}
.tlna-contact-list a{color:var(--tlna-text);}
.tlna-contact-list a:hover{color:var(--tlna-orange);}
.tlna-contact__map iframe{display:block;width:100%;height:320px;border:0;border-radius:12px;box-shadow:var(--tlna-shadow);}
/* Cột form: card teal */
.tlna-contact__formcard{background:var(--tlna-teal);border-radius:12px;padding:30px;}
.tlna-contact__formcard .tlna-contact__subtitle{color:#fff;}
.tlna-contact__formcard .tlna-form input,
.tlna-contact__formcard .tlna-form textarea{background:rgba(255,255,255,.15);}

/* ==========================================================================
   RESPONSIVE (baseline - sẽ tinh chỉnh sau)
   ========================================================================== */
@media(max-width:1024px){
	.tlna-programs__slider{grid-template-columns:1fr;gap:20px;}
	.tlna-wheel{height:400px;}
	.tlna-post-grid{grid-template-columns:repeat(2,1fr);}
	.tlna-single__layout{grid-template-columns:minmax(0,1fr) 300px;gap:30px;}
}
@media(max-width:900px){
	/* Top header: logo trái + hamburger phải, căn giữa theo chiều dọc; thu nhỏ logo */
	.tlna-topbar{padding:12px 0;}
	.tlna-topbar__inner{justify-content:space-between;}
	.tlna-logo img{max-height:52px;}
	.tlna-logo-text{font-size:19px;}
	.tlna-hamburger{display:inline-flex;align-items:center;}

	/* Bỏ thanh cam main header; menu xổ xuống từ hamburger */
	.tlna-mainnav{background:transparent;box-shadow:none;position:relative;}
	.tlna-mainnav__inner{display:block;min-height:0;padding:0;position:static;}
	.tlna-menu{position:absolute;top:0;left:0;right:0;flex-direction:column;background:var(--tlna-orange);gap:0;max-height:0;overflow:hidden;transition:max-height .3s ease;z-index:60;box-shadow:0 10px 20px rgba(0,0,0,.2);}
	.tlna-menu-open .tlna-menu{max-height:80vh;overflow:auto;}
	.tlna-menu a{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.15);border-radius:0;color:#fff;}
	.tlna-menu .current-menu-item > a,.tlna-menu a:hover{background:rgba(255,255,255,.15);color:var(--tlna-yellow);}
	.tlna-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(0,0,0,.08);display:none;}
	.tlna-menu li.is-open > .sub-menu{display:block;}
	/* Ghim cả header (logo + hamburger) khi cuộn xuống trên mobile */
	.tlna-is-sticky .tlna-mainnav{position:relative;}
	.tlna-is-sticky .tlna-header{position:fixed;top:0;left:0;right:0;z-index:999;box-shadow:0 3px 12px rgba(0,0,0,.12);}
	.tlna-is-sticky .tlna-site-content{padding-top:80px;}
	.admin-bar.tlna-is-sticky .tlna-header{top:46px;}

	/* Intro */
	.tlna-intro__inner{grid-template-columns:1fr;text-align:center;gap:24px;}
	.tlna-intro__media img{width:240px;height:240px;margin:0 auto;}
	.tlna-intro__text{text-align:left;}

	/* Programs: bánh xe thu nhỏ, nội dung căn giữa */
	.tlna-wheel{height:360px;--tlna-base:240px;}
	.tlna-programs__content{text-align:center;display:block;position:static;padding-bottom:0;}
	.tlna-programs__dots{justify-content:center;}
	.tlna-programs__more{margin-left:auto;margin-right:auto;}
	/* Mobile: nút "Xem tất cả" trở lại luồng thường, căn giữa */
	.tlna-programs__all{position:static;margin-top:24px;}

	/* Footer */
	.tlna-footer__grid{grid-template-columns:1fr;gap:30px;}

	/* Contact page -> 1 cột */
	.tlna-contact__grid{grid-template-columns:1fr;gap:22px;}
	.tlna-about__title{font-size:26px;}

	/* Single -> xếp dọc, sidebar xuống dưới */
	.tlna-single__layout{grid-template-columns:1fr;gap:36px;}
	.tlna-single__title{font-size:24px;}
}
@media(max-width:600px){
	.tlna-post-grid{grid-template-columns:1fr;}
	.tlna-hero__slide img{max-height:340px;}
	.tlna-programs__heading{font-size:22px;}
	.tlna-intro,.tlna-programs__bg{padding:36px 0;}

	/* Chương trình từ thiện -> carousel phổ thông: 1 chương trình / slide (ảnh + text) */
	.tlna-programs__slider{gap:16px;}
	.tlna-wheel{height:230px;touch-action:pan-y;}
	.tlna-wheel__item{position:absolute!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:100%!important;transform:none!important;opacity:0!important;filter:none;transition:opacity .4s ease;pointer-events:none;touch-action:pan-y;}
	.tlna-wheel__item.is-front{opacity:1!important;pointer-events:auto;}
	.tlna-wheel__img{position:absolute;inset:0;width:100%;height:100%;clip-path:none;border-radius:10px;}
	.tlna-wheel__frame{display:none!important;}
}
