/*
Theme Name: Nhật Nam
Theme URI: https://detnhuomnhatnam.com
Author: WebSEO
Description: Giao diện riêng cho Shop Dệt Nhuộm Nhật Nam — giới thiệu và bán sỉ lẻ vải các loại.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.0
License: GPLv2 or later
Text Domain: nhatnam
*/

:root{
  --cham:#16263f;
  --cham-dam:#0e1a2c;
  --vang:#c8a55b;
  --vang-nhat:#e8d5a8;
  --kem:#faf7f2;
  --than:#2b2b2b;
  --xam:#6b7280;
  --vien:#e6e1d8;
  --do:#9d2235;
  --zalo:#0068ff;
  --bong:0 10px 30px rgba(22,38,63,.10);
  --bong-sau:0 20px 50px rgba(22,38,63,.16);
  --r:14px;
  --khung:1400px;      /* bề ngang tối đa của toàn site */
  --canh:340px;        /* cột phụ: 9:3 so với cột nội dung */
  --dem:24px;          /* lề trái phải của khung */
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--kem);color:var(--than);
  font-family:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:16.5px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
a{color:var(--cham);text-decoration:none}
a:hover{color:var(--vang)}
h1,h2,h3,h4{font-family:"Playfair Display",Georgia,"Times New Roman",serif;color:var(--cham);
  line-height:1.22;margin:0 0 .6em;font-weight:700}
h1{font-size:clamp(1.85rem,4.4vw,3.2rem)}
h2{font-size:clamp(1.5rem,3vw,2.4rem)}
h3{font-size:clamp(1.08rem,1.6vw,1.26rem)}
p{margin:0 0 1.05em}
:target{scroll-margin-top:110px}
.khung{max-width:var(--khung);margin:0 auto;padding:0 var(--dem)}
.hep{max-width:900px}
.giua{text-align:center}

/* ---------- nut ---------- */
.nut{display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  padding:.85em 1.65em;border-radius:999px;min-height:46px;
  font-weight:600;font-size:.98rem;border:1.5px solid transparent;cursor:pointer;transition:.18s ease;
  line-height:1.2;text-align:center}
.nut-chinh{background:var(--cham);color:#fff}
.nut-chinh:hover{background:var(--cham-dam);color:#fff;transform:translateY(-2px);box-shadow:var(--bong)}
.nut-vang{background:var(--vang);color:#20180a}
.nut-vang:hover{background:#b8933f;color:#20180a;transform:translateY(-2px);box-shadow:var(--bong)}
.nut-vien{border-color:var(--cham);color:var(--cham);background:transparent}
.nut-vien:hover{background:var(--cham);color:#fff}
.nut-trang{background:#fff;color:var(--cham)}
.nut-trang:hover{background:var(--vang-nhat);color:var(--cham-dam)}

/* ---------- dau trang ---------- */
.thanh-tren{background:var(--cham-dam);color:#cfd8e6;font-size:.86rem}
.thanh-tren .khung{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;justify-content:space-between;
  align-items:center;padding-top:.5rem;padding-bottom:.5rem}
.thanh-tren a{color:var(--vang-nhat)}
.thanh-tren a:hover{color:#fff}
.dau-trang{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);
  backdrop-filter:saturate(1.6) blur(8px);border-bottom:1px solid var(--vien)}
.dau-trang .khung{display:flex;align-items:center;gap:1.2rem;min-height:78px}
.hieu{display:flex;align-items:center;gap:.7rem;flex:0 0 auto}
.hieu-dau{width:46px;height:46px;border-radius:50%;background:var(--cham);color:var(--vang);
  display:grid;place-items:center;font-family:"Playfair Display",serif;font-weight:700;font-size:1.15rem;
  border:2px solid var(--vang);flex:0 0 auto}
.hieu-ten{font-family:"Playfair Display",serif;font-weight:700;font-size:1.16rem;color:var(--cham);
  letter-spacing:.02em;line-height:1.15;display:block}
.hieu-phu{display:block;font-family:"Be Vietnam Pro",sans-serif;font-size:.68rem;letter-spacing:.2em;
  color:var(--vang);font-weight:600;text-transform:uppercase}
.dieu-huong{margin-left:auto}
.dieu-huong ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0;align-items:center}
.dieu-huong a{display:block;padding:.55em .8em;border-radius:8px;font-weight:600;font-size:.95rem;
  color:var(--than);white-space:nowrap}
.dieu-huong a:hover,.dieu-huong .current-menu-item>a{background:var(--kem);color:var(--cham)}
.dieu-huong .menu-item-has-children{position:relative}
.dieu-huong .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:230px;background:#fff;
  border:1px solid var(--vien);border-radius:12px;box-shadow:var(--bong);padding:.4rem;flex-direction:column}
.dieu-huong .menu-item-has-children:hover .sub-menu{display:flex}
.goi-nhanh{flex:0 0 auto}
.mo-menu{display:none;background:none;border:1.5px solid var(--vien);border-radius:12px;
  width:46px;height:46px;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--cham);
  align-items:center;justify-content:center}

/* ---------- hero ---------- */
.hero{position:relative;color:#fff;isolation:isolate;min-height:clamp(440px,62vh,660px);
  display:flex;align-items:center;padding:3rem 0}
.hero-anh{position:absolute;inset:0;z-index:-2;object-fit:cover;width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(14,26,44,.94) 0%,rgba(14,26,44,.80) 45%,rgba(14,26,44,.38) 100%)}
.hero h1{color:#fff;margin-bottom:.35em}
.hero .nhan{display:inline-block;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--vang);font-weight:700;margin-bottom:1rem;border:1px solid rgba(200,165,91,.5);
  padding:.4em 1em;border-radius:999px}
.hero p.mo-ta{font-size:clamp(1rem,1.3vw,1.14rem);color:#e7ecf4;max-width:660px}
.hero-nut{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.hero-so{display:flex;flex-wrap:wrap;gap:1.4rem 2.6rem;margin-top:2.4rem;padding-top:1.6rem;
  border-top:1px solid rgba(255,255,255,.18)}
.hero-so b{display:block;font-family:"Playfair Display",serif;font-size:1.4rem;color:var(--vang)}
.hero-so span{font-size:.9rem;color:#cbd5e5}

/* ---------- khoi chung ---------- */
.khoi{padding:clamp(2.6rem,6vw,5.4rem) 0}
.khoi-kem{background:var(--kem)}
.khoi-trang{background:#fff}
.khoi-cham{background:var(--cham);color:#dfe6f0}
.khoi-cham h2,.khoi-cham h3{color:#fff}
.tua{max-width:760px;margin-bottom:clamp(1.8rem,3vw,2.8rem)}
.tua.giua{margin-left:auto;margin-right:auto}
.tua .nhan{display:block;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--vang);font-weight:700;margin-bottom:.7rem}
.tua p{color:var(--xam);margin:0}
.khoi-cham .tua p{color:#b9c6da}

/* ---------- luoi ---------- */
.luoi{display:grid;gap:clamp(1rem,1.6vw,1.7rem)}
.luoi-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.luoi-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.the-sp{background:#fff;border:1px solid var(--vien);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;transition:.2s ease}
.the-sp:hover{transform:translateY(-5px);box-shadow:var(--bong-sau);border-color:var(--vang)}
.the-sp .anh{aspect-ratio:4/5;overflow:hidden;background:#eee}
.the-sp .anh img{width:100%;height:100%;object-fit:cover;transition:.5s ease}
.the-sp:hover .anh img{transform:scale(1.06)}
.the-sp .noi{padding:1.15rem 1.25rem 1.35rem}
.the-sp h3{margin-bottom:.35em}
.the-sp p{color:var(--xam);font-size:.94rem;margin-bottom:.9em}
.the-sp .xem{font-weight:600;font-size:.92rem;color:var(--cham);display:inline-flex;gap:.35em;align-items:center}
.the-sp:hover .xem{color:var(--vang)}

/* ---------- loi the ---------- */
.the-loi{background:#fff;border:1px solid var(--vien);border-radius:var(--r);padding:1.7rem 1.5rem}
.the-loi .bieu{width:48px;height:48px;border-radius:12px;background:var(--kem);color:var(--cham);
  display:grid;place-items:center;margin-bottom:1rem;border:1px solid var(--vien)}
.the-loi .bieu svg{display:block}
.the-loi h3{margin-bottom:.4em}
.the-loi p{color:var(--xam);font-size:.94rem;margin:0}

/* ---------- quy trinh ---------- */
.buoc{counter-reset:b;display:grid;gap:1.4rem;grid-template-columns:repeat(4,minmax(0,1fr))}
.buoc>div{position:relative;padding:1.6rem 1.4rem 1.4rem;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);border-radius:var(--r)}
.buoc>div::before{counter-increment:b;content:counter(b,decimal-leading-zero);
  font-family:"Playfair Display",serif;font-size:1.8rem;color:var(--vang);display:block;margin-bottom:.3rem}
.buoc h3{margin-bottom:.3em}
.buoc p{font-size:.93rem;color:#b9c6da;margin:0}

/* ---------- thu vien ---------- */
.thu-vien{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}
.thu-vien a{display:block;border-radius:10px;overflow:hidden;aspect-ratio:3/4;background:#eee}
.thu-vien img{width:100%;height:100%;object-fit:cover;transition:.4s}
.thu-vien a:hover img{transform:scale(1.07)}

/* ---------- dai goi ---------- */
.dai-goi{background:linear-gradient(120deg,var(--cham) 0%,#243c62 100%);color:#fff;border-radius:var(--r);
  padding:clamp(1.6rem,3.4vw,3rem);display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;
  justify-content:space-between}
.dai-goi h2{color:#fff;margin:0 0 .3em}
.dai-goi p{margin:0;color:#cbd5e5}
.dai-goi .nut-nhom{display:flex;gap:.8rem;flex-wrap:wrap}

/* ---------- trang / bai viet ---------- */
.trang-dau{background:var(--cham);color:#fff;padding:clamp(2.2rem,5vw,4rem) 0 clamp(1.9rem,4vw,3rem)}
.trang-dau h1{color:#fff;margin-bottom:.25em}
.trang-dau .duong{font-size:.9rem;color:#b9c6da}
.trang-dau .duong a{color:var(--vang-nhat)}

/* cot noi dung 9 - cot phu 3 */
.hai-cot{display:grid;gap:clamp(1.5rem,2.4vw,2.4rem);
  grid-template-columns:minmax(0,1fr) var(--canh);align-items:start}
.noi-dung{background:#fff;border:1px solid var(--vien);border-radius:var(--r);
  padding:clamp(1.3rem,3vw,3.2rem);font-size:1.02rem}
.noi-dung h2{margin-top:1.7em;font-size:clamp(1.35rem,2.1vw,1.85rem)}
.noi-dung h2:first-child{margin-top:0}
.noi-dung ul,.noi-dung ol{padding-left:1.3em}
.noi-dung li{margin-bottom:.45em}
.noi-dung table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.97rem}
.noi-dung th,.noi-dung td{border:1px solid var(--vien);padding:.7em .85em;text-align:left;vertical-align:top}
.noi-dung th{background:var(--kem);color:var(--cham);font-weight:600;width:26%}
.noi-dung blockquote{margin:1.4em 0;padding:1.1em 1.4em;background:var(--kem);border-left:4px solid var(--vang);
  border-radius:0 10px 10px 0}
.noi-dung blockquote p:last-child{margin-bottom:0}
.noi-dung img{border-radius:10px;margin:1em 0}
.noi-dung img.wp-post-image{width:100%;max-height:560px;object-fit:cover;margin-top:0}
.noi-dung .gallery{display:grid;gap:.9rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:1.6em 0;max-width:none}
.noi-dung .gallery-item{margin:0;width:auto!important}
.noi-dung .gallery img{margin:0;border:0!important;aspect-ratio:3/4;object-fit:cover;width:100%}

.canh{position:sticky;top:100px;display:grid;gap:1.1rem}
.hop{background:#fff;border:1px solid var(--vien);border-radius:var(--r);padding:1.4rem}
.hop h3{font-size:1.06rem;margin-bottom:.7em}
.hop ul{list-style:none;margin:0;padding:0}
.hop li{border-bottom:1px dashed var(--vien);padding:.5em 0}
.hop li:last-child{border-bottom:0}
.hop-goi{background:var(--cham);color:#dbe3ef}
.hop-goi h3{color:#fff}
.hop-goi .so{font-family:"Playfair Display",serif;font-size:1.6rem;color:var(--vang);display:block;margin:.2em 0 .5em}
.hop-goi .nut{width:100%}

/* ---------- thong so vai ---------- */
.thong-so{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:1.6rem 0;max-width:none}
.thong-so div{background:var(--kem);border:1px solid var(--vien);border-radius:10px;padding:.9rem 1.1rem}
.thong-so b{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--vang);
  font-weight:700;margin-bottom:.15rem}
.thong-so span{color:var(--than);font-size:.97rem}

/* ---------- bieu mau ---------- */
.mau{max-width:720px}
.mau input,.mau textarea,.mau select{width:100%;padding:.8em 1em;border:1px solid var(--vien);border-radius:10px;
  font:inherit;font-size:16px;background:#fff;color:var(--than);margin-bottom:.9rem;min-height:48px}
.mau input:focus,.mau textarea:focus,.mau select:focus{outline:2px solid var(--vang);outline-offset:1px;border-color:var(--vang)}
.mau label{display:block;font-weight:600;font-size:.92rem;margin-bottom:.35rem;color:var(--cham)}
.mau textarea{min-height:140px;resize:vertical}
.bao{padding:.9em 1.1em;border-radius:10px;margin-bottom:1.2rem;font-size:.95rem}
.bao-ok{background:#e8f6ee;border:1px solid #b7e0c8;color:#1c6b3f}
.bao-loi{background:#fdeceb;border:1px solid #f4c2be;color:#96271f}
.an{position:absolute;left:-9999px}

/* ---------- chan trang ---------- */
.chan{background:var(--cham-dam);color:#a8b6ca;padding:3.2rem 0 0;font-size:.95rem}
.chan h3{color:#fff;font-size:1.05rem;margin-bottom:.9em}
.chan a{color:#cdd8e8}
.chan a:hover{color:var(--vang)}
.chan-luoi{display:grid;gap:2rem;grid-template-columns:1.25fr .8fr .8fr 1.15fr}
.chan ul{list-style:none;margin:0;padding:0}
.chan li{margin-bottom:.45em}
.chan-cuoi{margin-top:2.6rem;border-top:1px solid rgba(255,255,255,.12);padding:1.1rem 0;
  font-size:.88rem;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between}
.chan-hieu{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}

/* ---------- nut noi goc phai: chot sale ---------- */
.goi-noi{position:fixed;right:max(16px,env(safe-area-inset-right));
  bottom:max(18px,env(safe-area-inset-bottom));z-index:80;
  display:flex;flex-direction:column;gap:.7rem;align-items:flex-end}
.goi-noi-nut{position:relative;display:flex;align-items:center;gap:.6rem;
  height:58px;width:58px;padding:0;border-radius:999px;color:#fff;
  box-shadow:0 10px 26px rgba(14,26,44,.28);transition:width .22s ease,background .18s ease;
  overflow:hidden;justify-content:center}
.goi-noi-nut svg{flex:0 0 auto;display:block}
.goi-noi .zalo{background:var(--zalo)}
.goi-noi .zalo:hover{background:#0053cc;color:#fff}
.goi-noi .dt{background:var(--vang);color:#20180a}
.goi-noi .dt:hover{background:#b8933f;color:#20180a}
.goi-noi .nhan-noi{white-space:nowrap;font-weight:700;font-size:.95rem;opacity:0;
  width:0;transition:opacity .18s ease}
.goi-noi .chu-zalo{font-weight:800;font-size:1.02rem;line-height:1;letter-spacing:.01em}
@media(hover:hover){
  .goi-noi-nut:hover{width:auto;padding:0 1.35rem 0 1.1rem;justify-content:flex-start}
  .goi-noi-nut:hover .nhan-noi{opacity:1;width:auto}
}
/* vong song lan toa quanh nut goi */
.goi-noi .dt::after{content:"";position:absolute;inset:0;border-radius:999px;
  border:2px solid var(--vang);animation:nn-song 2.2s ease-out infinite;pointer-events:none}
@keyframes nn-song{
  0%{transform:scale(1);opacity:.75}
  100%{transform:scale(1.55);opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .goi-noi .dt::after{animation:none;opacity:0}
  html{scroll-behavior:auto}
  .the-sp:hover{transform:none}
}

/* ---------- phan trang ---------- */
.phan-trang{margin-top:2rem}
.phan-trang ul{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;list-style:none;padding:0;margin:0}
.phan-trang .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;min-height:44px;padding:0 .8em;border:1px solid var(--vien);border-radius:10px;background:#fff}
.phan-trang .current{background:var(--cham);color:#fff;border-color:var(--cham)}

/* ---------- danh sach bai viet ---------- */
.the-bai{background:#fff;border:1px solid var(--vien);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column}
.the-bai .anh{aspect-ratio:16/10;overflow:hidden;background:#eee}
.the-bai .anh img{width:100%;height:100%;object-fit:cover}
.the-bai .noi{padding:1.1rem 1.2rem 1.3rem}
.the-bai h3{margin-bottom:.35em}
.the-bai p{color:var(--xam);font-size:.94rem;margin:0 0 .8em}
.ngay{font-size:.85rem;color:var(--vang);font-weight:600}

/* =======================================================================
   ĐIỂM NGẮT — từ màn hình lớn xuống điện thoại
   ======================================================================= */

@media(max-width:1240px){
  :root{--canh:310px}
  .luoi-4{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:1080px){
  :root{--dem:20px}
  .hai-cot{grid-template-columns:1fr}
  .canh{position:static;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}
  .canh .hop-goi{grid-column:1/-1}
  .luoi-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .thu-vien{grid-template-columns:repeat(3,minmax(0,1fr))}
  .buoc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chan-luoi{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:1140px){
  /* con cho menu tho ra, nut goi da co nut noi goc phai lo */
  .goi-nhanh{display:none}
}

@media(max-width:1024px){
  .dau-trang .khung{min-height:70px;gap:.8rem}
  .dieu-huong{position:fixed;inset:70px 0 auto 0;background:#fff;border-bottom:1px solid var(--vien);
    display:none;padding:.4rem var(--dem) 1.2rem;box-shadow:var(--bong);
    max-height:calc(100dvh - 70px);overflow:auto;margin-left:0}
  .dieu-huong.mo{display:block}
  .dieu-huong ul{flex-direction:column;align-items:stretch;gap:0}
  .dieu-huong a{padding:.95em .3em;border-bottom:1px solid var(--vien);border-radius:0;font-size:1rem}
  .dieu-huong .sub-menu{display:flex;position:static;border:0;box-shadow:none;padding:0 0 0 1rem;min-width:0}
  .dieu-huong .sub-menu a{font-size:.94rem;color:var(--xam)}
  .mo-menu{display:flex;margin-left:auto}
}

@media(max-width:880px){
  .luoi-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .noi-dung .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:640px){
  body{font-size:16px}
  :root{--dem:16px}
  .thanh-tren{font-size:.8rem}
  .thanh-tren .khung{justify-content:center;text-align:center;gap:.15rem}
  .hero{min-height:auto;padding:2.6rem 0 2.8rem}
  .hero-nut .nut{width:100%}
  .hero-so{gap:1rem 1.6rem;margin-top:1.8rem}
  .hero-so>div{min-width:44%}
  .khoi{padding:2.4rem 0}
  .thu-vien{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .noi-dung .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .canh{grid-template-columns:1fr}
  .dai-goi{text-align:center;justify-content:center}
  .dai-goi .nut-nhom{width:100%;flex-direction:column}
  .dai-goi .nut{width:100%}
  .chan{padding-top:2.4rem}
  .chan-luoi{grid-template-columns:1fr;gap:1.6rem}
  .chan-cuoi{flex-direction:column;gap:.4rem;text-align:center;justify-content:center}
  .noi-dung th{width:34%}
  .noi-dung img.wp-post-image{max-height:360px}
  .goi-noi{gap:.6rem}
  .goi-noi-nut{height:54px;width:54px;box-shadow:0 8px 20px rgba(14,26,44,.3)}
}

@media(max-width:440px){
  .luoi-4,.luoi-3{grid-template-columns:1fr}
  .buoc{grid-template-columns:1fr}
  .the-sp .anh{aspect-ratio:16/11}
  .hieu-ten{font-size:1.04rem}
  .hieu-phu{font-size:.62rem;letter-spacing:.16em}
  .noi-dung table,.noi-dung th,.noi-dung td{font-size:.93rem}
  .noi-dung th{width:38%;padding:.6em}
  .noi-dung td{padding:.6em}
}
