/* =====================================================================
   CỬA HÀNG KHÁNH HÀ — STYLESHEET DÙNG CHUNG
   Đồ gia dụng Phan Thiết

   Mục lục:
   1. Biến màu & reset (root, base)
   2. Thành phần dùng chung (button, eyebrow, section head)
   3. Top bar & Nav (desktop + mobile)
   4. Hero
   5. Danh mục (categories)
   6. Tính năng (features)
   7. Sản phẩm bán chạy / lưới sản phẩm đầy đủ
   8. Không gian (tabs)
   9. Facebook feed
   10. Liên hệ (thông tin, bản đồ, form)
   11. Newsletter / CTA
   12. Footer
   13. Banner trang con (page-hero)
   14. Tìm kiếm
   15. Slideshow hero
   ===================================================================== */

/* ---------- 1. Biến màu & reset ---------- */
:root{
    --bg:#FBF6EC;
    --pine:#1B4B5A;
    --pine-light:#2E6E7E;
    --pine-pale:#E3EEEC;
    --copper:#D9642F;
    --copper-light:#E8956A;
    --copper-pale:#F7E2D3;
    --ink:#26302F;
    --muted:#6B6D63;
    --card:#FFFFFF;
    --sand:#F0E4C9;
    --radius:14px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{
    font-family:'Inter',sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:'Fraunces',serif;font-weight:600;color:var(--pine);letter-spacing:-0.01em;}
  a{text-decoration:none;color:inherit;}
  img,svg{display:block;max-width:100%;}
  .wrap{max-width:1160px;margin:0 auto;padding:0 24px;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:13px 26px;border-radius:999px;
    font-weight:600;font-size:14.5px;cursor:pointer;border:none;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn-primary{background:var(--copper);color:#fff;}
  .btn-primary:hover{box-shadow:0 6px 18px rgba(193,112,59,.35);}
  .btn-outline{background:transparent;border:1.5px solid var(--pine);color:var(--pine);}
  .btn-outline:hover{background:var(--pine);color:#fff;}
  .eyebrow{
    font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
    color:var(--copper);margin-bottom:10px;display:block;
  }
  section{padding:64px 0;}

  /* ===== Top bar ===== */
  .topbar{background:var(--pine);color:#EFE9DC;font-size:13px;}
  .topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:9px 24px;flex-wrap:wrap;gap:6px;}
  .topbar .left{display:flex;gap:20px;flex-wrap:wrap;opacity:.9;}
  .topbar .right{display:flex;gap:14px;}
  .topbar .right a{opacity:.85;}
  .topbar .right a:hover{opacity:1;}

  /* ===== Nav ===== */
  header.nav{background:var(--bg);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(31,59,44,.1);}
  header.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;}
  .logo{display:flex;align-items:center;}
  .logo-link{display:flex;align-items:center;gap:12px;}
  .logo-box{
    width:48px;height:48px;border-radius:50%;flex:none;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
  }
  .logo-box img{width:100%;height:100%;object-fit:cover;display:block;}
  .logo-text{display:flex;flex-direction:column;line-height:1.25;}
  .logo-text .mark{font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--pine);}
  .logo-text .tag{font-size:11.5px;color:var(--muted);margin-top:1px;}
  .navlinks{display:flex;gap:30px;font-size:14.5px;font-weight:500;color:var(--ink);}
  .navlinks a{position:relative;padding:4px 0;}
  .navlinks a:hover{color:var(--copper);}
  .nav-cta{display:flex;gap:10px;}
  @media (max-width:860px){.navlinks{display:none;}}

  /* ===== Hero ===== */
  .hero{padding:56px 0 0;}
  .hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
  .hero-badge{
    display:inline-flex;align-items:center;gap:8px;background:var(--copper-pale);
    color:#8A4E27;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;margin-bottom:20px;
  }
  .hero h1{font-size:44px;line-height:1.12;margin-bottom:18px;}
  .hero h1 em{font-style:normal;color:var(--copper);}
  .hero p{color:var(--muted);font-size:16px;max-width:440px;margin-bottom:28px;}
  .hero .ctas{display:flex;gap:12px;flex-wrap:wrap;}
  .hero-art{
    border-radius:24px;position:relative;overflow:hidden;min-height:400px;
  }
  .slideshow{position:relative;width:100%;height:100%;min-height:400px;}
  .slide{display:none;position:absolute;inset:0;}
  .slide.active{display:block;}
  .icon-pair{display:flex;gap:24px;}
  .hero-art .icon-cell{
    width:92px;height:92px;border-radius:16px;display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.06);
  }
  .hero-art .icon-cell svg{width:42px;height:42px;stroke:var(--copper-light);}
  .slide-photo{width:100%;height:100%;}
  .slide-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .slide-caption{
    position:absolute;left:20px;bottom:20px;z-index:2;
    color:#fff;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;
    background:rgba(20,30,28,.55);padding:9px 18px;border-radius:999px;
  }
  .slide-nav{
    position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;
    background:var(--pine);border:2px solid rgba(255,255,255,.85);color:#fff;cursor:pointer;
    display:flex;align-items:center;justify-content:center;z-index:3;
    box-shadow:0 3px 10px rgba(0,0,0,.35);
  }
  .slide-nav:hover{background:var(--copper);}
  .slide-nav svg{width:18px;height:18px;}
  .slide-nav.prev{left:14px;}
  .slide-nav.next{right:14px;}
  .slide-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3;}
  .slide-dot{
    width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.5);border:none;
    cursor:pointer;padding:0;transition:width .2s ease,background .2s ease;
    box-shadow:0 0 0 1px rgba(20,30,28,.3);
  }
  .slide-dot.active{width:20px;background:var(--copper-light);}
  @media (max-width:860px){.hero .wrap{grid-template-columns:1fr;}.hero h1{font-size:34px;}}

  /* ===== Section heads ===== */
  .sec-head{text-align:center;max-width:560px;margin:0 auto 40px;}
  .sec-head h2{font-size:30px;}
  .sec-head p{color:var(--muted);font-size:15px;margin-top:8px;}

  /* ===== Categories ===== */
  .cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
  .cat-card{
    background:var(--card);border-radius:var(--radius);padding:22px 12px;text-align:center;
    border:1px solid rgba(31,59,44,.08);transition:border-color .15s, transform .15s;
  }
  .cat-card:hover{border-color:var(--copper);transform:translateY(-3px);}
  .cat-card svg{width:34px;height:34px;stroke:var(--pine);margin:0 auto 12px;}
  .cat-card span{font-size:13.5px;font-weight:600;}
  @media (max-width:860px){.cat-grid{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:520px){.cat-grid{grid-template-columns:repeat(2,1fr);}}

  /* ===== Features ===== */
  .features{background:var(--pine-pale);}
  .feat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
  .feat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;}
  .feat .ic{
    width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;
    border:1.5px solid var(--copper-light);
  }
  .feat .ic svg{width:24px;height:24px;stroke:var(--copper);}
  .feat h3{font-family:'Inter',sans-serif;font-size:14.5px;font-weight:600;color:var(--ink);}
  .feat p{font-size:12.5px;color:var(--muted);}
  @media (max-width:760px){.feat-row{grid-template-columns:repeat(2,1fr);}}

  /* ===== Bestsellers ===== */
  .best-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;}
  .best-head h2{font-size:28px;}
  .prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .prod-card{display:block;background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(31,59,44,.08);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;}
  .prod-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(31,59,44,.1);}
  .prod-thumb{height:140px;display:flex;align-items:center;justify-content:center;position:relative;}
  .prod-thumb svg{width:56px;height:56px;stroke:#fff;}
  .tag-sale{
    position:absolute;top:10px;left:10px;background:var(--copper);color:#fff;font-size:11px;font-weight:600;
    padding:3px 9px;border-radius:999px;
  }
  .tag-outofstock{
    position:absolute;top:10px;right:10px;background:var(--muted);color:#fff;font-size:11px;font-weight:600;
    padding:3px 9px;border-radius:999px;
  }
  .empty-state{grid-column:1/-1;text-align:center;color:var(--muted);padding:32px 0;}

  /* ===== Skeleton loading (khi đang tải dữ liệu) ===== */
  @keyframes skeletonPulse{0%,100%{opacity:.5;}50%{opacity:1;}}
  .skeleton-thumb,.skeleton-line,.skeleton-detail-gallery{
    background:rgba(31,59,44,.1);border-radius:8px;animation:skeletonPulse 1.3s ease-in-out infinite;
  }
  .skeleton-card{background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(31,59,44,.08);}
  .skeleton-card .skeleton-thumb{height:140px;border-radius:0;}
  .skeleton-card .skeleton-body{padding:16px;display:flex;flex-direction:column;gap:10px;}
  .skeleton-line{height:10px;}
  .skeleton-line.w-40{width:40%;height:14px;}
  .skeleton-line.w-70{width:70%;}
  .skeleton-detail-gallery{aspect-ratio:1/1;width:100%;}
  .skeleton-detail-info{display:flex;flex-direction:column;gap:14px;padding-top:8px;}
  .skeleton-detail-info .skeleton-line.tag{height:12px;width:30%;}
  .skeleton-detail-info .skeleton-line.title{height:26px;width:75%;}
  .skeleton-detail-info .skeleton-line.price{height:22px;width:35%;margin-top:6px;}
  .skeleton-detail-info .skeleton-line.desc{height:11px;}
  .skeleton-detail-info .skeleton-line.desc.short{width:70%;}
  .pagination-bar{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:32px;}
  .pagination-bar .page-btn{
    padding:9px 18px;border-radius:999px;border:1.5px solid rgba(31,59,44,.18);background:var(--card);
    font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;
  }
  .pagination-bar .page-btn:hover:not(:disabled){border-color:var(--copper);color:var(--copper);}
  .pagination-bar .page-btn:disabled{opacity:.4;cursor:not-allowed;}
  .pagination-bar .page-info{font-size:13.5px;color:var(--muted);}

  /* ===== Chi tiết sản phẩm ===== */
  .breadcrumb{padding:20px 24px 0;font-size:13px;color:var(--muted);}
  .breadcrumb a{color:var(--muted);text-decoration:none;}
  .breadcrumb a:hover{color:var(--copper);}
  .breadcrumb span{color:var(--ink);font-weight:600;}
  .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:28px 0 8px;}
  .detail-gallery-main{
    width:100%;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;position:relative;
    display:flex;align-items:center;justify-content:center;
  }
  .detail-gallery-main svg{width:96px;height:96px;stroke:#fff;}
  .detail-gallery-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
  .detail-thumb{
    width:64px;height:64px;border-radius:8px;background-size:cover;background-position:center;
    border:2px solid transparent;cursor:pointer;flex:none;
  }
  .detail-thumb.active{border-color:var(--copper);}
  .detail-info .cat{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;}
  .detail-info h1{font-size:26px;margin:8px 0 12px;}
  .badge-stock{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 12px;border-radius:999px;margin-bottom:14px;}
  .badge-stock.in{background:var(--pine-pale, #E3EEEC);color:var(--pine);}
  .badge-stock.out{background:#FBE9DF;color:#B4552B;}
  .detail-price{font-size:24px;font-weight:600;color:var(--pine);margin-bottom:16px;}
  .detail-price .old{font-size:15px;color:var(--muted);text-decoration:line-through;font-weight:400;margin-left:8px;}
  .detail-desc{font-size:14.5px;line-height:1.7;color:var(--ink);margin-bottom:24px;white-space:pre-line;}
  .detail-cta{display:flex;gap:12px;flex-wrap:wrap;}
  @media (max-width:860px){.detail-grid{grid-template-columns:1fr;gap:24px;}}
  .prod-body{padding:16px;}
  .prod-body .cat{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
  .prod-body h3{font-family:'Inter',sans-serif;font-size:14.5px;font-weight:600;margin:4px 0 8px;color:var(--ink);}
  .price{font-weight:600;color:var(--pine);font-size:15px;}
  .price .old{color:var(--muted);text-decoration:line-through;font-weight:400;font-size:13px;margin-left:6px;}
  @media (max-width:860px){.prod-grid{grid-template-columns:repeat(2,1fr);}}

  /* ===== Spaces / tabs ===== */
  .spaces{background:var(--sand);}
  .tabs{display:flex;justify-content:center;gap:8px;margin-bottom:32px;flex-wrap:wrap;}
  .tab-btn{
    padding:10px 20px;border-radius:999px;font-size:13.5px;font-weight:600;cursor:pointer;
    background:transparent;border:1.5px solid rgba(31,59,44,.25);color:var(--ink);
  }
  .tab-btn.active{background:var(--pine);color:#fff;border-color:var(--pine);}
  .tab-panel{display:none;}
  .tab-panel.active{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;}
  .tab-panel .visual{
    background:var(--pine);border-radius:20px;min-height:260px;display:flex;align-items:center;justify-content:center;
    position:relative;overflow:hidden;
  }
  .tab-panel .visual svg{width:120px;height:120px;stroke:var(--copper-light);}
  .visual-skeleton{position:absolute;inset:0;background:var(--sand);z-index:1;}
  .visual-skeleton::before{
    content:'';position:absolute;inset:0;background:rgba(31,59,44,.14);
    animation:skeletonPulse 1.3s ease-in-out infinite;
  }
  .visual-skeleton.hide{display:none;}
  .tab-panel .visual.has-photo{
    background:var(--sand);position:relative;overflow:hidden;padding:0;
    min-height:0;aspect-ratio:4/3;
  }
  .tab-panel .visual.has-photo .slideshow{min-height:0;height:100%;}
  .tab-panel .visual.has-photo .slide-photo img{object-fit:contain;}
  .tab-panel .visual.has-photo .slide-nav{width:32px;height:32px;}
  .tab-panel .visual.has-photo .slide-nav svg{width:14px;height:14px;}
  .tab-panel .info h3{font-size:24px;margin-bottom:10px;}
  .tab-panel .info p{color:var(--muted);font-size:14.5px;margin-bottom:16px;}
  .tab-panel .info ul{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
  .tab-panel .info li{font-size:14px;display:flex;gap:8px;align-items:center;}
  .tab-panel .info li svg{width:16px;height:16px;stroke:var(--copper);flex:none;}
  @media (max-width:760px){.tab-panel.active{grid-template-columns:1fr;}}

  /* ===== Facebook feed (trang chủ) ===== */
  .fb-section-stacked .wrap{max-width:640px;margin:0 auto;text-align:center;}
  .fb-section-stacked .sec-head{margin-bottom:32px;}

  /* ===== Contact ===== */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  .info-list{display:flex;flex-direction:column;gap:18px;}
  .info-item{display:flex;gap:14px;align-items:flex-start;}
  .info-item .ic{
    width:38px;height:38px;border-radius:10px;background:var(--pine-pale);display:flex;align-items:center;
    justify-content:center;flex:none;
  }
  .info-item .ic svg{width:18px;height:18px;stroke:var(--pine);}
  .info-item h3{font-family:'Inter',sans-serif;font-size:14.5px;font-weight:600;margin-bottom:2px;}
  .info-item p{font-size:13.5px;color:var(--muted);}
  .map-box{
    background:var(--pine-pale);border-radius:var(--radius);min-height:280px;display:flex;
    align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--muted);font-size:13px;
  }
  .map-box svg{width:34px;height:34px;stroke:var(--copper);}
  .map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid rgba(31,59,44,.1);line-height:0;}
  .map-embed iframe{display:block;width:100%;}
  @media (max-width:760px){.contact-grid{grid-template-columns:1fr;}}

  /* ===== Newsletter ===== */
  .newsletter{background:var(--copper);color:#fff;text-align:center;}
  .newsletter h2{color:#fff;font-size:26px;margin-bottom:8px;}
  .newsletter p{opacity:.9;font-size:14.5px;margin-bottom:22px;}
  .nl-form{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
  .nl-form input{
    padding:13px 18px;border-radius:999px;border:none;font-size:14px;min-width:260px;font-family:'Inter',sans-serif;
  }
  .zalo-follow-box{display:flex;flex-direction:column;align-items:center;gap:16px;}
  .zalo-follow-box iframe{border:none;border-radius:14px;box-shadow:0 10px 28px rgba(0,0,0,.18);}
  .zalo-follow-fallback{
    background:rgba(255,255,255,.12);border:1px dashed rgba(255,255,255,.4);border-radius:var(--radius);
    padding:22px 24px;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:14px;
  }
  .zalo-follow-fallback p{margin:0;opacity:.95;font-size:13.5px;}
  .nl-form button{background:var(--pine);color:#fff;}

  /* ===== Footer ===== */
  footer{background:var(--pine);color:#DCE4DD;padding:48px 0 24px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px;}
  .foot-grid h4{color:#fff;font-family:'Inter',sans-serif;font-size:14px;margin-bottom:14px;}
  .foot-grid ul{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:13.5px;opacity:.85;}
  .foot-logo{font-family:'Fraunces',serif;font-size:22px;color:#fff;margin-bottom:10px;}
  .foot-desc{font-size:13.5px;opacity:.8;max-width:260px;margin-bottom:16px;}
  .soc{display:flex;gap:10px;}
  .soc a{
    width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;
    justify-content:center;
  }
  .soc a svg{width:16px;height:16px;stroke:#fff;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;font-size:12.5px;opacity:.7;text-align:center;}
  @media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}

  /* ===== Pine ridge divider (signature motif) ===== */
  .divider{width:100%;display:block;line-height:0;}

/* ===== Sub-page hero banner ===== */
.page-hero{background:var(--pine);color:#fff;padding:56px 0;text-align:center;}
.page-hero .eyebrow{color:var(--copper-light);}
.page-hero h1{color:#fff;font-size:34px;margin-bottom:10px;}
.page-hero p{color:#DCE7E5;font-size:14.5px;max-width:480px;margin:0 auto;}

/* ===== Product filter (san-pham.html) ===== */
.filter-bar{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.filter-btn{
  padding:9px 18px;border-radius:999px;font-size:13.5px;font-weight:600;cursor:pointer;
  background:var(--card);border:1.5px solid rgba(31,59,44,.15);color:var(--ink);
}
.filter-btn.active{background:var(--copper);color:#fff;border-color:var(--copper);}
.prod-grid.full{grid-template-columns:repeat(4,1fr);}
.prod-card[hidden]{display:none;}
@media (max-width:860px){.prod-grid.full{grid-template-columns:repeat(2,1fr);}}

/* ===== Thư viện ảnh (thu-vien-anh.html) ===== */
.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.gallery-item{
  position:relative;display:block;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;
  background:var(--card);border:1px solid rgba(31,59,44,.08);
}
.gallery-item[hidden]{display:none;}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-caption{
  position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;
  background:linear-gradient(to top,rgba(15,25,20,.82),rgba(15,25,20,0));
  color:#fff;font-size:12.5px;font-weight:600;line-height:1.3;
  opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;
}
.gallery-item:hover .gallery-caption{opacity:1;transform:translateY(0);}
.gallery-price{display:block;font-size:11.5px;font-weight:500;opacity:.85;margin-top:2px;}
.gallery-grid .gallery-skeleton{aspect-ratio:1/1;border-radius:var(--radius);}
@media (max-width:1024px){.gallery-grid{grid-template-columns:repeat(4,1fr);}}
@media (max-width:760px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:10px;}}
@media (max-width:520px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-caption{opacity:1;transform:translateY(0);padding:16px 10px 8px;font-size:11.5px;}
}

/* ===== Facebook page (facebook.html) ===== */
.fb-embed-card{
  max-width:560px;margin:0 auto 24px;background:var(--card);border-radius:var(--radius);
  border:1px solid rgba(31,59,44,.1);padding:20px;
  display:flex;justify-content:center;overflow:hidden;
}
.fb-embed-card .fb-page{width:100%;display:flex;justify-content:center;}
.fb-embed-card iframe{max-width:100%!important;}
.fb-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
@media (max-width:600px){.fb-embed-card{padding:12px;}}

/* ===== Contact page (lien-he.html) ===== */
.contact-page-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;}
.contact-form{display:flex;flex-direction:column;gap:14px;}
.contact-form label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:4px;display:block;}
.contact-form input,.contact-form textarea{
  width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid rgba(31,59,44,.18);
  font-family:'Inter',sans-serif;font-size:14px;background:var(--card);
}
.contact-form textarea{min-height:110px;resize:vertical;}
.contact-form .btn{align-self:flex-start;margin-top:4px;}
.contact-form label .req{color:#b3432b;}
.field-error{font-size:12.5px;color:#b3432b;font-weight:600;margin-top:5px;min-height:1em;}
.field-error:empty{display:none;}
.contact-form input.invalid,.contact-form textarea.invalid{border-color:#b3432b;}
.msg-quick-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.msg-quick-btn{
  padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:600;cursor:pointer;
  background:var(--card);border:1.5px solid rgba(31,59,44,.15);color:var(--ink);
}
.msg-quick-btn:hover{border-color:var(--copper);color:var(--copper);}
.msg-quick-btn.active{background:var(--copper);color:#fff;border-color:var(--copper);}
.form-status{font-size:13px;font-weight:600;min-height:1em;}
.form-status.success{color:var(--pine);}
.form-status.error{color:#b3432b;}
@media (max-width:860px){.contact-page-grid{grid-template-columns:1fr;}}


  /* ===== Mobile nav ===== */
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
  .nav-toggle svg{width:24px;height:24px;stroke:var(--ink);}
  .mobile-nav{display:none;flex-direction:column;background:var(--bg);border-top:1px solid rgba(31,59,44,.08);}
  .mobile-nav a{padding:14px 24px;font-size:15px;font-weight:500;color:var(--ink);border-bottom:1px solid rgba(31,59,44,.06);}
  .mobile-nav.open{display:flex;}
  @media (max-width:860px){.nav-toggle{display:flex;}}

/* ---------- 14. Tìm kiếm ---------- */
.nav-right{display:flex;align-items:center;gap:14px;}
.nav-search{position:relative;display:flex;align-items:center;}
.search-btn{background:none;border:none;cursor:pointer;padding:6px;display:flex;color:var(--ink);}
.search-btn svg{width:20px;height:20px;}
.search-btn:hover{color:var(--copper);}
.search-input-wrap{
  display:none;position:absolute;right:0;top:calc(100% + 10px);
  background:var(--card);border:1px solid rgba(31,59,44,.15);border-radius:12px;
  padding:6px;box-shadow:0 12px 28px rgba(38,48,47,.12);z-index:60;
}
.search-input-wrap.open{display:flex;}
.search-input-wrap input{
  border:none;outline:none;padding:9px 12px;font-size:14px;width:220px;
  font-family:'Inter',sans-serif;background:transparent;
}
.search-input-icon{display:none;}

/* Màn hình đủ rộng (giống ngưỡng hiện menu ngang): hiện luôn ô tìm kiếm, ẩn icon bấm mở */
@media (min-width:861px){
  .search-btn{display:none;}
  .search-input-wrap{
    display:flex !important;position:static;box-shadow:none;
    border:1.5px solid rgba(31,59,44,.18);border-radius:999px;
    padding:2px 14px 2px 16px;background:var(--card);
  }
  .search-input-wrap input{width:170px;padding:8px 4px;}
  .search-input-icon{display:block;width:16px;height:16px;stroke:var(--muted);flex:none;align-self:center;}
}

.search-bar{max-width:440px;margin:0 auto 28px;position:relative;}
.search-bar input{
  width:100%;padding:13px 46px 13px 18px;border-radius:999px;
  border:1.5px solid rgba(31,59,44,.18);font-size:14px;font-family:'Inter',sans-serif;
  background:var(--card);
}
.search-bar input:focus{outline:none;border-color:var(--copper);}
.search-bar svg{
  position:absolute;right:16px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;stroke:var(--muted);pointer-events:none;
}
@media (max-width:520px){.search-input-wrap input{width:160px;}}

/* Chống iOS Safari tự phóng to trang khi bấm vào ô nhập (input < 16px sẽ gây zoom) */
@media (max-width:860px){
  .search-input-wrap input,
  .search-bar input,
  .contact-form input,
  .contact-form textarea,
  .nl-form input{font-size:16px;}
}
