@charset "UTF-8";
/* Trang chủ: các khối theo thứ tự xuất hiện. */

.tv-sec{padding:var(--tv-section-y) 0}
.tv-sec--surface{background:var(--tv-surface);border-top:1px solid var(--tv-divider);border-bottom:1px solid var(--tv-divider)}
.tv-sec__more{display:flex;justify-content:center;margin-top:32px}


/* Nhãn "Sắp ra mắt" trên nền tím cần viền để tách khỏi nền. */
.tv-daily .tv-soon,.tv-consult .tv-soon{border:1px solid rgba(233,187,105,.45)}

/* ───── 1. Mở đầu ───── */
.tv-hero{position:relative;overflow:hidden;background-color:var(--tv-plum-900);background-image:url('../img/hero.webp');background-repeat:no-repeat;background-size:cover;background-position:70% center}
.tv-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,20,48,.9) 0%,rgba(35,20,48,.66) 36%,rgba(35,20,48,.08) 68%),linear-gradient(0deg,rgba(43,24,56,.6),transparent 40%)}
@media (max-width:719.98px){
  /* Trên màn hẹp chữ nằm đè lên phần sáng của ảnh nên phủ thêm một lớp tối. */
  .tv-hero__shade::after{content:"";position:absolute;inset:0;background:rgba(35,20,48,.55)}
}
@media (min-width:720px) and (max-width:1023.98px){
  /* Ở bề rộng này dòng mô tả chạm vào vòng hoàng đạo sáng của ảnh. */
  .tv-hero__shade::after{content:"";position:absolute;inset:0;background:rgba(35,20,48,.28)}
}
.tv-hero__inner{position:relative;max-width:var(--tv-container);margin:0 auto;padding:clamp(56px,8vw,112px) var(--tv-gutter) clamp(104px,11vw,156px)}
.tv-hero__copy{max-width:580px;display:flex;flex-direction:column;gap:20px}
.tv-hero__eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#f3d79c}
.tv-hero__rule{width:48px;height:1px;background:var(--tv-gold-300)}
.tv-hero__title{font-family:var(--tv-font-heading);font-weight:700;font-size:var(--tv-fs-hero);line-height:1.12;color:var(--tv-gold-100);text-shadow:0 2px 24px rgba(20,10,30,.45);padding-top:.06em}
.tv-hero__lead{color:var(--tv-cream);font-size:clamp(16px,1.45vw,19px);line-height:1.6;max-width:500px;text-wrap:pretty}
.tv-hero__actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:8px}
.tv-hero__actions .tv-btn--gold{box-shadow:var(--tv-shadow-gold)}

/* ───── Thẻ nổi: xem nhanh + lập lá số ───── */
.tv-lookup{position:relative;z-index:2;max-width:var(--tv-container);margin:-72px auto 0;padding:0 var(--tv-gutter)}
.tv-lookup__card{background:var(--tv-surface);border:1px solid var(--tv-border);border-radius:20px;box-shadow:0 22px 44px -22px rgba(50,29,64,.42);padding:clamp(14px,2vw,22px);display:flex;flex-direction:column;gap:clamp(14px,1.8vw,20px)}
.tv-quick{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.tv-quick__head{flex:1 1 170px;max-width:220px;display:flex;flex-direction:column;gap:4px}
.tv-quick__title{font-family:var(--tv-font-heading);font-weight:700;font-size:clamp(22px,2.2vw,26px);line-height:1.25;color:var(--tv-heading)}
.tv-quick__sub{font-size:13px;color:var(--tv-text-3);line-height:1.45}
.tv-quick__grid{flex:999 1 min(100%,520px);min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (min-width:960px){.tv-quick__grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
.tv-quick__grid>li{display:flex}
.tv-quick__tile{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:96px;padding:14px 8px;border-radius:12px;background:#fcf2e6;border:1px solid var(--tv-border);color:var(--tv-heading);font-weight:600;font-size:14px;line-height:1.3;text-align:center;transition:background .15s,border-color .15s}
a.tv-quick__tile:hover{background:#f6e6f0;border-color:#d4b7cf;color:var(--tv-primary-dark)}
.tv-quick__tile.is-soon{padding-left:4px;padding-right:4px}
.tv-quick__icon{display:block;width:44px;height:44px;mix-blend-mode:multiply}

.tv-birth{scroll-margin-top:4px;display:flex;flex-wrap:wrap;border:1px solid #4a2655;border-radius:16px;background:radial-gradient(120% 160% at 0% 100%,#6a3572 0%,#3d2148 70%);padding:6px;box-shadow:var(--tv-shadow-dark-card)}
.tv-birth__intro{flex:1 1 260px;max-width:100%;color:var(--tv-cream);padding:clamp(20px,2.4vw,28px);display:flex;flex-direction:column;justify-content:center;gap:10px}
.tv-birth__eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#f3d79c}
.tv-birth__title{font-family:var(--tv-font-heading);font-weight:700;font-size:clamp(22px,2.2vw,26px);line-height:1.25;color:var(--tv-gold-100)}
.tv-birth__desc{font-size:15px;line-height:1.55;color:var(--tv-on-dark);max-width:320px;text-wrap:pretty}
.tv-birth__form{flex:999 1 520px;min-width:0;background:var(--tv-surface);border-radius:12px;border:1px solid rgba(233,187,105,.45);box-shadow:0 6px 18px -10px rgba(20,10,30,.5);padding:clamp(16px,2vw,24px);display:flex;flex-direction:column;gap:12px}
.tv-birth__label{font-weight:600;font-size:14px;color:var(--tv-heading)}
.tv-birth__hint{font-weight:400;color:var(--tv-text-3)}
.tv-birth__gender{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.tv-birth__gender .tv-birth__label{float:left;min-width:64px}
.tv-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;background:#f4e9df;border-radius:999px;flex:0 1 240px}
.tv-seg__opt{position:relative;display:block;cursor:pointer}
.tv-seg__opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.tv-seg__opt span{display:grid;place-items:center;min-height:44px;border-radius:999px;font-weight:700;font-size:15px;color:var(--tv-text-2)}
.tv-seg__opt input:checked+span{background:var(--tv-primary);color:#fff;box-shadow:0 4px 10px -4px rgba(94,44,104,.6)}
.tv-seg__opt input:focus-visible+span{outline:3px solid var(--tv-focus);outline-offset:3px}
@media (max-width:719.98px){
  /* Màn hẹp: nhãn và thanh chọn giới tính nằm một hàng, thanh chọn thu nhỏ sát phải. */
  .tv-birth__gender{flex-wrap:nowrap;justify-content:space-between}
  .tv-seg{flex:0 0 156px}
  .tv-seg__opt span{min-height:38px;font-size:14px}
}
.tv-birth__row{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end}
.tv-birth__date{flex:2 1 300px}
.tv-birth__date legend{margin-bottom:6px}
.tv-birth__dmy{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:8px}
.tv-birth__hour{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 180px}
.tv-select{width:100%;height:46px;padding:0 34px 0 12px;border:1.5px solid #dccbbd;border-radius:12px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23713b78' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;font-size:15px;font-weight:600;color:var(--tv-ink);text-overflow:ellipsis;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.tv-select.is-empty{font-weight:400;color:#7d6c7b}
.tv-select option{font-weight:400;color:var(--tv-ink)}
.tv-select:focus{border-color:var(--tv-primary);box-shadow:0 0 0 3px rgba(113,59,120,.16)}
.tv-select[aria-invalid="true"]{border:2px solid var(--tv-error);background-color:var(--tv-error-bg)}
/* Ô chọn dựng bằng JS thay cho <select> gốc: nút + bảng lựa chọn. */
.tv-dd{position:relative;min-width:0}
.tv-dd__btn{width:100%;height:46px;padding:0 10px 0 12px;display:flex;align-items:center;justify-content:space-between;gap:6px;border:1.5px solid #dccbbd;border-radius:12px;background:#fff;font-size:15px;text-align:left;color:var(--tv-ink);transition:border-color .15s,box-shadow .15s}
.tv-dd__btn[aria-expanded="true"]{border-color:var(--tv-primary);box-shadow:0 0 0 3px rgba(113,59,120,.16)}
.tv-dd__btn[aria-invalid="true"]{border:2px solid var(--tv-error);background:var(--tv-error-bg)}
.tv-dd__value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--tv-ink)}
.tv-dd__btn.is-empty .tv-dd__value{font-weight:400;color:#7d6c7b}
.tv-dd__chev{display:block;color:var(--tv-primary);transition:transform .2s}
.tv-dd__btn[aria-expanded="true"] .tv-dd__chev{transform:rotate(180deg)}
.tv-dd__panel{position:absolute;z-index:40;top:calc(100% + 6px);left:0;margin:0;padding:6px;list-style:none;background:var(--tv-surface);border:1px solid #e3cfd9;border-radius:12px;box-shadow:0 18px 36px -14px rgba(50,29,64,.42);max-height:272px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cdb5c8 transparent;display:flex;flex-direction:column;gap:2px;min-width:100%;width:max-content}
.tv-dd__panel--grid{display:grid;grid-template-columns:repeat(var(--dd-cols),minmax(0,1fr));gap:4px;min-width:0;width:var(--dd-width)}
.tv-dd__panel--center{left:50%;transform:translateX(-50%)}
.tv-dd__panel--right{left:auto;right:0}
.tv-dd__opt{min-height:40px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;white-space:nowrap;cursor:pointer;border-radius:8px;font-size:15px;color:var(--tv-heading);user-select:none}
/* justify-content của bản một cột phải bỏ, nếu không cột lưới co theo chữ và dính mép trái ô. */
.tv-dd__panel--grid .tv-dd__opt{min-height:0;height:38px;padding:0;display:grid;grid-template-columns:minmax(0,1fr);justify-content:normal;place-items:center}
.tv-dd__opt.is-active{background:#f1e3ec;outline:2px solid #b98cb4;outline-offset:-2px}
.tv-dd__opt[aria-selected="true"]{background:var(--tv-plum-tint);color:var(--tv-primary-dark);font-weight:700}
.tv-dd__panel--grid .tv-dd__opt[aria-selected="true"]{background:var(--tv-primary);color:#fff}
.tv-dd__check{display:none;color:var(--tv-primary)}
.tv-dd__opt[aria-selected="true"] .tv-dd__check{display:block}
.tv-dd__panel--grid .tv-dd__check{display:none!important}
.tv-birth__submit{width:100%}

/* ───── 2. Chuyên mục + công cụ ───── */
.tv-cats{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--tv-gutter);margin:0 calc(-1 * var(--tv-gutter));padding:4px var(--tv-gutter) 14px;scrollbar-width:none}
.tv-cats::-webkit-scrollbar{display:none}
.tv-cats__item{display:flex;flex:0 0 68%;scroll-snap-align:start}
@media (min-width:720px){.tv-cats__item{flex-basis:38%}}
@media (min-width:960px){
  .tv-cats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--tv-grid-gap);overflow:visible;margin:0;padding:0}
  .tv-cats__item{flex:none}
}
.tv-cat{--cat-ink:var(--tv-heading);--cat-btn:var(--tv-primary);--cat-line:var(--tv-border);--cat-bg:var(--tv-surface);position:relative;flex:1;display:flex;flex-direction:column;min-width:0;border-radius:16px;overflow:hidden;border:1.5px solid var(--cat-line);background-color:var(--cat-bg);color:var(--tv-ink);box-shadow:0 8px 20px -14px rgba(50,29,64,.3);transition:transform .2s,box-shadow .2s}
a.tv-cat:hover{transform:translateY(-4px);box-shadow:var(--tv-shadow-card-hover);color:var(--tv-ink)}
.tv-cat--age{--cat-ink:#a1231c;--cat-btn:#b8322a;--cat-line:#efc0b6;--cat-bg:#fce7e1}
.tv-cat--feng{--cat-ink:#2f5a26;--cat-btn:#3d6b33;--cat-line:#bcd3ad;--cat-bg:#eaf1dc}
.tv-cat--day{--cat-ink:#1f3f78;--cat-btn:#2c4f8c;--cat-line:#b9c8e4;--cat-bg:#e3ebf8}
.tv-cat--chart{--cat-ink:#2e1438;--cat-btn:#7a3a86;--cat-line:#d9bfe0;--cat-bg:#f8e6f3}
.tv-cat--learn{--cat-ink:#5b3a12;--cat-btn:#c48a2c;--cat-line:#ecd2a6;--cat-bg:#fdf1e1}
.tv-cat__art{position:absolute;top:0;left:0;width:100%;height:auto;max-width:none}
/* Ảnh nền cao hơn phần đầu thẻ; phần thân đặt trên ảnh, bắt đầu sau một khoảng tỉ lệ 4:3. */
.tv-cat::before{content:"";flex:0 0 auto;aspect-ratio:4 / 3}
.tv-cat__body{position:relative;flex:1;display:flex;flex-direction:column;gap:8px;padding:2px 18px 16px}
.tv-cat__title{font-family:var(--tv-font-heading);font-weight:700;font-size:clamp(17px,1.45vw,20px);line-height:1.3;color:var(--cat-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-cat__desc{flex:1;font-size:15px;color:var(--tv-text-2);line-height:1.55;padding-bottom:44px}
.tv-cat__arrow{position:absolute;right:14px;bottom:14px;width:36px;height:36px;border-radius:50%;background:var(--cat-btn);color:#fff;display:grid;place-items:center;box-shadow:0 4px 10px -4px rgba(0,0,0,.35)}
.tv-cat .tv-soon{position:absolute;left:18px;bottom:19px}

.tv-tools{margin-top:clamp(24px,3vw,36px);scroll-margin-top:16px;background:var(--tv-surface-2);border:1px solid var(--tv-border);border-radius:20px;padding:clamp(20px,3vw,36px)}
.tv-tools__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:20px}
.tv-tools__title{font-family:var(--tv-font-heading);font-weight:700;font-size:clamp(22px,2.2vw,26px);line-height:1.3;color:var(--tv-heading)}
.tv-tools__sub{font-size:15px;color:var(--tv-text-3)}
.tv-tools__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:720px){.tv-tools__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}}
.tv-tools__grid>li{display:flex}
.tv-tool{flex:1;min-width:0;display:flex;align-items:center;gap:clamp(8px,2vw,12px);min-height:64px;padding:10px clamp(10px,2vw,14px);border-radius:12px;border:1px solid var(--tv-border);background:var(--tv-surface);color:var(--tv-heading);font-weight:600;font-size:clamp(14px,1.4vw,15px);text-align:left;line-height:1.3;transition:border-color .15s,background .15s}
a.tv-tool:hover{border-color:#b98cb4;background:#fff;color:var(--tv-heading)}
.tv-tool__icon{width:40px;height:40px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;background:var(--tv-plum-tint)}
.tv-tool__icon img{display:block;width:30px;height:30px;mix-blend-mode:multiply}
.tv-tool__label{flex:1;min-width:0}
.tv-tool__chev{display:none;color:#8b7a89}
@media (min-width:720px){.tv-tool__chev{display:block}}
/* Ô chưa mở: nhãn nằm dưới tên công cụ để tên không bị bóp hẹp. */
.tv-tool.is-soon{display:grid;grid-template-columns:40px minmax(0,1fr);align-content:center;column-gap:clamp(8px,2vw,12px);row-gap:5px}
.tv-tool.is-soon .tv-tool__icon{grid-row:1 / span 2;align-self:center}
.tv-tool.is-soon .tv-soon{justify-self:start}

/* ───── 3. 12 con giáp ───── */
.tv-zodiac{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 8px;justify-items:center}
@media (min-width:720px){.tv-zodiac{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (min-width:1100px){.tv-zodiac{grid-template-columns:repeat(12,minmax(0,1fr))}}
.tv-zodiac__item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 2px;min-height:44px}
.tv-zodiac__ring{position:relative;display:block;width:76px;height:76px;border-radius:50%;padding:2px;background:#fff;border:1.5px solid #e6d3c2}
.tv-zodiac__ring img{display:block;width:100%;height:100%;border-radius:50%}
.tv-zodiac__item.is-selected .tv-zodiac__ring{border:3px solid var(--tv-primary-light);box-shadow:0 0 0 4px rgba(141,70,126,.16)}
.tv-zodiac__check{position:absolute;top:-2px;right:-2px;width:24px;height:24px;border-radius:50%;background:var(--tv-primary);color:#fff;display:grid;place-items:center;border:2px solid var(--tv-bg)}
.tv-zodiac__name{font-size:15px;font-weight:600;color:var(--tv-text-2);border-bottom:2px solid transparent;line-height:1.4}
.tv-zodiac__item.is-selected .tv-zodiac__name{font-weight:700;color:var(--tv-primary-dark);border-bottom-color:var(--tv-primary-light)}
.tv-zsum{margin-top:28px;background:var(--tv-surface);border:1px solid #e3cfd9;border-radius:20px;padding:clamp(16px,2.4vw,24px);display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.tv-zsum__img{display:block;width:76px;height:76px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--tv-gold-300)}
.tv-zsum__img img{display:block;width:100%;height:100%}
.tv-zsum__text{flex:1 1 280px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.tv-zsum__eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--tv-gold-text)}
.tv-zsum__actions{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
@media (max-width:719.98px){
  /* Màn hẹp: hình con giáp bên trái, chữ bên phải cùng một hàng; hàng nút nằm dưới. */
  .tv-zsum{gap:14px 16px}
  .tv-zsum__text{flex:1 1 0;min-width:0}
  .tv-zsum__actions{flex:1 1 100%;justify-content:center;gap:4px 14px}
  .tv-zsum__actions .tv-btn{flex:1 1 100%}
}
.tv-zsum__all{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--tv-primary);font-weight:600;font-size:15px}

/* ───── 4. Tử vi hôm nay ───── */
.tv-daily{position:relative;overflow:hidden;background:var(--tv-grad-page-header);color:var(--tv-cream);padding:var(--tv-section-y) 0}
.tv-daily__inner{position:relative;display:flex;flex-wrap:wrap;gap:32px clamp(28px,4vw,56px);align-items:center}
.tv-daily__intro{flex:1 1 280px;max-width:400px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.tv-daily__title{font-family:var(--tv-font-heading);font-weight:700;font-size:var(--tv-fs-h2);line-height:1.2;color:var(--tv-gold-100)}
.tv-daily__sub{color:var(--tv-on-dark);font-size:16px}
.tv-daily__date{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid rgba(233,187,105,.5);color:var(--tv-gold-100);font-size:14px;font-weight:600}
.tv-daily__cta{margin-top:8px}
.tv-daily__cta--narrow{display:none}
@media (max-width:719.98px){
  /* Màn hẹp: phần giới thiệu căn giữa, ngày đưa lên trên tiêu đề, nút chính nằm dưới các thẻ. */
  .tv-daily__inner{gap:22px}
  .tv-daily__intro{flex-basis:100%;max-width:none;align-items:center;text-align:center;gap:10px}
  .tv-daily__sub{font-size:15px;max-width:300px}
  .tv-daily__date{order:-1;font-size:13px;padding:4px 12px}
  .tv-daily__cta--wide{display:none}
  .tv-daily__cta--narrow{display:flex;width:100%;margin-top:4px}
}
.tv-daily__main{flex:3 1 520px;min-width:0;display:flex;flex-direction:column;gap:16px}
.tv-daily__bar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tv-daily__range{font-size:14px;color:var(--tv-on-dark-2)}
.tv-daily__arrows{display:flex;gap:8px}
.tv-daily__arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(233,187,105,.55);background:rgba(255,255,255,.04);color:var(--tv-gold-100);display:grid;place-items:center}
.tv-daily__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tv-daily__card{position:relative;display:none;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:20px 14px 18px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(233,187,105,.3);color:var(--tv-cream);min-height:200px}
.tv-daily__card.is-selected{background:rgba(233,187,105,.14);border:2px solid var(--tv-gold-300)}
.tv-daily__img{display:block;width:64px;height:64px;border-radius:50%;overflow:hidden;border:1.5px solid rgba(233,187,105,.6);background:#fff}
.tv-daily__img img{display:block;width:100%;height:100%}
.tv-daily__name{font-family:var(--tv-font-heading);font-weight:700;font-size:20px;color:var(--tv-gold-100)}
.tv-daily__dots{display:none;justify-content:center;gap:2px}
.tv-daily__dot{width:44px;height:32px;display:grid;place-items:center}
.tv-daily__dot::before{content:"";display:block;width:8px;height:8px;border-radius:8px;background:rgba(244,234,217,.4)}
.tv-daily__dot.is-current::before{width:24px;background:var(--tv-gold-300)}
.tv-daily__range span{display:none}
/* Mỗi bề rộng hiện đúng một nhóm thẻ, một nhãn nhóm và một hàng chấm. */
.tv-daily__card.in-2{display:flex}
.tv-daily__range .tv-daily__only-2{display:inline}
.tv-daily__dots.tv-daily__only-2{display:flex}
@media (min-width:720px){
  .tv-daily__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tv-daily__card.in-2{display:none}
  .tv-daily__card.in-3{display:flex}
  .tv-daily__range .tv-daily__only-2,.tv-daily__dots.tv-daily__only-2{display:none}
  .tv-daily__range .tv-daily__only-3{display:inline}
  .tv-daily__dots.tv-daily__only-3{display:flex}
}
@media (min-width:1100px){
  .tv-daily__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tv-daily__card.in-3{display:none}
  .tv-daily__card.in-4{display:flex}
  .tv-daily__range .tv-daily__only-3,.tv-daily__dots.tv-daily__only-3{display:none}
  .tv-daily__range .tv-daily__only-4{display:inline}
  .tv-daily__dots.tv-daily__only-4{display:flex}
}

/* ───── 5. Chủ đề ───── */
.tv-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--tv-grid-gap)}
.tv-topics>li{display:flex}
.tv-topic{flex:1;position:relative;display:grid;grid-template-columns:clamp(84px,24vw,132px) minmax(0,1fr);align-items:center;gap:clamp(10px,2vw,14px);min-height:clamp(120px,14vw,148px);padding:12px clamp(12px,2vw,18px) 12px 12px;background:linear-gradient(135deg,#fffaf3 0%,#f8ebdc 100%);border:1px solid var(--tv-border);border-radius:16px;color:var(--tv-ink);box-shadow:var(--tv-shadow-card);transition:border-color .15s,box-shadow .2s,transform .2s}
.tv-topic:hover{border-color:#d4b7cf;box-shadow:var(--tv-shadow-card-hover);transform:translateY(-2px);color:var(--tv-ink)}
.tv-topic__img{display:block;width:100%;height:auto;aspect-ratio:1;mix-blend-mode:multiply}
.tv-topic__text{display:flex;flex-direction:column;gap:6px;padding-bottom:30px;min-width:0}
.tv-topic__title{font-family:var(--tv-font-heading);font-weight:700;font-size:18px;line-height:1.3;color:var(--tv-heading)}
.tv-topic__desc{font-size:14px;color:var(--tv-text-2);line-height:1.55;text-wrap:pretty}
.tv-topic__arrow{position:absolute;right:16px;bottom:14px;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--tv-primary-dark);color:var(--tv-primary-dark);background:var(--tv-surface);display:grid;place-items:center}

/* ───── 6. Bài viết ───── */
#bai-viet .tv-sec-head{margin-bottom:clamp(20px,2.4vw,28px)}
.tv-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:12px;justify-content:safe center;scrollbar-width:thin}
.tv-tab{flex-shrink:0;min-height:44px;padding:0 18px;border-radius:999px;font-weight:600;font-size:15px;border:1.5px solid var(--tv-border-strong);background:var(--tv-surface);color:var(--tv-text-2)}
.tv-tab[aria-selected="true"]{border-color:var(--tv-primary);background:var(--tv-primary);color:#fff}
.tv-articles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(16px,1.6vw,24px);align-items:stretch}
.tv-feat{display:flex;flex-direction:column;background:var(--tv-surface);border:1px solid var(--tv-border);border-radius:16px;padding:12px;color:var(--tv-ink);box-shadow:var(--tv-shadow-card)}
.tv-feat:hover{box-shadow:var(--tv-shadow-card-hover);color:var(--tv-ink)}
.tv-feat__img{display:block;border-radius:12px;overflow:hidden;aspect-ratio:3 / 1;background:#efe3d4}
.tv-feat__img img,.tv-post-row__img img{display:block;width:100%;height:100%;object-fit:cover}
.tv-feat__body{padding:16px 14px 10px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.tv-feat__title{font-family:var(--tv-font-heading);font-weight:700;font-size:clamp(21px,2.1vw,27px);line-height:1.3;color:var(--tv-heading);text-wrap:balance;max-width:560px}
.tv-feat__desc{font-size:15px;color:var(--tv-text-2);line-height:1.6;max-width:560px}
.tv-meta{display:flex;flex-wrap:wrap;gap:6px 28px;font-size:14px;color:var(--tv-text-2);padding-top:2px}
.tv-meta--tight{gap:4px 28px;padding-top:0}
.tv-meta__item{display:inline-flex;align-items:center;gap:6px}
.tv-articles__list{display:flex;flex-direction:column;gap:14px}
.tv-articles__row{display:flex;flex:1 1 0;max-height:180px}
.tv-post-row{flex:1;display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);padding:10px clamp(12px,2vw,16px) 10px 10px;background:var(--tv-surface);border:1px solid var(--tv-border);border-radius:16px;color:var(--tv-ink);box-shadow:var(--tv-shadow-card)}
.tv-post-row:hover{border-color:#d4b7cf;box-shadow:var(--tv-shadow-card-hover);color:var(--tv-ink)}
.tv-post-row__img{display:block;width:clamp(96px,26vw,170px);flex-shrink:0;align-self:stretch;min-height:90px;border-radius:12px;overflow:hidden;background:#efe3d4}
.tv-post-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.tv-post-row__title{font-family:var(--tv-font-heading);font-weight:700;font-size:clamp(16px,1.35vw,18px);line-height:1.38;color:var(--tv-heading)}
.tv-empty-box{padding:20px;border:1px dashed #d9c3b0;border-radius:16px;background:var(--tv-surface);display:flex;flex-direction:column;gap:8px}
.tv-empty-box__title{font-weight:700;color:var(--tv-heading)}
.tv-empty-box__text{font-size:15px;color:var(--tv-text-3)}
#bai-viet>.tv-container>.tv-empty-box{max-width:620px;margin:0 auto;text-align:center}

/* ───── 7. Tư vấn ───── */
.tv-consult{background:radial-gradient(100% 140% at 0% 100%,#5a2f66 0%,#321d40 60%);color:var(--tv-cream);padding:var(--tv-section-y) 0}
.tv-consult__inner{display:flex;flex-wrap:wrap;gap:36px clamp(28px,5vw,72px);align-items:center}
.tv-consult__intro{flex:1 1 min(100%,300px);max-width:440px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.tv-consult__title{font-family:var(--tv-font-heading);font-weight:700;font-size:var(--tv-fs-h2);line-height:1.2;color:var(--tv-gold-100)}
.tv-consult__sub{color:var(--tv-on-dark);font-size:16px;text-wrap:pretty}
.tv-consult__cta--wide{display:none;margin-top:8px}
.tv-consult__cta--narrow{width:100%}
@media (min-width:720px){
  .tv-consult__cta--wide{display:inline-flex}
  .tv-consult__cta--narrow{display:none}
}
.tv-consult__grid{flex:2 1 min(100%,480px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.6vw,16px)}
.tv-expert{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:clamp(14px,2vw,20px) clamp(6px,1.4vw,14px);border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(233,187,105,.25)}
.tv-expert__avatar{width:clamp(64px,18vw,112px);height:clamp(64px,18vw,112px);border-radius:50%;overflow:hidden;border:3px solid var(--tv-gold-300);margin-bottom:6px;background:#f4ece4;color:var(--tv-primary);display:grid;place-items:center}
.tv-expert__avatar .tv-icon{width:44%;height:44%}
.tv-expert__role{font-family:var(--tv-font-heading);font-weight:700;font-size:clamp(14px,1.5vw,17px);line-height:1.3;color:var(--tv-gold-100);text-wrap:balance}
.tv-expert .tv-soon{margin-top:4px}

/* ───── 8. Nhận tin ───── */
.tv-nl{background:#fdf3ea;border-top:1px solid var(--tv-divider);padding:clamp(28px,3.5vw,40px) 0;scroll-margin-top:4px}
.tv-nl__inner{display:flex;flex-wrap:wrap;align-items:center;gap:20px clamp(24px,3.5vw,48px)}
.tv-nl__art{flex:0 0 clamp(200px,20vw,260px);width:clamp(200px,20vw,260px);height:auto;aspect-ratio:2 / 1;object-fit:contain}
.tv-nl__text{flex:1 1 min(100%,300px);display:flex;flex-direction:column;gap:6px}
@media (max-width:719.98px){
  /* Màn hẹp: xếp dọc và căn giữa: hình, tiêu đề, mô tả, rồi ô email rộng hết khối. */
  .tv-nl__inner{flex-direction:column;align-items:center;text-align:center;gap:10px}
  .tv-nl__art{flex:none;width:168px}
  .tv-nl__text{flex:none;align-items:center}
  .tv-nl__desc{max-width:320px}
  .tv-nl__side{flex:none;width:100%;max-width:none;margin-top:6px}
  .tv-nl__error{justify-content:center}
}
.tv-nl__title{font-family:var(--tv-font-heading);font-weight:700;font-size:clamp(22px,2.2vw,26px);line-height:1.3;color:var(--tv-heading)}
.tv-nl__desc{font-size:15px;color:var(--tv-text-2);max-width:460px;text-wrap:pretty}
.tv-nl__side{flex:1 1 min(100%,380px);max-width:460px;min-width:0}
.tv-nl__form{display:flex;flex-direction:column;gap:8px}
.tv-nl__shell{display:flex;align-items:center;gap:8px;padding:3px;border-radius:999px;background:#fff;border:1px solid #e0cdd9;box-shadow:0 4px 14px -8px rgba(50,29,64,.25)}
.tv-nl__shell.has-error{border:2px solid var(--tv-error)}
.tv-nl__shell:focus-within{outline:3px solid var(--tv-focus);outline-offset:3px}
.tv-nl__icon{color:var(--tv-primary-light);display:grid;place-items:center;padding-left:14px}
.tv-nl__input{flex:1;min-width:0;height:48px;border:0;outline:0;background:transparent;font-size:15px;color:var(--tv-ink);padding:0 4px}
.tv-nl__submit{flex:0 0 auto;height:46px;padding:0 clamp(16px,4vw,26px);border:0;border-radius:999px;background:var(--tv-grad-plum);color:#fff;font-weight:700;font-size:15px;box-shadow:0 6px 14px -8px rgba(94,44,104,.8)}
.tv-nl__submit:hover{background:var(--tv-primary-dark)}
.tv-nl__error{align-items:center;padding-left:6px}
.tv-nl__done{display:flex;flex-direction:column;gap:2px;padding:12px 18px;border-radius:16px;background:#fff;border:1px solid #d9cdb4}
.tv-nl__done-title{display:flex;gap:8px;align-items:center;font-weight:700;color:var(--tv-success)}
.tv-nl__done-text{font-size:13px;color:var(--tv-text-2)}
