/*
Theme Name: Yên Bái Stone 2026
Description: Theme cho damyngheyenbai.vn — port pixel-accurate từ mockup đã duyệt (mockup-damyngheyenbai.html v21). Giữ nguyên nội dung/permalink, không đổi meta RankMath.
Author: Yên Bái Stone
Version: 2.0
Text Domain: yenbaistone-2026
*/

/* ===== TOKENS (port nguyên bản mockup) ===== */
:root {
  --brown:#793717; --brown-dk:#5A2810; --brown-light:#9C5A34;
  --green:#34B253; --green-dk:#278F42;
  --gold:#C89B3C; --gold-dk:#9C7529; --gold-light:#E8D4A0;
  --ink:#0D0D0D; --ink-2:#2E2A26; --ink-3:#6B6560;
  --cream:#F7F5F0; --cream-2:#EFEBE2; --cream-3:#E5DFD2;
  --white:#FFFFFF;
  --hair:rgba(13,13,13,.1); --hair-2:rgba(13,13,13,.06);
  --radius-card:8px; --radius-pill:6px; --radius-frame:8px;
}

/* Contact Form 7 restored 04/09/2026: keep controls inside the mobile content column. */
.ybs-contact-form .wpcf7-form-control-wrap {
  display: block;
  max-width: 100%;
}

.ybs-contact-form input[type="text"],
.ybs-contact-form input[type="email"],
.ybs-contact-form input[type="tel"],
.ybs-contact-form textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

/* 03/09/2026: keyboard navigation. */
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 100000;
  padding: 10px 14px;
  border-radius: 4px;
  background: #fff;
  color: #0d0d0d;
  font-weight: 700;
  transform: translateY(-160%);
  transition: transform .15s ease;
}
.skip-link:focus { transform: translateY(0); }

* { box-sizing:border-box; }
body { font-family:"Be Vietnam Pro",sans-serif; background:var(--cream); color:var(--ink-2); font-weight:400; font-size:17px; line-height:1.7; -webkit-font-smoothing:antialiased; margin:0; }
h1,h2,h3,h4,h5,h6 { font-weight:700; color:var(--ink); letter-spacing:-.3px; line-height:1.2; margin:0; }
h1 { font-size:clamp(32px,4vw,50px); }
h2 { font-size:clamp(24px,2.6vw,34px); }
h3 { font-size:19px; font-weight:600; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }

.wrap { max-width:1360px; margin:0 auto; padding:0 32px; }
.container { max-width:1360px; margin:0 auto; padding:0 32px; } /* alias cho template cũ */
section { padding:20px 0; }
.section { padding:60px 0; }
section.alt { background:var(--cream-2); }

.eyebrow { font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--brown); display:inline-flex; align-items:center; gap:8px; margin-bottom:14px; }
.eyebrow::before { content:""; width:22px; height:1px; background:var(--gold); }
.section-head { max-width:640px; margin-bottom:16px; }
.section-head p { color:var(--ink-3); margin-top:14px; font-size:16px; max-width:52ch; }

.motif-row { display:flex; align-items:center; justify-content:center; gap:18px; padding:2px 0; }
.motif-row .ln { flex:1; max-width:220px; height:1px; background:linear-gradient(90deg,transparent,var(--hair) 40%,var(--hair) 60%,transparent); }
.motif-row .motif-ico { font-size:22px; color:var(--gold); opacity:.75; line-height:1; }

/* ===== BUTTONS ===== */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 30px; border-radius:var(--radius-pill); font-weight:600; font-size:14.5px; cursor:pointer; border:1px solid transparent; transition:.4s cubic-bezier(.25,.46,.45,.94); white-space:nowrap; }
.btn-primary { background:var(--brown); color:#fff; border:1px solid var(--gold); box-shadow:0 10px 26px -10px rgba(121,55,23,.5),0 0 0 3px rgba(200,155,60,.12); }
.btn-primary:hover { background:var(--brown-dk); transform:translateY(-3px); box-shadow:0 12px 34px -8px rgba(200,155,60,.7),0 0 22px rgba(200,155,60,.45); }
.btn-zalo { background:var(--green); color:#fff; border:1px solid var(--green-dk); box-shadow:0 10px 26px -10px rgba(52,178,83,.5); }
.btn-zalo:hover { background:var(--green-dk); transform:translateY(-3px); box-shadow:0 12px 30px -8px rgba(52,178,83,.6); }
.btn-outline { border-color:var(--hair); background:#fff; color:var(--ink-2); }
.btn-outline:hover { border-color:var(--brown); color:var(--brown); }
.btn-gold { background:var(--gold); color:var(--ink); }
.btn-gold:hover { background:var(--gold-dk); color:#fff; box-shadow:0 12px 30px -8px rgba(200,155,60,.6); }

/* ===== NỀN MARBLE (pure CSS theo mockup) ===== */
.marble-bg { position:relative; background:
  radial-gradient(ellipse 60% 45% at 12% 8%, rgba(255,255,255,.85), transparent 60%),
  radial-gradient(ellipse 50% 40% at 88% 6%, rgba(232,212,160,.35), transparent 65%),
  radial-gradient(ellipse 70% 50% at 80% 100%, rgba(121,55,23,.08), transparent 60%),
  linear-gradient(160deg,#EFEBE2,#F7F5F0,#EAE3D5); }
.marble-bg.dark { background:
  radial-gradient(ellipse 55% 40% at 10% 6%, rgba(255,255,255,.06), transparent 60%),
  radial-gradient(ellipse 55% 45% at 92% 96%, rgba(200,155,60,.10), transparent 60%),
  linear-gradient(160deg,#1C1410,#231913,#150E0B); }
.gold-glow { position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 30% 35%, rgba(200,155,60,.20), transparent 55%); }

/* ===== HEADER ===== */
header.site-header { position:sticky; top:0; z-index:300; background:rgba(247,245,240,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--hair); }
.nav-bar { display:flex; align-items:center; justify-content:flex-start; padding:10px 12px; gap:8px; max-width:1360px; margin:0 auto; }
.nav-logo { display:block; flex-shrink:0; padding-right:6px; }
.nav-logo img { width:auto; height:50px; object-fit:contain; }

nav.nav { display:flex; align-items:center; gap:0; height:56px; background:#fff; border:1px solid var(--gold-light); border-radius:12px; padding:4px; box-shadow:0 2px 10px rgba(13,13,13,.04); }
nav.nav ul { list-style:none; display:flex; margin:0; padding:0; }
nav.nav > ul > li { position:relative; }
nav.nav li > a { display:block; padding:10px 3px; border-radius:var(--radius-pill); font-size:12px; font-weight:700; color:var(--ink); text-transform:uppercase; letter-spacing:.02em; white-space:nowrap; }
nav.nav li > a:hover, nav.nav li.current-menu-item > a { background:var(--cream-2); color:var(--brown); }

.menu-item-has-children { position:relative; }
nav.nav .sub-menu { display:none !important; position:absolute; top:calc(100% + 8px); left:0; background:#fff; border:1px solid var(--hair); border-radius:var(--radius-card); padding:8px; min-width:230px; flex-direction:column; box-shadow:0 40px 80px -30px rgba(13,13,13,.28); z-index:400; list-style:none; margin:0; }
nav.nav .sub-menu::before { content:''; position:absolute; top:-8px; left:0; right:0; height:8px; }
nav.nav .menu-item-has-children:hover > .sub-menu { display:flex !important; }
.sub-menu a { font-size:13px; font-weight:600; color:var(--ink-2); padding:10px 14px; border-radius:6px; display:block; text-transform:none; letter-spacing:0; }
.sub-menu a:hover { background:var(--cream-2); color:var(--brown); }
.sub-menu .sub-menu { top:0; left:calc(100% + 4px); }

.nav-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; margin-left:auto; }
.hotline { display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--gold-light); border-radius:12px; padding:6px 10px 6px 8px; white-space:nowrap; }
.hotline-icon { width:34px; height:34px; border-radius:50%; background:var(--gold); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px -6px rgba(200,155,60,.7); flex-shrink:0; font-size:1rem; }
.hotline-text { display:flex; flex-direction:column; line-height:1.25; }
.hotline-text span { font-size:11px; color:var(--ink-3); }
.badge247 { background:var(--brown); color:#fff; font-size:10px; font-weight:700; padding:2px 6px; border-radius:4px; margin-left:4px; }
.hotline-text strong { font-size:16px; color:var(--brown); font-weight:700; }
.hamburger-btn { display:none; width:44px; height:44px; border-radius:50%; border:1px solid var(--hair); background:#fff; cursor:pointer; align-items:center; justify-content:center; font-size:18px; color:var(--ink-2); flex-shrink:0; padding:0; }

/* ===== HERO ===== */
.hero { padding:64px 0 90px; overflow:hidden; }
.hero .wrap { position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--gold-light); border-radius:6px; padding:7px 16px 7px 8px; font-size:12px; font-weight:600; color:var(--brown-dk); margin-bottom:22px; box-shadow:0 6px 18px -8px rgba(121,55,23,.25); }
.hero-badge .dot { width:22px; height:22px; border-radius:50%; background:var(--gold); color:#fff; display:flex; align-items:center; justify-content:center; font-size:11px; }
.hero h1 { margin-bottom:20px; }
.hero h1 em { font-style:normal; color:var(--brown); }
.hero .lead { color:var(--ink-3); font-size:16px; max-width:46ch; margin:0 0 30px; }
.hero-cta { display:flex; gap:14px; margin-bottom:36px; flex-wrap:wrap; }
.hero-textlink { color:var(--brown); font-weight:600; font-size:13.5px; text-decoration:underline; }
.hero-stats { display:flex; gap:32px; }
.hero-stats > div { border-left:2px solid var(--gold); padding-left:14px; }
.hero-stats strong { display:block; font-size:22px; color:var(--ink); font-weight:700; }
.hero-stats span { font-size:12px; color:var(--ink-3); }

.hero-visual { position:relative; }
.hero-frame { position:relative; border-radius:8px; overflow:hidden; aspect-ratio:4/3; /* 14/08: 4/3 cho khop anh 1200x900 — de 4/5 thi cat mat logo va thanh lien he trong anh. Doi lai 4/5 neu muon khung doc. */ box-shadow:0 40px 70px -24px rgba(121,55,23,.35); }
.hero-frame img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.hero-frame::before { content:""; position:absolute; inset:6px; border:1px solid rgba(255,255,255,.55); border-radius:6px; pointer-events:none; z-index:2; }
.hero-float { position:absolute; bottom:-22px; left:-16px; background:#fff; border-radius:10px; padding:14px 18px; box-shadow:0 20px 40px -14px rgba(13,13,13,.25); border:1px solid var(--hair); }
.hero-float strong { display:block; font-size:18px; color:var(--brown); }
.hero-float span { font-size:11.5px; color:var(--ink-3); }

/* ===== BENTO GRID ===== */
.grid-bento { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:minmax(180px,auto); gap:24px; }
.bento-item { position:relative; border-radius:8px; overflow:hidden; cursor:pointer; border:1px solid var(--hair); display:block; min-height:180px; }
.bento-item.b1 { grid-column:span 2; grid-row:span 2; }
.bento-item.b-half { grid-column:span 2; }
.bento-item .cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:.4s; }
.bento-item .overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(13,13,13,.72) 0%,rgba(13,13,13,.15) 55%,transparent 75%); display:flex; align-items:flex-end; padding:20px; }
.bento-item .tag { display:block; font-size:11px; color:var(--gold-light); text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; }
.bento-item h3 { font-size:16px; color:#fff; font-weight:700; }
.bento-item.b1 h3 { font-size:22px; }
.bento-item:hover { box-shadow:0 16px 40px -16px rgba(121,55,23,.35); }
.bento-item:hover .cover { filter:brightness(1.07); }

/* ===== PRODUCT CARDS ===== */
.grid-products { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:24px; }
.grid-products-6 { grid-template-columns:repeat(3,1fr); }
.card-product { background:#fff; border-radius:8px; border:1px solid var(--hair); overflow:hidden; transition:.4s cubic-bezier(.25,.46,.45,.94); position:relative; cursor:pointer; display:block; }
.card-product:hover { box-shadow:0 24px 50px -20px rgba(200,155,60,.5); transform:translateY(-3px); }
.card-product .glow { position:absolute; inset:-30%; background:radial-gradient(circle at 50% 40%, rgba(200,155,60,.35), transparent 60%); opacity:0; transition:.3s; pointer-events:none; z-index:0; }
.card-product:hover .glow { opacity:1; }
.card-product .thumb { aspect-ratio:1/1; position:relative; overflow:hidden; }
.card-product .thumb img { width:100%; height:100%; object-fit:cover; }
.card-product .thumb::before { content:""; position:absolute; inset:5px; border:1px solid rgba(200,155,60,.55); border-radius:4px; pointer-events:none; z-index:2; }
.card-product .body { padding:16px 18px 20px; position:relative; z-index:1; background:#fff; }
.card-product .cat { font-size:11px; color:var(--brown); font-weight:600; text-transform:uppercase; letter-spacing:.06em; display:block; }
.card-product h4 { font-size:14.5px; margin:6px 0 8px; line-height:1.4; font-weight:600; }
.card-product .price { font-size:17px; font-weight:700; color:var(--ink); }
.card-product .price span { font-size:12.5px; color:var(--ink-3); font-weight:400; }
.proj-desc { font-size:12px; line-height:1.6; color:var(--ink-3); margin:6px 0 0; }

/* ===== DARK ABOUT ===== */
.about-cta-grid { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.reason-row { display:flex; flex-direction:column; gap:0; }
.reason { display:flex; gap:18px; }
.reason .num { font-size:34px; font-weight:700; color:var(--gold); opacity:.55; line-height:1; flex-shrink:0; }
.reason h4 { color:#fff; margin-bottom:6px; font-size:16px; }
.reason p { color:var(--ink-3); font-size:13px; margin:0; }

/* ===== QUY TRÌNH ===== */
.process-row { display:flex; align-items:flex-start; gap:0; position:relative; }
.process-line { position:absolute; top:20px; left:40px; right:40px; border-top:2px dashed var(--gold); }
.process-step { flex:1; text-align:center; position:relative; }
.process-step .circ { width:42px; height:42px; border-radius:50%; border:2px solid var(--brown); background:var(--cream); color:var(--brown); font-weight:700; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; position:relative; z-index:2; }
.process-step h4 { font-size:14.5px; margin-bottom:6px; }
.process-step p { font-size:12.5px; color:var(--ink-3); max-width:24ch; margin:0 auto; }

/* ===== RELATED STRIP ===== */
.related-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }

/* ===== FEEDBACK ===== */
.feedback-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.feedback-card { background:#fff; border:1px solid var(--gold-light); border-radius:8px; padding:22px 20px; box-shadow:0 14px 30px -18px rgba(121,55,23,.25); }
.feedback-card p { font-size:13.5px; color:var(--ink-2); margin:0 0 16px; line-height:1.6; }
.feedback-name { font-size:13px; font-weight:700; color:var(--brown); }
.feedback-name span { display:block; font-size:12.5px; font-weight:400; color:var(--ink-3); margin-top:2px; }

/* ===== FAQ ===== */
.faq-list { max-width:820px; margin:0 auto; }
.faq-item { border-bottom:1px solid var(--hair); }
.faq-item summary { list-style:none; cursor:pointer; padding:20px 4px; font-weight:600; font-size:17px; color:var(--ink); display:flex; justify-content:space-between; gap:16px; align-items:center; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; font-size:20px; color:var(--gold-dk); flex-shrink:0; font-weight:400; transition:.2s; }
.faq-item[open] summary::after { content:"−"; }
.faq-item p { padding:0 4px 20px; color:var(--ink-3); font-size:14px; max-width:70ch; margin:0; }

/* ===== CTA CHIPS ===== */
.cta-chips { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.foot-badge { display:flex; align-items:center; gap:6px; font-size:11px; color:var(--gold-light); border:1px solid rgba(200,155,60,.35); border-radius:6px; padding:6px 12px; }

/* ===== FOOTER ===== */
footer.site-footer { background:var(--ink); color:var(--cream-3); position:relative; overflow:hidden; padding:0; }
.footer-texture { position:absolute; inset:0; opacity:.9; }
footer.site-footer .wrap { position:relative; z-index:2; padding:70px 32px 30px; }
.foot-top { display:grid; grid-template-columns:1.2fr .9fr .9fr 1.3fr; gap:50px; padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,.1); }
.logo-badge { background:#fff; border-radius:12px; padding:22px 24px; margin-bottom:20px; box-shadow:0 10px 26px -10px rgba(0,0,0,.35); display:inline-block; }
.logo-badge img { height:72px; width:auto; object-fit:contain; }
.foot-desc { font-size:13px; color:var(--cream-3); max-width:34ch; margin:0 0 18px; }
.foot-badges { display:flex; flex-wrap:wrap; gap:10px; }
.foot-col h5 { font-size:13px; color:#fff; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-bottom:18px; }
.foot-col a, .foot-col p { display:block; font-size:13px; color:var(--cream-3); margin-bottom:11px; }
.foot-col a:hover { color:var(--gold-light); }
.foot-contact-item { display:flex; gap:10px; margin-bottom:14px; }
.foot-contact-item .ico { color:var(--gold); flex-shrink:0; margin-top:2px; }
.foot-contact-item strong { display:inline; color:#fff; font-size:13.5px; }
.foot-contact-item { flex-wrap:wrap; }
.foot-contact-item > div { display:inline; }
.foot-contact-item span { font-size:12px; color:var(--cream-3); }
.foot-map-row { display:grid; grid-template-columns:2fr 1fr; gap:20px; padding:24px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.foot-map-row iframe { width:100%; height:220px; border:0; border-radius:12px; filter:grayscale(.15) contrast(1.05); display:block; }
.foot-fanpage { background:rgba(255,255,255,.04); border:1px solid rgba(200,155,60,.3); border-radius:12px; padding:24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:10px; }
.foot-fanpage h5 { color:#fff; font-size:14px; margin:0; text-transform:none; letter-spacing:0; }
.foot-fanpage p { color:var(--cream-3); font-size:12.5px; margin:0; }
.foot-fanpage .btn-gold { padding:9px 18px; font-size:12.5px; margin-top:4px; }
.foot-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:12px; color:var(--cream-3); flex-wrap:wrap; gap:14px; }
.foot-bottom .socials { display:flex; gap:10px; }
.foot-bottom .socials a { width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; color:var(--cream-3); }
.foot-bottom .socials a:hover { color:var(--gold); border-color:var(--gold); }

/* ===== STICKY RAIL ===== */
.sticky-rail { position:fixed; right:26px; bottom:26px; z-index:250; display:flex; flex-direction:column; gap:10px; }
.sticky-rail a { width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -10px rgba(13,13,13,.4); color:#fff; transition:.2s; font-weight:700; }
.sticky-rail a:hover { transform:scale(1.06); }
.sticky-rail .zalo { background:#0068FF; font-size:12px; letter-spacing:.02em; }
.sticky-rail .call { background:var(--green); font-size:20px; }
/* Ẩn nút nổi plugin cũ tránh trùng lặp với sticky-rail */
.wpshare247-fab, #wpshare247-all-in-one, .w247-fab, div[id*="wpshare247"],
.contact-icons-right, .js-show-all-icon.show-all-icon { display:none !important; }

/* ===== TEMPLATE PHỤ (giữ để trang con không vỡ) ===== */
.badge { display:inline-flex; align-items:center; gap:.35rem; background:var(--cream-2); color:var(--brown); font-size:12px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; padding:.3rem .8rem; border-radius:9999px; }
.card { background:#fff; border-radius:var(--radius-card); border:1px solid var(--hair); }
.product-card { display:flex; flex-direction:column; }
.product-card .img-wrap { overflow:hidden; border-radius:var(--radius-card) var(--radius-card) 0 0; height:220px; width:100%; }
.product-card .img-wrap img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.product-card .info { padding:1rem 1.1rem 1.2rem; flex:1; }
.product-card .name { font-size:.95rem; font-weight:700; margin-bottom:.2rem; }
.article-card { background:#fff; border-radius:var(--radius-card); border:1px solid var(--hair); overflow:hidden; text-decoration:none; color:inherit; display:flex; flex-direction:column; }
.article-card > img { width:100%; height:190px; display:block; object-fit:cover; object-position:center; }
.article-card .body { padding:1.1rem; flex:1; }
.article-card h3 { font-size:.95rem; margin:0 0 .5rem; }
.article-card .excerpt { font-size:.8rem; color:var(--ink-3); line-height:1.6; }
.breadcrumb { display:flex; gap:8px; font-size:12.5px; color:var(--ink-3); flex-wrap:wrap; align-items:center; padding:18px 0; }
.breadcrumb a { color:var(--ink-3); display:inline-block; padding:8px 0; }
.breadcrumb .current { color:var(--ink); font-weight:600; }
.entry-content { max-width:860px; margin:0 auto; line-height:1.75; }
.entry-content img { max-width:100%; height:auto; border-radius:var(--radius-frame); }
.entry-content h2 { color:var(--brown); margin-top:2rem; }
.entry-content table { width:100%; border-collapse:collapse; margin:1.5rem 0; }
.entry-content table th, .entry-content table td { border:1px solid var(--hair); padding:.6rem .8rem; text-align:left; }
.entry-content table th { background:var(--cream-2); }
.container-narrow { max-width:860px; margin:0 auto; padding:0 24px; }

/* ===== RESPONSIVE ===== */
@media (max-width:1240px) {
  .hotline-text { display:none; }
  .hotline { width:44px; height:44px; border-radius:50%; padding:0; justify-content:center; }
  .hotline-icon { width:32px; height:32px; }
}

@media (max-width:1200px) {
  nav.nav { display:none; }
  .hamburger-btn { display:flex; }
  nav.nav.mobile-open { display:flex; position:absolute; top:100%; left:0; right:0; height:auto; flex-direction:column; align-items:stretch; border-radius:0; border-top:none; max-height:calc(100vh - 90px); overflow-y:auto; }
  nav.nav.mobile-open > ul { flex-direction:column; width:100%; }
  nav.nav.mobile-open li > a { padding:14px 16px; font-size:13px; }
  nav.nav.mobile-open .sub-menu { position:static; box-shadow:none; border:none; padding:0 0 8px 16px; min-width:0; width:100%; background:var(--cream-2); }
}
@media (max-width:900px) {
  .hero { padding:36px 0 32px; }
  .hero .wrap { grid-template-columns:1fr; gap:24px; }
  .hero-visual { order:-1; }
  .hero-frame { aspect-ratio:4/3; } /* 14/08: khop anh hero 1200x900; 16/10 cat mat 17% chieu cao = mat thanh lien he trong anh */
  .grid-bento { grid-template-columns:repeat(2,1fr); }
  .bento-item.b1, .bento-item.b-half { grid-column:span 2; }
  .grid-products-6 { grid-template-columns:repeat(2,1fr); }
  .related-strip, .feedback-grid { grid-template-columns:repeat(2,1fr); }
  .about-cta-grid { grid-template-columns:1fr; gap:32px; }
  .foot-top { grid-template-columns:1fr 1fr; gap:32px; }
  .foot-map-row { grid-template-columns:1fr; }
  footer.site-footer .wrap { padding:44px 20px 24px; }
  .footer-grid { grid-template-columns:1fr; gap:2rem; }
  footer.site-footer div[style*="grid-template-columns"] { grid-template-columns:1fr !important; gap:1.5rem !important; }
}
@media (max-width:768px) {
  .foot-col-categories { display:none; }
  .process-row { flex-direction:column; gap:22px; }
  .process-line { display:none; }
  .process-step { display:flex; text-align:left; gap:14px; }
  .process-step .circ { margin:0; flex-shrink:0; }
  .process-step p { margin:0; max-width:none; }
}
@media (max-width:560px) {
  .grid-bento, .grid-products-6, .related-strip, .feedback-grid { grid-template-columns:1fr; }
  .foot-top { grid-template-columns:1fr; }
  .foot-bottom { flex-direction:column; align-items:flex-start; }
  .foot-map-row iframe { height:180px; }
  .sticky-rail { right:16px; bottom:16px; }
  .sticky-rail a { width:46px; height:46px; }
  .hero-cta { flex-direction:column; }
  .hero-cta .btn { width:100%; }
  .wrap, .container { padding:0 20px; }
}

/* ===== CAROUSEL TRUOT NGANG MOBILE (moi .mobile-carousel, <=900px) ===== */
@media (max-width:900px) {
  .mobile-carousel { display:flex !important; overflow-x:auto; scroll-snap-type:x mandatory; gap:16px; padding-bottom:4px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .mobile-carousel::-webkit-scrollbar { display:none; }
  .mobile-carousel > * { scroll-snap-align:center; flex:0 0 85%; min-width:0; }
  .carousel-dots { display:flex; justify-content:center; gap:8px; margin-top:16px; }
  .carousel-dots button { width:8px; height:8px; border-radius:50%; border:none; padding:0; cursor:pointer; transition:.2s; background:rgba(0,0,0,.15); }
  .carousel-dots button.active { background:var(--brown); width:20px; border-radius:4px; }
}

@media (min-width:901px) {
  .carousel-dots { display:none; }
}

/* ===== GRID DUNG CHUNG (thay inline style de responsive/carousel ap dung duoc) ===== */
.grid-3col { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.grid-4col { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }

/* ===== PRODUCT DETAIL RESPONSIVE (gallery/info split + thumbnail strip) ===== */
.pd-main-grid { display:grid; grid-template-columns:minmax(0,55fr) minmax(0,45fr); gap:3rem; align-items:start; }
.pd-thumbs { display:flex; grid-template-columns:repeat(4,1fr); gap:10px; }
@media (max-width:900px) {
  .pd-main-grid { grid-template-columns:1fr; gap:2rem; }
  .pd-info { position:static !important; top:auto !important; }
}
@media (max-width:600px) {
  .pd-thumbs { display:flex; overflow-x:auto; gap:0.6rem; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .pd-thumbs::-webkit-scrollbar { display:none; }
  .pd-thumbs > div { flex:0 0 22%; min-width:0; }
}

/* Mui ten chi bao dropdown cho muc menu co danh muc con */
nav.nav .menu-item-has-children > a::after { content:' ▾'; font-size:9px; opacity:.6; margin-left:2px; }


/* ===== QUY TẮC TRÌNH BÀY CHUNG — 28/07/2026 ===== */
/* Tiêu đề bảng luôn căn giữa. Dùng !important vì một số bài cũ có inline
   text-align trên thẻ <th> sẽ đè CSS thường. Ô dữ liệu (td) giữ căn trái. */
.entry-content table th,
.spec-table th { text-align: center !important; }

/* ===== MAU CHU TIEU DE BANG — 30/07/2026 =====
   Giong loi da xu ly ben datrangyenbai.com: 2 trang (/mo-da-trang/,
   /tuong-phat-da-trang/) dat mau tren <tr> chu khong tren <th>:
       <tr style="background:#c87a2a; color:#fff">
   <th> co nen kem rieng tu theme (.entry-content table th{background:var(--cream-2)})
   to DE LEN nen cam cua <tr>, con color:#fff van KE THUA xuong <th>
   => chu trang tren nen kem = khong doc duoc.
   Khong dung !important: de <th> nao co inline color rieng van giu duoc mau cua no. */
.entry-content table th,
.spec-table th { color: var(--ink); }


/* Chú thích ảnh luôn căn giữa — phủ mọi biến thể caption của WordPress:
   [caption] shortcode (.wp-caption-text), block editor (.wp-element-caption), figcaption thuần. */
.wp-caption-text,
.wp-element-caption,
.entry-content figcaption { text-align: center; }

/* ===== 12/08/2026 — hoa van hoa sen (chep tu mockup) + nut noi ===== */

/* .hero PHAI position:relative, neu khong .motif-wash/.motif-corner se neo
   nham vao to tien khac va tran ra ngoai section. Theme dang THIEU thuoc tinh
   nay (mockup co) — day la ly do ky thuat, khong phai chuyen tham my. */
.hero { position:relative; }

svg.motif-defs { position:absolute; width:0; height:0; overflow:hidden; }
.motif-row svg { width:34px; height:34px; color:var(--gold); opacity:.75; }
.motif-wash { position:absolute; inset:0; pointer-events:none; opacity:.05; z-index:1; }
.motif-wash.on-dark { opacity:.08; }
.motif-wash svg { width:100%; height:100%; }
/* 15/08 — owner: "dan van va may full man hinh".
   .motif-corner cu: 1 dam may 120px o goc phai, con lai trong troi.
   Nay 3 dam kich thuoc khac nhau rai deu ca be ngang. Giu opacity thap de
   khong tranh voi chu — day la hoa tiet nen, khong phai hinh minh hoa. */
.hero .motif-may { position:absolute; color:var(--brown); pointer-events:none; z-index:1; }
.hero .motif-may--1 { top:22px;  right:3%;  width:340px; height:340px; opacity:.10; }
.hero .motif-may--2 { top:44%;   left:-40px; width:230px; height:230px; opacity:.07; }
.hero .motif-may--3 { bottom:6%; right:34%; width:170px; height:170px; opacity:.06; }
@media (max-width:900px){
  .hero .motif-may--1 { width:210px; height:210px; right:-20px; }
  .hero .motif-may--2 { width:150px; height:150px; top:auto; bottom:12%; }
  .hero .motif-may--3 { display:none; }
}

/* Nut lien he: vong sang nhap nhay kieu datrangyenbai (plugin button-contact-vr).
   Dung lai bang CSS chu KHONG cai them plugin — them plugin la them dien tan cong
   va them mot thu nua phai nho go khi go-live. */
/* ===== het khoi 12/08/2026 ===== */

/* ===== 12/08/2026 — NUT LIEN HE NOI (viet lai nguyen khoi) ============
   Truoc day CSS nut nay nam rai 4 cho va hai ban va da nhau:
     overflow:hidden (de bo tron anh Zalo) -> CAT MAT vong sang lan ra ngoai
     z-index:-1 (de ne hau qua tren)       -> day vong sang RA SAU nen nut
   => animation van chay ma khong ai nhin thay.
   CHIA KHOA: bo tron ANH bang border-radius tren chinh <img>, thi the <a>
   KHONG CAN overflow:hidden => vong sang tu do lan ra, khong can z-index am.
   🔴 DUNG THEM overflow:hidden vao .sticky-rail a — se tat vong sang lan nua. */

.sticky-rail          { overflow:visible; }
.sticky-rail a        { position:relative; width:56px; height:56px; overflow:visible;
                        box-shadow:0 10px 26px -6px rgba(13,13,13,.45);
                        transition:transform .25s, box-shadow .25s; }
.sticky-rail a:hover  { transform:scale(1.06); box-shadow:0 16px 34px -8px rgba(13,13,13,.55); }

/* Anh Zalo TU bo tron — day la ly do the cha khong can overflow:hidden */
.sticky-rail .zalo img { width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; }

/* Mau vong sang theo tung nut. Zalo GIU xanh thuong hieu #0068FF —
   doi sang xanh la se mat nhan dien Zalo. */
.sticky-rail .zalo    { --pv-ring:#0068FF; }
.sticky-rail .call    { --pv-ring:var(--green); }

/* Vong sang nhap nhay: 2 vong lech pha 1.1s cho ra nhip lien tuc.
   KHONG z-index am — de no ve DE LEN nen nut thi moi nhin thay. */
.sticky-rail a::before,
.sticky-rail a::after { content:""; position:absolute; inset:0; border-radius:50%;
                        border:2px solid var(--pv-ring, #0068FF);
                        animation:pv-ring 2.2s cubic-bezier(.25,.46,.45,.94) infinite;
                        pointer-events:none; }
.sticky-rail a::after { animation-delay:1.1s; }

@keyframes pv-ring {
  0%   { transform:scale(1);    opacity:.7; }
  100% { transform:scale(1.75); opacity:0;  }
}

/* Ton trong nguoi dung bat che do giam chuyen dong */
@media (prefers-reduced-motion: reduce) {
  .sticky-rail a::before, .sticky-rail a::after { animation:none; opacity:0; }
}
/* ===== het khoi nut lien he ===== */

/* ===== 13/08/2026 — BANG XO MENU KIEU MEGA-PANEL (chep tri so tu mockup) =====
   🔴 KHONG phai "y chang mockup". Mockup dung mega-menu 3 CAP CO ANH:
      .mega-banner (anh nen + mo ta rieng tung menu), .mega-l2-thumb (anh 40x40
      moi danh muc), .mega-l3-item (cap 3, tung san pham co anh).
      Da kiem: danh muc KHONG co anh dai dien, theme KHONG co walker tuy chinh,
      menu chi co 2 cap. => Thieu ANH va NOI DUNG, khong phai thieu CSS.
   Khoi nay lam phan LAM DUOC: khung mega-panel + xo NHIEU COT (thay vi 1 cot
   doc dai hon man hinh), lay dung tri so tu mockup. */

nav.nav li > ul.sub-menu {
  background: var(--white, #fff);
  border: 1px solid var(--hair);
  border-radius: 14px;                       /* mockup: .mega-panel 14px */
  box-shadow: 0 40px 80px -30px rgba(13,13,13,.28);   /* mockup */
  padding: 18px 22px;
  /* xo NHIEU COT — thay cho 1 cot doc dai */
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 2px 22px;
  width: max-content;
  max-width: min(760px, calc(100vw - 48px));
  transition: .2s ease;
}
nav.nav li > ul.sub-menu > li { width: auto; }
nav.nav li > ul.sub-menu a {
  font-size: 12px; font-weight: 600; letter-spacing: .02em;
  padding: 9px 10px; border-radius: 8px; white-space: nowrap;
}
nav.nav li > ul.sub-menu a:hover { background: var(--cream-2); color: var(--brown); }

/* dong "Xem tất cả →" — cho chiem tron mot hang va lam noi bat */
nav.nav li > ul.sub-menu > li:first-child { grid-column: 1 / -1; }
nav.nav li > ul.sub-menu > li:first-child > a {
  color: var(--brown); font-weight: 700;
  border-bottom: 1px solid var(--hair-2); border-radius: 8px 8px 0 0;
  margin-bottom: 6px; padding-bottom: 12px;
}
/* ===== het khoi mega-panel ===== */

/* ===== 13/08/2026 — KHOI TIN TUC: ANH 4:3 + TRUOT TU DONG =====
   Anh GOC la 768x576 = DUNG 4:3. Khung .thumb dang aspect-ratio:1/1 (vuong)
   + object-fit:cover => CAT MAT HAI BEN, mat chu logo ("N STONE" thay vi
   "YÊN BÁI STONE"). Doi khung sang 4/3 = khop chinh xac anh goc => het cat.
   ⚠️ CHI doi trong .related-strip-news. KHONG doi .card-product .thumb toan
      site — luat do dung chung cho ca luoi san pham. */
.related-strip-news .card-product .thumb { aspect-ratio: 4/3; }

/* --- truot tu dong: 3s moi the, phai -> trai --- */
@media (min-width: 901px) {
  .related-strip-news.ybs-truot {
    display: block; overflow: hidden; position: relative;
  }
  .related-strip-news.ybs-truot .ybs-ray {
    display: flex; gap: 24px; width: max-content;
    animation: ybs-truot-ngang var(--ybs-thoigian, 12s) linear infinite;
  }
  .related-strip-news.ybs-truot .card-product {
    width: var(--ybs-rong, 278px); flex: 0 0 var(--ybs-rong, 278px);
  }
  /* dung khi ro chuot de nguoi dung doc duoc */
  .related-strip-news.ybs-truot:hover .ybs-ray,
  .related-strip-news.ybs-truot:focus-within .ybs-ray { animation-play-state: paused; }
}
@keyframes ybs-truot-ngang {
  0%,   20%  { transform: translateX(0); }
  25%,  45%  { transform: translateX(calc(-1 * var(--ybs-buoc))); }
  50%,  70%  { transform: translateX(calc(-2 * var(--ybs-buoc))); }
  75%,  95%  { transform: translateX(calc(-3 * var(--ybs-buoc))); }
  100%       { transform: translateX(calc(-4 * var(--ybs-buoc))); }
}
/* Ton trong nguoi dung bat che do giam chuyen dong */
@media (prefers-reduced-motion: reduce) {
  .related-strip-news.ybs-truot .ybs-ray { animation: none; }
}
/* ===== het khoi tin tuc ===== */

/* ===== 14/08/2026 — HERO: MOT KHOI DUY NHAT =====
   Gom 4 ban va nam rai rac truoc day (hero co anh nen · hero anh mo ·
   hero lon hon · min-height 460) lam MOT. Doc mot cho la biet gia tri that.

   🔴 ANH NEN LA ANH BIA BAI VIET, MA ANH BIA TREN SITE NAY THUONG IN SAN CHU.
   Vi vay anh nen LUON duoc lam mo + phu dam, ap cho TOAN SITE (owner chot
   14/08). blur() lam lo vien mo o 4 canh -> scale() phong anh ra ngoai khung;
   .ybs-hero co overflow:hidden nen cat gon phan thua.
   Lop phu: dam ben trai (cho chu) -> nhat ben phai (cho anh lo ra), cong mot
   lop doc lam toi mep tren/duoi. Chu trang tren nen rgba(13,13,13,.95) cho
   tuong phan ~18:1 — vuot xa nguong AA 4.5:1. */

.ybs-hero {
  position:relative; overflow:hidden; background:var(--ink);
  min-height:460px; display:flex; align-items:center; padding:56px 0;
}

.ybs-hero__bg {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0;
  filter:blur(16px) saturate(.78) brightness(.82);
  transform:scale(1.2);
}

.ybs-hero::after {
  content:""; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(90deg, rgba(13,13,13,.95) 0%, rgba(13,13,13,.88) 45%, rgba(13,13,13,.74) 100%),
    linear-gradient(180deg, rgba(13,13,13,.40) 0%, rgba(13,13,13,0) 38%, rgba(13,13,13,.50) 100%);
}

.ybs-hero > .container,
.ybs-hero > .container-narrow { position:relative; z-index:2; width:100%; }

.ybs-hero h1 {
  color:#fff; margin:.55rem 0 0; line-height:1.16;
  font-size:clamp(2rem, 4vw, 3.2rem); letter-spacing:-.01em;
}
.ybs-hero p {
  color:var(--cream-3); margin:.85rem 0 0; max-width:60ch;
  font-size:16px; line-height:1.7;
}
.ybs-hero .breadcrumb,
.ybs-hero .breadcrumb a { color:rgba(255,255,255,.92); }
.ybs-hero .breadcrumb a:hover { color:#fff; }
.ybs-hero .breadcrumb .current { color:#fff; font-weight:600; }

/* dai breadcrumb mong (single / product): giu THAP, khong cao len */
.ybs-hero.ybs-hero--mong { min-height:0; display:block; padding:34px 0 30px; }

/* class --mo cu: nay moi hero da mo san. Giu selector de markup cu khong vo,
   day mo them mot bac cho trang nao co truyen 'mo' => true. */
.ybs-hero--mo .ybs-hero__bg {
  filter:blur(22px) saturate(.72) brightness(.78); transform:scale(1.26);
}

@media (max-width:900px){
  .ybs-hero { min-height:340px; padding:44px 0; }
}
@media (max-width:640px){
  .ybs-hero { min-height:260px; padding:36px 0; }
  .ybs-hero.ybs-hero--mong { min-height:0; padding:24px 0 22px; }
  .ybs-hero h1 { font-size:clamp(1.7rem, 6vw, 2.2rem); }
  /* man hinh nho: blur nhe hon cho do nang may yeu */
  .ybs-hero__bg { filter:blur(11px) saturate(.78) brightness(.82); transform:scale(1.15); }
}
/* ===== het khoi hero ===== */


/* ===== 13/08/2026 — MEGA-MENU (tri so lay tu mockup) =====
   Thay khoi "nav.nav li > ul.sub-menu" them sang nay: markup da doi vi
   Walker tuy chinh. Cac MUC MENU da sap xep van nguyen (chung o CSDL). */
nav.nav li.nav-item { position:relative; }
/* 🔴 VA 13/08: truoc day de position:absolute neo vao <li> nen bang can giua
   theo MUC MENU — muc dau sat trai lam bang tho ra ngoai 330px, muc cuoi lam
   trang CUON NGANG 16px (do duoc: mep phai 1266 tren man 1250).
   Mockup dung position:fixed + left:50% = can giua theo MAN HINH. */
/* 18/08/2026 — `top` doc tu bien thay vi so cung 112px.
   112px la chieu cao header CU. Ha khung menu tu 76px xuong 60px lam header
   thap di 15px => bang mega tach roi khoi header, chuot phai vuot mot khoang
   trong moi toi duoc bang (do duoc: khe 16px tren ban xem thu, se la ~32px
   tren site that vi khong co dai bao "BAN XEM THU" cao 36px).
   Bien `--ybs-panel-top` do JS dat theo day header THUC TE. */
.mega-panel { position:fixed; top:var(--ybs-panel-top, 112px); left:50%;
  transform:translateX(-50%) translateY(8px);
  width:min(1100px, calc(100vw - 48px)); max-width:calc(100vw - 32px);
  background:#fff; border:1px solid var(--hair); border-radius:14px;
  box-shadow:0 40px 80px -30px rgba(13,13,13,.28);
  opacity:0; visibility:hidden; transition:.2s ease; z-index:280; overflow:hidden; }
nav.nav li.nav-item:hover > .mega-panel,
nav.nav li.nav-item:focus-within > .mega-panel {
  opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.mega-inner { display:grid; grid-template-columns:280px 1fr; min-height:320px; }
.mega-banner { position:relative; padding:28px; display:flex; flex-direction:column;
  justify-content:flex-end; color:#fff; }
.mega-banner img { position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0; }
.mega-banner::before { content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(0deg, rgba(13,13,13,.86) 0%, rgba(13,13,13,.30) 60%, rgba(13,13,13,.18) 100%); }
.mega-banner > * { position:relative; z-index:2; }
.mega-banner h4 { color:#fff; font-size:19px; margin:0 0 8px; }
.mega-banner p { font-size:12.5px; color:var(--cream-3); max-width:26ch; margin:0 0 14px; line-height:1.6; }
.mega-banner a { font-size:12.5px; font-weight:700; color:var(--gold-light); }
.mega-body { padding:24px 28px; overflow:auto; max-height:70vh; }
.mega-l2-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:22px 24px; }
.mega-l2 { border-top:1px solid var(--hair-2); padding-top:13px; }
.mega-l2-head { display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.mega-l2-thumb { width:40px; height:40px; border-radius:6px; flex-shrink:0;
  border:1px solid var(--gold-light); object-fit:cover; }
.mega-l2-head a { font-size:13.5px; font-weight:700; color:var(--ink); }
.mega-l3-list { display:grid; grid-template-columns:1fr 1fr; gap:6px 10px; }
.mega-l3-item { display:flex; align-items:center; gap:7px; font-size:12px;
  color:var(--ink-3); padding:3px 0; }
.mega-l3-item:hover { color:var(--brown); }
.mega-l3-thumb { width:26px; height:26px; border-radius:4px; object-fit:cover; flex-shrink:0; }
@media (max-width:1200px){ .mega-panel{ display:none; } }
/* ===== het khoi mega-menu ===== */

/* ===== 13/08/2026 — MENU BAR DAI RA + CAN DEU =====
   Do o 1885px: khung menu 460->1272 (co theo noi dung, flex:0 1 auto),
   cac muc chiem 465->1268 (du 5px). Tu khung den NUT GOI con trong 106px.
   Owner: "dai ra nhu cho toi khoanh do, can deu".
   => cho khung GIAN chiem het cho trong, roi dan deu cac muc ben trong.
   O 1250px: cho con lai ~880px, 7 muc can 803px -> van vua. */
nav.nav { flex:1 1 auto; }
nav.nav > ul {
  display:flex;
  width:100%;
  justify-content:space-between;
  align-items:center;
}
/* muc dau/cuoi khong bi day sat mep khung */
nav.nav > ul > li:first-child { margin-left:2px; }
nav.nav > ul > li:last-child  { margin-right:2px; }
/* ===== het ===== */

/* ===== 13/08/2026 — KHUNG NUT GOI CAO BANG KHUNG MENU =====
   Do duoc: nav.nav cao 56px (top 46, bottom 102), .hotline cao 47px
   (top 50, bottom 97) => chenh 9px, ho deu 4px tren duoi vi bi canh giua.
   KHONG dat so cung 56px: .nav-bar cao 76px, padding doc 10+10 => vung noi
   dung dung bang 56px. Cho .nav-actions keo gian theo cha thi .hotline tu
   bang khung menu, va sau nay doi chieu cao menu no TU THEO. */
.nav-bar > .nav-actions { align-self:stretch; }
.nav-actions { align-items:stretch; }
.nav-actions .hotline { height:100%; box-sizing:border-box; }
/* ===== het ===== */


/* ===== 13/08/2026 — ICON SVG THAY EMOJI o footer =====
   Truoc day dung emoji: ☎ 📍 ✉ va 📘 (QUYEN SACH mau xanh) lam "Facebook".
   Emoji moi he dieu hanh ve mot kieu, khong doi mau theo thuong hieu duoc,
   va trinh doc man hinh doc thanh "sach mau xanh" — vo nghia.
   SVG dung fill:currentColor nen an theo mau chu san co. */
.foot-contact-item .ico { display:inline-flex; align-items:center; justify-content:center;
  width:18px; height:18px; flex-shrink:0; color:var(--gold); }
.foot-contact-item .ico svg { width:100%; height:100%; display:block; }
.foot-fb-ico { display:inline-flex; width:30px; height:30px; color:var(--gold); }
.foot-fb-ico svg { width:100%; height:100%; display:block; }
.foot-bottom .socials a svg { width:16px; height:16px; display:block; }
/* ===== het ===== */

/* ===== 13/08/2026 — KHOI LIEN HE FOOTER: chu NGANG HANG voi icon =====
   Truoc day style.css:203 co ".foot-contact-item { flex-wrap: wrap; }" —
   chinh no cho phep khoi chu ROT XUONG DONG duoi icon khi noi dung dai,
   trong rat xau (owner chi ra). Bo di thi icon va chu nam ngang hang, chu
   tu ngat dong TRONG COT cua no.
   min-width:0 la bat buoc: khong co no, khoi chu trong flex khong chiu co
   lai va se day tran ra ngoai thay vi ngat dong. */
.foot-contact-item { flex-wrap:nowrap !important; align-items:flex-start; }
.foot-contact-item > span:last-child { min-width:0; flex:1 1 auto; line-height:1.65; }
.foot-contact-item .ico { margin-top:3px; }
/* ===== het ===== */

/* ===== 13/08/2026 — ICON SVG o header (thay ☎ va ☰) =====
   ☎ tren Windows ra mau DEN dam, dat trong vong tron vang trong rat tho.
   ☰ bi ve bang font Arial (font chinh khong co ky tu nay) -> lech nhip.
   SVG dung currentColor nen an theo mau san co. */
.hotline-icon svg   { width:17px; height:17px; display:block; }
.hamburger-btn svg  { width:20px; height:20px; display:block; }
/* ===== het ===== */

/* ===== 13/08/2026 — ANH CO CHU THICH TRAN NGANG TREN MOBILE =====
   Do tren /da-my-nghe/tuong-da-trang/ @375px: tran ngang 370px.
   Thu pham: FIGURE.wp-caption rong CUNG 700px — shortcode [caption] cua
   WordPress ghi thang style="width:700px" vao the, khong theo man hinh.
   Loi CO SAN tu truoc, khong phai do dot sua hero/mega-menu.
   Chu thich can GIUA theo chuan da chot 28/07. */
.entry-content figure,
.entry-content .wp-caption { max-width:100% !important; width:auto !important; height:auto; }
.entry-content img { max-width:100%; height:auto; }
.entry-content .wp-caption-text,
.entry-content figcaption { max-width:100%; text-align:center; font-size:13px;
  color:var(--ink-3); line-height:1.6; margin-top:8px; }
/* 18/08/2026 — CAN GIUA BANG.
   Do duoc: khoi bang rong 812px nhung RUOT bang (cac hang) chi rong 531px
   => thua 281px trong tron ben phai, nhin nhu bang dinh le trai.
   Thu `width:fit-content` KHONG an thua: voi `display:block` thi khoi khong
   co lai theo be rong bang ben trong.
   => Tra bang ve `display:table` (be rong tu nhien) roi `margin-inline:auto`.
   ⚠️ `display:block; overflow-x:auto` la ban va 13/08 cho bang dai tren mobile
      — GIU LAI, chi ap o <=640px. */
.entry-content table { display:table; width:auto; max-width:100%;
  margin-left:auto; margin-right:auto; }
@media (max-width:640px){
  .entry-content table { display:block; width:100%; overflow-x:auto; }
}
.entry-content pre { max-width:100%; overflow-x:auto; }
/* ===== het ===== */

/* ===== 13/08/2026 — FOOTER 3 COT CHIA DEU (da xoa cot "Cong ty") =====
   Truoc: grid-template-columns:1.2fr .9fr .9fr 1.3fr (4 cot).
   Nay 3 cot chia deu. Cot logo van rong hon mot chut vi chua mo ta + huy hieu. */
.foot-top { grid-template-columns:1.15fr 1fr 1fr; }
/* thanh duoi: 2 lien ket phu chuyen tu cot "Cong ty" xuong */
.foot-links { display:flex; gap:18px; flex-wrap:wrap; }
.foot-links a { color:var(--cream-3); font-size:12px; }
.foot-links a:hover { color:var(--gold); }
@media (max-width:900px){ .foot-top { grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .foot-top { grid-template-columns:1fr; } }
/* ===== het ===== */

/* ===== 13/08/2026 — TRA LAI PADDING NGANG BI XOA =====
   .container { padding:0 32px } nhung .section { padding:60px 0 } la VIET GOP,
   nen the <div class="container section"> bi XOA SACH padding ngang => noi dung
   cham sat mep container (do duoc: le trai = 0px thay vi 32px).
   Dung padding-inline de chi dat theo TRUC NGANG, khong bi luat gop ghi de. */
.container.section,
.container-narrow.section { padding-inline:32px; }
@media (max-width:640px){
  .container.section,
  .container-narrow.section { padding-inline:18px; }
}
/* khoi mo ta danh muc: bo chan 860px o template, day la phan trinh bay */
.entry-content > p:first-child { margin-top:0; }
/* ===== het ===== */

/* ===== 13/08/2026 — CHIA LAI 3 COT THEO NHU CAU THAT =====
   Do o 1250px: 1.15fr 1fr 1fr -> 396|345|345, gap 50.
     cot logo    THUA 97px (chu dai nhat chi 299)
     cot Lien he THIEU cho (can 317/345) -> so dien thoai va email XUONG 3 DONG
   Chia DEU nghe hop ly nhung sai o day: cot Danh muc toan cum NGAN,
   cot Lien he toan cau DAI. Chia theo nhu cau that:
     1fr 0.75fr 1.6fr  ->  ~332 | ~249 | ~532
   Cot Lien he 532px du cho "Hotline/Zalo: Mr. Khiêm – 0982 610 052" (~278px)
   va "Email: damyngheyenbai.vn@gmail.com" (~230px) nam GON 1 DONG.
   Gap 50 -> 36px de bot khoang trong (owner keu nhieu khoang trang). */
.foot-top { grid-template-columns:1fr .75fr 1.6fr; gap:36px; }
/* khong cho so dien thoai bi ngat giua chung */
.foot-contact-item a[href^="tel:"] { white-space:nowrap; }
/* email dai: cho phep ngat neu that su khong vua, thay vi tran ra */
.foot-contact-item a[href^="mailto:"] { word-break:break-word; }
@media (max-width:900px){ .foot-top { grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:640px){ .foot-top { grid-template-columns:1fr; gap:26px; } }
/* ===== het ===== */

/* ===== 13/08/2026 — SDT VA EMAIL: tra ve INLINE =====
   ".foot-col a, .foot-col p { display:block }" sinh ra cho COT DANH MUC
   (cac muc menu xep chong). Nhung no danh trung the <a> cua SO DIEN THOAI
   va EMAIL trong cot Lien he -> hai cai do thanh KHOI -> bi day xuong dong
   rieng. Dung li do chi 2 muc do xuong dong; 2 muc con lai khong co link.
   Tra ve inline, bo margin-bottom va font-size ma luat kia ap dat. */
.foot-contact-item a {
  display:inline !important;
  margin-bottom:0 !important;
  font-size:inherit !important;
}
.foot-contact-item a[href^="tel:"] { white-space:nowrap; }
/* ===== het ===== */

/* ===== 13/08/2026 — PHAN TRANG =====
   the_posts_pagination() in ra markup MAC DINH cua WordPress ma theme chua
   co CSS nao -> hien thanh "1 2 … 35 Tiếp theo" tran tru nhu chu thuong.
   Thiet ke lai theo bang mau san co cua site. */
.pagination, .navigation.pagination { margin-top:36px; }
.pagination .nav-links,
.navigation .nav-links {
  display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:center;
}
.pagination .screen-reader-text { position:absolute; left:-9999px; }
.page-numbers {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 12px;
  border:1px solid var(--hair); border-radius:10px;
  font-size:13.5px; font-weight:600; color:var(--ink-2);
  background:#fff; transition:.18s ease; text-decoration:none;
}
.page-numbers:hover { border-color:var(--gold); color:var(--brown); }
.page-numbers.current {
  background:var(--brown); border-color:var(--brown); color:#fff; font-weight:700;
}
.page-numbers.dots { border:0; background:transparent; min-width:26px; padding:0; }
.page-numbers.next, .page-numbers.prev { font-weight:700; color:var(--brown); }
.page-numbers.next:hover, .page-numbers.prev:hover { background:var(--cream-2); }
@media (max-width:640px){
  .page-numbers { min-width:38px; height:38px; font-size:13px; padding:0 9px; }
}
/* ===== het ===== */

/* khoi mo ta danh muc: noi bat hon */
.entry-content { font-size:15.5px; line-height:1.8; }
/* ===== het ===== */

/* ===== 13/08/2026 — BANNER TIN MOI NHAT (kieu datrangyenbai) ===== */
.tin-noi-bat { position:relative; overflow:hidden; background:var(--ink);
  padding:72px 0 68px; margin:0 0 8px; }
.tin-noi-bat__bg { position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0; }
.tin-noi-bat::after { content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(13,13,13,.93) 0%, rgba(13,13,13,.84) 46%, rgba(13,13,13,.64) 100%); }
.tin-noi-bat > .container { position:relative; z-index:2; max-width:1360px; }
.tin-noi-bat__nhan { display:inline-block; background:rgba(200,155,60,.22);
  border:1px solid var(--gold-light); color:var(--gold-light);
  font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  padding:6px 14px; border-radius:6px; margin-bottom:18px; }
.tin-noi-bat__tieude { color:#fff; margin:0 0 14px; line-height:1.18;
  font-size:clamp(1.7rem, 3.4vw, 2.7rem); max-width:20ch; }
.tin-noi-bat__mota { color:var(--cream-3); font-size:15px; line-height:1.75;
  max-width:56ch; margin:0 0 26px; }
.tin-noi-bat__o { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:26px; }
.tin-noi-bat__o > div { background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16); border-radius:8px; padding:10px 16px; }
.tin-noi-bat__o strong { display:block; color:#fff; font-size:13px; font-weight:700; }
.tin-noi-bat__o span { display:block; color:var(--cream-3); font-size:11px;
  text-transform:uppercase; letter-spacing:.05em; margin-top:2px; }
.tin-noi-bat__cta { display:flex; gap:12px; flex-wrap:wrap; }
.btn-outline-sang { border:1px solid rgba(255,255,255,.55); color:#fff; background:transparent; }
.btn-outline-sang:hover { background:rgba(255,255,255,.12); border-color:#fff; }
@media (max-width:640px){
  .tin-noi-bat { padding:44px 0 40px; }
  .tin-noi-bat__tieude { max-width:none; }
  .tin-noi-bat__o { gap:8px; }
  .tin-noi-bat__o > div { padding:8px 12px; }
}
/* ===== het ===== */


/* ===== 13/08/2026 — SAN PHAM LIEN QUAN, CHAY NGANG 3 GIAY =====
   Dung lai co che bang truot da dung cho khoi Tin tuc hom nay. */
.sp-lienquan { background:var(--cream-2); border-radius:var(--radius-card);
  padding:1.8rem; margin-top:3rem; overflow:hidden; }
.sp-lienquan__dau { font-size:0.7rem; font-weight:800; text-transform:uppercase;
  letter-spacing:.08em; color:var(--brown); margin-bottom:1.1rem; }
.sp-lienquan__bang { display:flex; gap:18px; }
.sp-lienquan__the { flex:0 0 210px; width:210px; background:#fff;
  border:1px solid var(--hair); border-radius:10px; overflow:hidden;
  text-decoration:none; color:inherit; transition:.2s; }
.sp-lienquan__the:hover { border-color:var(--gold); transform:translateY(-2px); }
.sp-lienquan__anh { display:block; aspect-ratio:4/3; overflow:hidden; }
.sp-lienquan__anh img { width:100%; height:100%; object-fit:cover; display:block; }
.sp-lienquan__ten { display:block; padding:11px 13px; font-size:13px;
  font-weight:600; line-height:1.45; }
.sp-lienquan__dm { margin-top:1.2rem; padding-top:1rem;
  border-top:1px solid var(--hair); font-size:12.5px; color:var(--ink-3); }
.sp-lienquan__dm span { font-weight:700; color:var(--brown); margin-right:6px; }
.sp-lienquan__dm a { color:var(--ink-2); text-decoration:underline; margin-right:12px; }
.sp-lienquan__dm a:hover { color:var(--brown); }

/* --- truot tu dong: 3 giay moi the, phai -> trai --- */
@media (min-width:901px){
  .sp-lienquan.sp-truot .sp-lienquan__bang { width:max-content;
    animation:sp-truot-ngang var(--sp-thoigian,24s) linear infinite; }
  .sp-lienquan.sp-truot:hover .sp-lienquan__bang,
  .sp-lienquan.sp-truot:focus-within .sp-lienquan__bang { animation-play-state:paused; }
}
@keyframes sp-truot-ngang {
  0%,  10.5% { transform:translateX(0); }
  12.5%,23%  { transform:translateX(calc(-1 * var(--sp-buoc))); }
  25%,  35.5%{ transform:translateX(calc(-2 * var(--sp-buoc))); }
  37.5%,48%  { transform:translateX(calc(-3 * var(--sp-buoc))); }
  50%,  60.5%{ transform:translateX(calc(-4 * var(--sp-buoc))); }
  62.5%,73%  { transform:translateX(calc(-5 * var(--sp-buoc))); }
  75%,  85.5%{ transform:translateX(calc(-6 * var(--sp-buoc))); }
  87.5%,98%  { transform:translateX(calc(-7 * var(--sp-buoc))); }
  100%       { transform:translateX(calc(-8 * var(--sp-buoc))); }
}
@media (prefers-reduced-motion: reduce){
  .sp-lienquan.sp-truot .sp-lienquan__bang { animation:none; }
}
@media (max-width:900px){
  .sp-lienquan__bang { overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; padding-bottom:6px; }
  .sp-lienquan__the { scroll-snap-align:start; flex:0 0 76%; width:76%; }
}
/* ===== het ===== */

/* ===== 13/08/2026 — ANH DAI DIEN BI KEO MEO =====
   Do tren /mo-da-trang/: anh goc 1448x1086 (ti le 1.33 NGANG) bi hien thi
   812x1086 (ti le 0.75 DOC) voi object-fit:fill => NEN NGANG 44%, chu va
   hinh trong anh deu bi bop gay.
   Nguyen nhan: the <img> co height="1086" cung, CSS chi dat width:100%
   nen chieu cao khong co lai theo.
   VA: height:auto de trinh duyet TU TINH chieu cao theo ti le goc.
   ⚠️ KHONG dung object-fit:cover — cover CAT bot anh, ma day la anh banner
      CO CHU, cat la mat chu. Dung contain hoac de nguyen luong. */
article img,
article figure img,
.entry-content img,
.single-post img:not(.ybs-hero__bg):not(.mega-l2-thumb):not(.mega-l3-thumb):not(.site-logo) {
  height: auto !important;
  max-width: 100%;
}
/* khung anh dai dien: bo ep chieu cao, cho anh tu quyet */
article > div[style*="border-radius"] > img,
article > figure > img { object-fit: contain; width: 100%; }
/* ===== het ===== */


/* ===== 14/08/2026 — BANNER TIN TUC MOI NHAT (.ybsnews) =====
   Owner gui mau banner va yeu cau lam giong "hinh thuc roi chu".

   Khac .ybs-hero o hai diem co y:
     1. Anh KHONG lam mo — chu nam trong vung phu dam ben trai, anh lo ben
        phai. Vi vay chu in san trong anh bia khong con doi dau voi <h1>.
     2. Chieu cao do NOI DUNG quyet dinh (khong min-height), vi banner nay co
        nhan + h1 + doan trich + 3 o so + 2 nut — dai ngan tuy bai.

   Bang mau NAU cua Yen Bai Stone (--brown), khong bung tong xanh cua site kia.
   Dung lai nut .btn/.btn-gold/.btn-outline-sang co san. */

.ybsnews {
  position:relative; overflow:hidden;
  padding:clamp(2.5rem, 5.5vw, 4.25rem) 0;
  border-bottom:3px solid var(--gold);
  background:
    radial-gradient(1100px 460px at 12% -10%, rgba(200,155,60,.18), transparent 62%),
    linear-gradient(135deg, #14100D 0%, #241811 58%, #3B2110 100%);
}
.ybsnews-media { position:absolute; inset:0; z-index:0; }
.ybsnews-media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

/* dam ben trai (cho chu) -> nhat dan sang phai (de lo anh) */
.ybsnews.has-anh::after {
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, rgba(13,11,9,.94) 0%, rgba(13,11,9,.86) 42%, rgba(13,11,9,.42) 100%);
}
.ybsnews-trong { position:relative; z-index:2; }

.ybsnews-nhan {
  display:inline-block; margin-bottom:.9rem;
  background:rgba(200,155,60,.16); color:var(--gold);
  border:1px solid rgba(200,155,60,.34); border-radius:9999px;
  font-size:12px; font-weight:700; letter-spacing:.11em; text-transform:uppercase;
  padding:.34rem .9rem;
}
.ybsnews-h1 {
  margin:0 0 .85rem; max-width:20ch;
  font-size:clamp(1.85rem, 4.2vw, 2.75rem); font-weight:800;
  color:#fff; letter-spacing:-.03em; line-height:1.12; text-wrap:balance;
}
.ybsnews-feature-title {
  margin:0 0 .75rem; max-width:32ch;
  font-size:clamp(1.15rem, 2.1vw, 1.55rem); font-weight:700;
  color:rgba(255,255,255,.92); line-height:1.3; text-wrap:balance;
}
.ybsnews-sub {
  margin:0; max-width:62ch;
  font-size:clamp(.95rem, 1.15vw, 1.05rem); line-height:1.65;
  color:rgba(255,255,255,.76);
}
.ybsnews-so {
  list-style:none; margin:1.6rem 0 0; padding:0; max-width:780px;
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:.7rem;
}
.ybsnews-so li {
  display:flex; flex-direction:column; gap:.15rem; min-width:0;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15);
  border-radius:.75rem; padding:.7rem .85rem;
}
.ybsnews-so strong { color:#fff; font-size:.92rem; font-weight:800; line-height:1.25; }
.ybsnews-so span   { color:rgba(255,255,255,.6); font-size:12px; letter-spacing:.05em; text-transform:uppercase; }

.ybsnews-cta { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.6rem; }

@media (max-width:820px){
  /* anh nen doc thi lop phu phai doi sang chieu DOC, khong thi chu nam tren
     vung nhat va mat tuong phan */
  /* 15/08: 2 chang .90->.82 lam anh chi con 10-18% do sang — gan nhu khong
     thay anh tren dien thoai. Nay 3 chang: dam o TREN (vung chu) -> nhat han
     o DUOI de anh lo ra. Do sang: 7% tren · 12% giua · 55% duoi. */
  .ybsnews.has-anh::after {
    background:linear-gradient(180deg, rgba(13,11,9,.93) 0%, rgba(13,11,9,.88) 52%, rgba(13,11,9,.45) 100%);
  }
  .ybsnews-h1 { max-width:none; }
}
@media (max-width:560px){
  .ybsnews-so { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:460px){
  .ybsnews-cta > * { width:100%; }
}
/* ===== het banner tin tuc ===== */


/* ===== 15/08/2026 — LUOI AN TOAN FONT =====
   1. Phan tu form KHONG ke thua font tu body theo mac dinh trinh duyet.
      Do duoc 22 the <button>/<svg> dang render bang Arial.
   2. Noi dung dan tu Word/Google Docs luon kem font-family inline. Da don
      15.593 khai bao ngay 15/08, nhung bai MOI dang se lai sinh ra. Luoi nay
      vo hieu hoa chung ngay tai tang CSS — khong phai don tay nua.
      Chi ap trong vung NOI DUNG, khong dung den giao dien theme. */

button, input, select, textarea, optgroup { font: inherit; }

.entry-content [style*="font-family"],
.entry-content [style*="font-Family"],
.term-description [style*="font-family"],
article [style*="font-family"] { font-family: inherit !important; }
/* ===== het luoi an toan font ===== */





/* ===== 15/08/2026 — PHAN MO TA DAY XUONG DUOI LUOI SAN PHAM ===== */
/* 18/08/2026 — DONG BO VOI TRANG BAI VIET.
   Do duoc @1440 truoc khi sua: chu trong khoi nay da rong 860px (do
   `.entry-content` co san max-width) NHUNG the <h2> lai rong 1296px => tieu de
   nam sat le trai con doan van thut vao 218px, nhin nhu hai khoi lech nhau.
   Nay bo ca KHOI ve mot cot doc 860px giong `.container-narrow` cua single.php,
   de tieu de va doan van cung mot le trai. */
.ybs-mota-sau { margin-top:3.5rem; padding-top:2rem; border-top:1px solid var(--hair);
  max-width:860px; margin-left:auto; margin-right:auto; padding-inline:24px; }
/* 24px la de KHOP DUNG bai viet: `.container-narrow` cua single.php co
   `padding:0 24px`, nen chu bai viet rong 812px trong khung 860px. Khong co
   dong nay thi chu o day rong 860 — lech 48px so voi bai viet. */
@media (max-width:640px){
  /* mobile: `.container.section` da co le 18px roi, them nua se hep qua */
  .ybs-mota-sau { padding-inline:0; }
}
.ybs-mota-sau__dau { font-size:clamp(1.25rem,2.2vw,1.6rem); color:var(--brown);
  margin:0 0 1.2rem; letter-spacing:-.01em; }
/* ===== het ===== */


/* ===== 15/08/2026 — BANG ANH SAN PHAM LUOT NGANG =====
   Chieu cao anh CO DINH nen anh doc va anh ngang cao bang nhau — truoc day
   anh 576x1280 nam canh anh 896x490 nen bo cuc nhap nhô.
   ⚠️ max-width:none la BAT BUOC: .entry-content img co max-width:100% o 3 cho
   trong file nay, khong ghi de thi anh bi ep ve chieu rong container. */
.pd-luot {
  display:flex; gap:12px; overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  margin:1.75rem 0; padding-bottom:12px;
  scrollbar-width:thin; scrollbar-color:var(--gold) var(--cream-2);
}
.pd-luot::-webkit-scrollbar { height:8px; }
.pd-luot::-webkit-scrollbar-track { background:var(--cream-2); border-radius:99px; }
.pd-luot::-webkit-scrollbar-thumb { background:var(--gold); border-radius:99px; }
.pd-luot > * { flex:0 0 auto; margin:0; scroll-snap-align:start; }
/* 15/08: `start` chu KHONG `center`. Voi center, vi tri snap lech voi
   offsetLeft nen bang tu chay bi ket: cuon toi 780 thi snap keo ve 646,
   vong sau lai tinh ra 780 — lap vo han o cung mot anh. */
.pd-luot img {
  /* !important la BAT BUOC o day: dong 877 co `.entry-content img { height:auto
     !important }` (tu dot va anh meo truoc) — khong doi trong thi anh roi ve
     thuoc tinh HTML height="490"/"1280", bang luot lai cao thap lech nhau. */
  height:420px !important; width:auto; max-width:none; object-fit:cover; display:block;
  border-radius:var(--radius-frame); background:var(--cream-2);
}
@media (max-width:900px){ .pd-luot img { height:320px !important; } }
@media (max-width:640px){ .pd-luot img { height:240px !important; } .pd-luot { gap:8px; } }
/* ===== het bang anh luot ===== */


/* ===== 15/08/2026 — banner .ybsnews dung cho CA trang danh muc / trang tinh ===== */
.ybsnews-media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.ybsnews { min-height:340px; display:flex; align-items:center; }
.ybsnews-trong { width:100%; }
/* khong co anh -> nen gradient thuong hieu, KHONG de den phang */
.ybsnews:not(.has-anh) {
  background:
    radial-gradient(70% 60% at 8% 0%, rgba(200,155,60,.20), transparent 60%),
    linear-gradient(135deg, #14100D 0%, #241811 55%, #3B2110 100%);
}
@media (max-width:900px){ .ybsnews { min-height:280px; } }
/* ===== het ===== */


/* ===== 18/08/2026 — CAN CHU NOI DUNG TOAN SITE =====
   Owner: "noi dung can trai va deu chu 2 ben, anh va note thi can giua".
   ⚠️ KHONG dung `.entry-content * { text-align:justify }`: se de len 3 quy tac
   da chot 28/07 (th can GIUA, td can TRAI, caption can GIUA). Liet ke tung the. */
.entry-content p,
.entry-content li,
.term-description p,
.term-description li { text-align:justify; text-justify:inter-word; hyphens:none; }

/* tieu de luon can trai — justify tren mot dong ngan trong rat xau */
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 { text-align:left; }

/* anh dung mot minh trong <p> va moi <figure> -> can giua.
   ⚠️ TRU .pd-luot (bang anh luot ngang): o do the la flex:0 0 auto, dat
   margin:auto se pha bo cuc va anh dang height:420px cua no. */
.entry-content > p > img:only-child,
.entry-content > p > a:only-child > img:only-child {
  display:block; margin-left:auto; margin-right:auto; }
.entry-content figure:not(.pd-luot):not(.pd-luot figure) {
  margin-left:auto; margin-right:auto; text-align:center; }
/* 🔴 text-align:center o tren KHONG du: do duoc tren
   /tuong-di-lac-da-xanh-ngoc-yen-bai/, the <img> trong figure dang
   `display:block` nen text-align khong dieu khien duoc no — anh 600px nam
   sat le trai trong figure rong 1296px. Phai can bang margin auto.
   Figure bi ep width:auto (dong 691) nen chinh figure khong con om lay anh. */
.entry-content figure:not(.pd-luot) > img,
.entry-content figure:not(.pd-luot) > a > img {
  margin-left:auto; margin-right:auto; }
.entry-content .pd-luot > *, .entry-content .pd-luot img { margin-left:0; margin-right:0; }
/* chu thich anh: giu can GIUA nhu da chot 28/07, khong bi justify keo ra */
.entry-content figcaption,
.entry-content .wp-caption-text,
.entry-content .wp-element-caption { text-align:center; }
/* ===== het ===== */


/* ===== 18/08/2026 — KHOI TOM TAT DANH MUC (answer-first) =====
   Do duoc truoc khi sua @1440px: hop rong 1296px nhung chu ben trong chi 860px
   va bi `margin:0 auto` cua `.entry-content` (dong 243) keo vao giua
   => trong 219,5px moi ben, vach nau ben trai cach chu 219px. Do la cai
   "chong chenh" trong anh owner gui. Chi sua TRINH BAY, khong dong mot chu nao. */
.ybs-mota-dau {
  background:var(--cream-2);
  border-left:3px solid var(--brown);
  border-radius:0 var(--radius-frame) var(--radius-frame) 0;
  padding:1.4rem 1.6rem;
  margin-bottom:2.5rem;
}
.ybs-mota-dau .entry-content { max-width:none; margin:0; }
/* cau tra loi nhanh (cau dau) doc ro hon phan con lai */
.ybs-mota-dau .entry-content > p:first-child {
  font-size:17px; font-weight:600; color:var(--ink); line-height:1.7; }
.ybs-mota-dau .entry-content > *:last-child { margin-bottom:0; }
.ybs-mota-dau .entry-content h2 { font-size:1.15rem; margin-top:1.3rem; }
@media (max-width:640px){
  .ybs-mota-dau { padding:1rem 1.1rem; margin-bottom:1.8rem; }
  .ybs-mota-dau .entry-content > p:first-child { font-size:15.5px; }
}
/* ===== het ===== */


/* ===== 18/08/2026 — DAI DANH MUC CON CHAY NGANG (toi da 8 o) =====
   Khoi nay tung bi xoa 15/08 (the anh cao 580px, qua nang). Owner yeu cau lai
   duoi dang dai chay ngang. Dung LAI dung co che cua .sp-lienquan:
   @keyframes sp-truot-ngang + bien --sp-buoc/--sp-thoigian do JS dat.
   Loi SEO: lay lai toi 8 internal link tren moi trang danh muc cha. */
/* 18/08/2026 — DOI KIEU: THE ANH TO -> DAY NUT CHU GON.
   🔴 VI SAO: the anh 4/3 cua dai danh muc con TRUNG ANH va TRUNG TEN voi luoi
   san pham ngay ben duoi — anh danh muc con lay tu san pham DAU TIEN cua chinh
   danh muc do. Owner nhin ra hai khoi giong het nhau, tuong bi lap.
   Nay: anh tron 34px + mot dong chu => nhin la biet thanh DIEU HUONG, khong
   the nham voi HANG. Van giu du internal link toi danh muc con.
   ⚠️ Be rong CO DINH 220px la bat buoc: JS tinh buoc truot bang be rong the
   DAU TIEN; de `width:auto` thi cac the rong khac nhau, truot se lech dan. */
.dm-con { margin:0 0 2rem; overflow:hidden; }
.dm-con__dau { font-size:0.7rem; font-weight:800; text-transform:uppercase;
  letter-spacing:.08em; color:var(--brown); margin-bottom:0.75rem; }
.dm-con__bang { display:flex; gap:18px; }
.dm-con__the {
  flex:0 0 220px; width:220px; box-sizing:border-box;
  display:flex; align-items:center; gap:10px;
  padding:7px 16px 7px 7px;
  background:var(--cream-2); border:1px solid var(--hair); border-radius:999px;
  text-decoration:none; color:inherit; transition:.2s;
}
.dm-con__the:hover { background:#fff; border-color:var(--gold); }
.dm-con__anh { flex:0 0 34px; width:34px; height:34px; border-radius:50%;
  overflow:hidden; background:var(--cream-3); }
.dm-con__anh img { width:100%; height:100%; object-fit:cover; display:block; }
.dm-con__ten { font-size:13px; font-weight:600; line-height:1.3;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:1; }
/* so mau: gop vao mot dong, chu nho mo — khong chiem them chieu cao */
.dm-con__so { font-size:11px; color:var(--ink-3); white-space:nowrap; }
@media (min-width:901px){
  .dm-con.sp-truot .dm-con__bang { width:max-content;
    animation-duration:var(--sp-thoigian,24s); animation-timing-function:linear;
    animation-iteration-count:infinite; }
  .dm-con.sp-truot:hover .dm-con__bang,
  .dm-con.sp-truot:focus-within .dm-con__bang { animation-play-state:paused; }
}
@media (prefers-reduced-motion: reduce){
  .dm-con.sp-truot .dm-con__bang { animation:none; }
}
@media (max-width:900px){
  .dm-con__bang { overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; padding-bottom:6px; scrollbar-width:none; }
  .dm-con__bang::-webkit-scrollbar { display:none; }
  .dm-con__the { scroll-snap-align:start; }
}
/* ===== het ===== */


/* ===== 18/08/2026 — THE SAN PHAM CAO BANG NHAU =====
   Do duoc: ten dai 2 dong (52px) lam ca HANG cao 311px, hang khac 286px —
   nhin so le. Chot cho ten luon chiem dung 2 dong. */
.product-card .name {
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; min-height:2.6em; line-height:1.3;
}
/* o anh khi bai KHONG co anh nao: ve chu thuong hieu, khong de trang troi */
.product-card .img-wrap--trong {
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:0 1rem; box-sizing:border-box;
  background:
    radial-gradient(70% 60% at 20% 0%, rgba(200,155,60,.18), transparent 60%),
    linear-gradient(135deg, #14100D 0%, #241811 55%, #3B2110 100%);
}
.product-card .img-wrap--trong span {
  color:var(--cream-3); font-size:13px; font-weight:600; line-height:1.45;
}
/* ===== het ===== */


/* ===== 18/08/2026 — HAI KHOI TREN HEADER CAO BANG NHAU =====
   Do @1440 truoc khi sua: khung menu cao **56px** (do `nav.nav{height:56px}`
   dat cung), khung hotline cao **76px** (do noi dung: icon 34px + 2 dong chu
   + dem 6px). Lech 20px nen nhin so le.

   Chon 76px chu khong phai 56px: `.nav-bar` von da cao 96px vi khoi hotline,
   nen keo menu len 76px KHONG lam header cao them mot pixel nao — chi lap
   day cho san co. Ha hotline xuong 56px thi phai bop 2 dong chu so dien thoai.

   Chi ap tu 1241px: <=1240px hotline thu thanh nut tron 44px, <=1200px menu
   an han nhuong cho nut 3 gach — hai che do do co bo cuc rieng, dung dong. */
@media (min-width:1241px){
  /* 18/08/2026 (lan 2) — owner: hai khung phai CAN DOI VOI LOGO.
     Do duoc o buoc truoc: logo cao 50px (top 59, duoi 109) trong khi hai khung
     cao 76px (top 46, duoi 122) => khung thua 13px moi ben, nhin nang tren.
     Ha xuong 60px: khung chi con thua 5px moi ben so voi logo.
     Kiem cho vua: hotline can max(icon 34px, 2 dong chu ~33px) + dem 12px
     = 46px => 60px van du cho, khong bop chu. */
  .nav-bar { --ybs-cao-thanh:60px; }
  .nav-bar nav.nav { height:var(--ybs-cao-thanh); box-sizing:border-box; }
  .nav-bar .hotline { min-height:var(--ybs-cao-thanh); box-sizing:border-box; }
}
/* 🔴 18/08/2026 — LOI CO SAN, phat hien khi do lai o 375px:
   dong 647 `.nav-actions .hotline { height:100% }` (them 12/08) DE LEN
   `.hotline{width:44px;height:44px}` cua @media <=1240px — do thang ve do dac
   hieu (2 lop class > 1 lop). Ket qua: tren dien thoai nut goi la mot vien
   thuoc 44x76 thay vi hinh TRON 44x44.
   Do duoc @375: w=44px nhung h=76px.
   Chi cho `height:100%` song o >=1241px, dung nguyen y do ban va 12/08. */
@media (max-width:1240px){
  .nav-actions .hotline { height:44px; }
}

/* 21/08/2026 — khung so dien thoai tren DIEN THOAI THAT (<=560px, khong phai
   tablet). Owner: doi nut tron vang chi co icon thanh khung hien SO DIEN
   THOAI luon. <=1240px da thu .hotline ve hinh tron 44px + an .hotline-text
   (o tren) — day GHI DE rieng cho pham vi dien thoai, dat SAU CUNG trong file
   de thang ve thu tu nguon (cung do dac hieu 1 lop .hotline-text). */
@media (max-width:560px) {
  .hotline { width:auto; border-radius:12px; padding:0 12px 0 8px; gap:6px; }
  .hotline-icon { width:26px; height:26px; }
  .hotline-icon svg { width:14px; height:14px; }
  .hotline-text { display:flex !important; }
  .hotline-text > span:first-child { display:none; }
  .hotline-text strong { font-size:13.5px; white-space:nowrap; }
}

/* 21/08/2026 — 3 pill footer (Da tu nhien 100% / Che tac thu cong / Giao
   hang toan quoc) dang 2+1 xuong dong tren dien thoai (do: container 320px,
   tong 3 the + khoang cach can ~396px). Owner: gon lai dung 1 hang, KHONG
   dong logo/mo ta/4 dong lien he canh do. */
@media (max-width:560px) {
  .foot-badges { flex-wrap:nowrap; gap:6px; }
  .foot-badge { font-size:9.5px; padding:5px 7px; white-space:nowrap; flex:1 1 0; justify-content:center; }
}

/* 21/08/2026 — nen gon ca khoi footer-top tren dien thoai (owner: "toi uu
   cho ngan gon truc quan hon, dang bi qua dai"). Chi giam padding/margin/
   kich thuoc — KHONG cat bot chu, khong doi thu tu, giu du 4 dong lien he. */
@media (max-width:560px) {
  .logo-badge { padding:12px 16px; margin-bottom:10px; }
  .logo-badge img { height:48px; }
  .foot-desc { font-size:12.5px; max-width:none; margin:0 0 10px; line-height:1.5; }
  .foot-top { gap:16px; padding-bottom:18px; }
  .foot-col h5 { margin-bottom:10px; }
  .foot-contact-item { margin-bottom:9px; }
}
/* ===== het ===== */


/* ===== 18/08/2026 — THONG NHAT MAU CHU TRONG BAI =====
   Owner chot: MOI TIEU DE mau nau dam, DOAN VAN mau den.
   Truoc do trong bai co 3 mau lan lon (do duoc tren /mo-da-trang/):
     H2 = #793717 (nau) · H3 = #0D0D0D (den) · doan van = #2E2A26 (xam dam).

   ⚠️ CHI ap trong `.entry-content`. KHONG dung toi:
     - `.ybsnews-h1` (H1 tren banner anh toi) — phai giu TRANG moi doc duoc;
     - `th` — da chot 30/07 dung `var(--ink)` vi mot so bang co nen cam. */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 { color:var(--brown); }

.entry-content p,
.entry-content li,
.entry-content td,
.entry-content blockquote { color:var(--ink); }
/* ===== het ===== */


/* ===== 18/08/2026 — DAI TIN TUC TRANG CHU: da co san, chi chinh NHIP =====
   Kiem lai truoc khi viet them: khoi nay DA co bang truot tu dong tu 13/08
   (functions.php:63 sinh `.ybs-ray` + CSS `.related-strip-news.ybs-truot`),
   chay 3 giay/the, chi ap >=901px. Duoi 901px la `.mobile-carousel`.
   => KHONG can luat luoi 2 cot cho tablet: o 901–1200px `.ybs-truot` da dat
      `display:block` nen moi `grid-template-columns` deu vo nghia (da thu, do
      duoc: dat repeat(2,1fr) ma the van rong 3856px vi dang la ray truot).
   Viec DUY NHAT can sua cho dien thoai: js/carousel.js tu 4s -> 3s (da lam),
   cho khop nhip voi ban desktop.
   ⚠️ Keyframe `ybs-truot-ngang` dich CUNG 4 buoc — dung vi truy van lay dung
      4 bai. Doi so bai thi phai sua keyframe, khong thi se giat mot the. */

/* 19/08/2026 — Khối answer-first lấy từ chính đoạn mở đầu riêng của từng bài. */
.entry-content > .tra-loi-nhanh,
.post-content > .tra-loi-nhanh,
.tra-loi-nhanh {
  margin: 0 0 28px;
  padding: 18px 20px;
  border-left: 4px solid #B28A3B;
  border-radius: 0 8px 8px 0;
  background: #F8F3EA;
  color: #0D0D0D;
}
.tra-loi-nhanh p { margin: 0; color: #0D0D0D; }
.tra-loi-nhanh strong { color: #793717; }

/* 28/08/2026 — mobile menu nhiều cấp + tap target/contrast QA. */
.mobile-submenu-toggle { display:none; }
.btn-zalo { background:#147A35; border-color:#0F642C; }
.btn-zalo:hover { background:#0F642C; }
.hero-badge .dot { color:var(--brown-dk); }

@media (max-width:1200px) {
  .hamburger-btn { width:48px; height:48px; min-width:48px; min-height:48px; }
  .nav-actions .hotline { min-height:48px; height:48px; }
  nav.nav.mobile-open li.nav-item {
    display:grid; grid-template-columns:minmax(0,1fr) 48px; width:100%;
    border-bottom:1px solid var(--hair-2);
  }
  nav.nav.mobile-open li.nav-item > a {
    min-height:48px; display:flex; align-items:center;
  }
  nav.nav.mobile-open .mobile-submenu-toggle {
    display:flex; width:48px; height:48px; border:0; border-left:1px solid var(--hair-2);
    background:transparent; align-items:center; justify-content:center;
    color:var(--brown); font-size:20px; cursor:pointer;
  }
  nav.nav.mobile-open .mobile-submenu-toggle[aria-expanded="true"] span { transform:rotate(180deg); }
  nav.nav.mobile-open .mega-panel {
    display:none; position:static; grid-column:1 / -1; width:100%; max-width:none;
    opacity:1; visibility:visible; transform:none; border:0; border-radius:0;
    box-shadow:none; background:var(--cream-2);
  }
  nav.nav.mobile-open li.mobile-submenu-open > .mega-panel { display:block; }
  nav.nav.mobile-open .mega-inner { display:block; min-height:0; }
  nav.nav.mobile-open .mega-banner { display:none; }
  nav.nav.mobile-open .mega-body { padding:12px 16px 18px; max-height:none; overflow:visible; }
  nav.nav.mobile-open .mega-l2-grid { grid-template-columns:1fr; gap:12px; }
  nav.nav.mobile-open .mega-l2 { padding-top:10px; }
  nav.nav.mobile-open .mega-l2-head { min-height:48px; margin:0; }
  nav.nav.mobile-open .mega-l2-head a { min-height:48px; display:flex; align-items:center; }
  nav.nav.mobile-open .mega-l3-list { grid-template-columns:1fr; gap:0; }
  nav.nav.mobile-open .mega-l3-item { min-height:48px; padding:10px 0; }
}

/* 03/09/2026: keep after the legacy carousel rules so the 24px mobile
   interaction target is not collapsed back to the 8px visual dot. */
@media (max-width: 900px) {
  .carousel-dots button {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    background: transparent;
  }
  .carousel-dots button::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(0,0,0,.15);
    transition: .2s;
  }
  .carousel-dots button.active {
    width: 24px;
    background: transparent;
  }
  .carousel-dots button.active::before {
    width: 20px;
    border-radius: 4px;
    background: var(--brown);
  }
}
