/* =========================================================
   TINO ĐÀ NẴNG — FRONTEND + ADMIN
   Bản ổn định: giữ logo, thông báo hẹn trước, giao diện gọn
   ========================================================= */
:root{
  --ink:#1e2738;
  --muted:#687386;
  --soft:#f8f5ef;
  --soft-2:#f3eee7;
  --line:#e8e1d7;
  --card:#ffffff;
  --accent:#b96f2d;
  --accent-dark:#8f4f1d;
  --red:#c9302c;
  --blue:#0866ff;
  --green:#137a55;
  --shadow:0 14px 36px rgba(28,38,58,.08);
  --shadow-sm:0 6px 18px rgba(28,38,58,.06);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#fbfaf8;
  color:var(--ink);
  font-family:"Be Vietnam Pro",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.58;
}
body>.skiptranslate{display:none!important}
body{top:0!important}
.goog-te-banner-frame.skiptranslate,.goog-te-gadget-icon{display:none!important}
.google-translate-element{
  position:absolute!important;
  width:1px!important;height:1px!important;
  overflow:hidden!important;opacity:0!important;
  pointer-events:none!important;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(1240px,calc(100% - 40px));margin-inline:auto}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:0;border-radius:12px;padding:12px 17px;font-weight:800;
  transition:.18s ease;cursor:pointer
}
.btn:hover{transform:translateY(-1px)}
.btn-dark{background:#1d2432;color:#fff}
.btn-gold{background:var(--accent);color:#fff}
.btn-outline{border:1px solid #d8c5b2;background:#fff;color:#74431f}
.btn-red{background:#b3261e;color:#fff}
.btn-blue{background:#0866ff;color:#fff}
.btn-detail{background:#fff4e7;color:#74431f;border:1px solid #f0d7b8}
.btn-wide{width:100%}
.danger{background:#991b1b;color:#fff}

/* ---------- header ---------- */
.topbar{background:#1b2130;color:#fff;font-size:12px}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:34px;padding:4px 0}
.topbar__appointment{color:#ffd98b;font-weight:700}
.site-header{
  position:sticky;top:0;z-index:45;background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(28,38,58,.04);
  backdrop-filter:blur(10px)
}
.header-main{
  display:grid;grid-template-columns:auto 260px minmax(260px,1fr) auto;
  gap:16px;align-items:center;padding:13px 0
}
.brand img{width:min(var(--header-logo-width,300px),100%);max-height:90px;height:auto;object-fit:contain;object-position:left center}
.searchbar{
  display:flex;min-width:0;border:1px solid #dfd6cc;border-radius:13px;
  background:#fff;overflow:hidden;box-shadow:inset 0 1px 0 #fff
}
.searchbar input{min-width:0;flex:1;border:0;outline:0;padding:11px 13px 11px 0;background:transparent}
.searchbar__submit{display:grid;place-items:center;flex:0 0 42px;border:0;background:transparent;color:#1e2738}
.searchbar__submit svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.header-actions{display:flex;align-items:center;gap:10px}
.header-appointment{
  display:grid;gap:1px;padding:8px 11px;border-radius:11px;
  background:#fff8ee;border:1px solid #efd7bb;color:#764318;font-size:11px;line-height:1.2
}
.header-appointment strong{font-size:12px}
.lang-switcher{display:flex;gap:4px;align-items:center;white-space:nowrap;color:#98a1b1;font-size:12px}
.lang-btn{border:0;background:transparent;color:#536174;font-weight:800;padding:4px}
.lang-btn.active{color:var(--accent)}
.cart-btn{
  display:inline-flex;align-items:center;gap:6px;border:0;border-radius:11px;
  padding:11px 13px;background:var(--accent);color:#fff;font-weight:800;white-space:nowrap
}
.cart-btn__icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cart-btn b{
  display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;
  padding:0 5px;border-radius:999px;background:#fff;color:var(--accent);font-size:11px
}
.icon-btn{display:none}
.main-nav{background:#fff;border-top:1px solid #f2eee9}
.main-nav__inner{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.main-nav__inner::-webkit-scrollbar{display:none}
.main-nav a{
  flex:0 0 auto;padding:11px 9px;color:#536174;font-size:13px;font-weight:700;
  white-space:nowrap;border-bottom:2px solid transparent
}
.main-nav a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* ---------- compact appointment ---------- */
.appointment-strip{padding:24px 0 10px}
.appointment-strip__inner{
  display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;
  border:1px solid #eadccc;border-radius:18px;background:#fffdfa;padding:20px 24px;
  box-shadow:var(--shadow-sm)
}
.appointment-strip h1{margin:3px 0 5px;font-size:clamp(27px,4vw,40px);line-height:1.08;letter-spacing:-.8px}
.appointment-strip p{margin:0;color:var(--muted)}
.eyebrow{margin:0;color:#b3743e;font-size:11px;letter-spacing:1.4px;font-weight:900}
.eyebrow-dark{color:#8c572c}

/* ---------- important links ---------- */
.important-section{padding:24px 0 10px}
.section{padding:34px 0}
.section-soft{background:#f7f4ef}
.section-heading{margin-bottom:17px}
.section-heading--split{display:flex;justify-content:space-between;align-items:end;gap:18px}
.section-heading--split>p{max-width:470px;margin:0;color:var(--muted)}
.section-heading--center{text-align:center}
.section-heading h1,.section-heading h2,.page-hero h1,.article-detail h1{
  margin:5px 0 0;font-family:Lora,Georgia,serif;line-height:1.17;letter-spacing:-.5px
}
.section-heading h2{font-size:clamp(25px,3.2vw,38px)}
.section-heading--filter{display:none}
.section-heading--filter .eyebrow{font-size:9px;letter-spacing:.8px}
.section-heading--filter h2{font-size:clamp(20px,2vw,24px);letter-spacing:0}
.section-heading--filter>p{font-size:13px;line-height:1.4;max-width:390px}
.important-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:13px}
.important-link{
  display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;
  padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;
  box-shadow:var(--shadow-sm);transition:.18s ease
}
.important-link:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.important-link__icon{
  display:grid;place-items:center;width:48px;height:48px;border-radius:14px;
  font-size:20px;font-weight:900
}
.important-link--sale .important-link__icon{background:#fff0ed;color:#d92d20}
.important-link--rent .important-link__icon{background:#eff7ff;color:#1769d2}
.important-link strong{display:block;font-size:17px}
.important-link small{display:block;color:var(--muted);margin-top:3px}
.important-link em{font-style:normal;color:#98a1af;font-size:24px}

/* ---------- categories ---------- */
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.category-card{
  min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;
  overflow:hidden;box-shadow:var(--shadow-sm);transition:.18s ease
}
.category-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.category-card img{width:100%;height:155px;object-fit:cover;background:#eee}
.category-card span{display:block;padding:12px 13px}
.category-card strong{display:block;font-size:15px}
.category-card small{display:block;color:var(--muted);font-size:12px;margin-top:4px}

/* ---------- filters ---------- */
.product-filter{
  margin:16px 0 20px;padding:14px;border:1px solid #e5ddd3;border-radius:16px;
  background:#fff;box-shadow:var(--shadow-sm)
}
.product-filter__title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.product-filter__title strong{font-size:15px}
.product-filter__title small{color:var(--muted)}
.product-filter__grid{display:grid;grid-template-columns:minmax(170px,1fr) minmax(160px,.8fr) minmax(150px,.7fr) auto;gap:10px}
.product-filter select,.product-filter input{
  width:100%;min-height:43px;border:1px solid #d8dfe7;border-radius:10px;padding:9px 11px;background:#fff;color:var(--ink)
}
.product-filter button{min-height:43px}
.product-filter__clear{display:inline-flex;align-items:center;color:#7a4d26;font-size:13px;font-weight:800;padding:0 5px}

/* ---------- product cards ---------- */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.product-slider{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:16px;
  overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 2px 12px;scrollbar-width:thin
}
.product-slider>.product-card{scroll-snap-align:start}
.best-seller-section{padding:30px 0;background:#fff}
.best-seller-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:13px}
.best-seller-heading h2{margin:5px 0 0;font-family:Lora,Georgia,serif;font-size:clamp(24px,3vw,35px)}
.slider-actions{display:flex;gap:7px}
.slider-actions button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#536174;font-size:25px}
.product-card{
  display:flex;flex-direction:column;min-width:0;border:1px solid #ece8e3;border-radius:14px;
  background:#fff;overflow:hidden;box-shadow:0 5px 15px rgba(28,38,58,.04);transition:.18s ease
}
.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.product-card__image{position:relative;display:block;height:235px;background:#f4f5f6;overflow:hidden}
.product-card__image img{width:100%;height:100%;object-fit:contain;padding:6px}
.product-card__discount,.product-card__label,.product-card__stock{
  position:absolute;z-index:2;border-radius:7px;padding:4px 7px;font-size:11px;font-weight:900
}
.product-card__discount{top:9px;right:9px;background:#e5484d;color:#fff}
.product-card__label{left:9px;bottom:9px;background:#e8fbf1;color:#08734e}
.product-card__stock{right:9px;bottom:9px}
.product-card__body{display:flex;flex:1;flex-direction:column;padding:12px}
.product-card__brand{color:#a06b3e;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}
.product-card h3{
  min-height:41px;max-height:41px;overflow:hidden;margin:5px 0 8px;color:#344054;
  font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical
}
.product-card__pricing{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;margin-top:auto}
.product-card__pricing del{color:#9ca4b1;font-size:12px}
.product-card__pricing strong{color:#d92d20;font-size:18px}
.product-card__meta{display:flex;align-items:center;gap:8px;margin-top:7px;color:#758194;font-size:11px}
.product-card__stars{color:#f6ae2d;letter-spacing:-1px}
.product-card__stock{display:inline-flex;width:max-content}
.product-card__stock--available{background:#eaf8ef;color:#137a55}
.product-card__stock--preorder,.product-card__stock--custom-order{background:#fff6e8;color:#a35f15}
.product-card__stock--out-of-stock{background:#fef0f0;color:#b42318}
.product-card__weight{margin-top:7px;color:#667085;font-size:11px}
.product-card__cart{
  margin-top:10px;border:0;border-radius:9px;padding:9px 10px;background:#1f2736;color:#fff;
  font-size:12px;font-weight:800;text-align:center
}
.product-card__cart--contact{background:#fff6e8;color:#8b511d}
.empty-state{padding:26px;border:1px dashed #cfd6df;border-radius:14px;background:#fff;color:var(--muted)}
.empty-state h2,.empty-state h3{margin:0 0 6px;color:var(--ink)}

/* ---------- request / showcase / trust / blog / faq ---------- */
.custom-order{background:#1d2737;color:#fff}
.custom-order__inner{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center}
.custom-order__copy h2{margin:8px 0;font-family:Lora,Georgia,serif;font-size:clamp(28px,4vw,44px)}
.custom-order__copy p{color:#d7dee8}
.custom-order__steps{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}
.custom-order__steps span{display:flex;gap:7px;align-items:center;border:1px solid rgba(255,255,255,.17);border-radius:999px;padding:7px 10px;color:#fff;font-size:12px}
.custom-order__steps b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#bc793d}
.custom-order__visual img{width:100%;height:290px;object-fit:cover;border-radius:18px}
.showcase-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 2px 12px}
.showcase-grid figure{flex:0 0 calc((100% - 36px)/4);scroll-snap-align:start;margin:0;border-radius:14px;background:#fff;overflow:hidden;box-shadow:var(--shadow-sm)}
.showcase-grid img{width:100%;height:230px;object-fit:cover}
.showcase-grid figcaption{padding:10px 11px;color:#475467;font-size:13px;font-weight:700}
.feedback-heading{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.feedback-heading h2{margin:4px 0 8px}.feedback-heading p{margin:0;color:#667085}
.feedback-slider{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 2px 12px}
.feedback-card{flex:0 0 min(310px,82vw);scroll-snap-align:start;margin:0;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:var(--shadow-sm)}
.feedback-card__open{display:block;width:100%;padding:0;border:0;background:#f1f3f5;cursor:zoom-in}
.feedback-card img{display:block;width:100%;height:320px;object-fit:contain;background:#f1f3f5}
.feedback-card figcaption{display:grid;gap:3px;padding:10px 11px;color:#344054;font-size:13px;font-weight:800}.feedback-card figcaption small{color:#667085;font-size:11px;font-weight:600}
.feedback-slider__nav{display:flex;gap:7px}.feedback-slider__nav button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d0d5dd;border-radius:50%;background:#fff;color:#172033;font-size:25px;cursor:pointer}.feedback-slider__nav button:hover{border-color:#a86a32;color:#a86a32}
.feedback-google-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.feedback-lightbox{position:fixed;inset:0;z-index:10020;display:none;place-items:center;padding:18px;background:rgba(15,23,42,.88)}.feedback-lightbox.is-open{display:grid}.feedback-lightbox__panel{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(100%,900px);max-height:100%;gap:9px}.feedback-lightbox__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff}.feedback-lightbox__bar button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#172033;font-size:24px;cursor:pointer}.feedback-lightbox__image{display:grid;place-items:center;min-height:0}.feedback-lightbox__image img{display:block;max-width:100%;max-height:calc(100vh - 90px);object-fit:contain;border-radius:10px;background:#fff}
.trust-section{position:relative;padding:48px 0;background:#efe9df}
.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.trust-item{padding:16px;border:1px solid #e0d6c7;border-radius:14px;background:rgba(255,255,255,.82)}
.trust-icon{width:42px;height:42px;margin-bottom:11px;color:#a3632d}
.trust-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round}
.trust-item h3{margin:0 0 6px;font-size:14px}
.trust-item p{margin:0;color:var(--muted);font-size:12px}
.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.blog-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:var(--shadow-sm)}
.blog-card__image img{width:100%;height:170px;object-fit:cover}
.blog-card__body{padding:12px}
.blog-card h3{margin:0 0 6px;font-size:15px;line-height:1.45}
.blog-card p{margin:0;color:var(--muted);font-size:12px}
.blog-card__link{display:inline-block;margin-top:9px;color:#a3622c;font-size:12px;font-weight:800}
.blog-home__actions{text-align:center;margin-top:17px}
.blog-more-btn{display:inline-block;border:1px solid #d7c1a7;border-radius:10px;padding:10px 15px;color:#87501f;font-weight:800}
.faq-grid{display:grid;gap:9px}
.faq details{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px 14px}
.faq summary{cursor:pointer;font-weight:800}
.faq details p{margin:8px 0 0;color:var(--muted)}

/* ---------- pages ---------- */
.page-hero{padding:35px 0;background:#f4eee6}
.page-hero h1{margin:5px 0;font-size:clamp(29px,4vw,45px)}
.page-hero p{margin:0;color:var(--muted)}
.breadcrumbs{margin:0 0 12px;color:#748093;font-size:12px}
.breadcrumbs a{color:#9c642f}
.product-detail{display:grid;grid-template-columns:1.05fr .95fr;gap:30px}
.product-gallery__main{height:520px;border-radius:18px;background:#f0f2f4;overflow:hidden}
.product-gallery__main img{width:100%;height:100%;object-fit:contain}
.product-gallery__thumbs{display:flex;gap:8px;overflow:auto;margin-top:10px}
.product-gallery__thumbs button{flex:0 0 82px;height:70px;border:2px solid transparent;border-radius:9px;background:#f1f3f5;overflow:hidden}
.product-gallery__thumbs button.active{border-color:var(--accent)}
.product-gallery__thumbs img{width:100%;height:100%;object-fit:cover}
.product-summary h1{margin:8px 0;font-family:Lora,Georgia,serif;font-size:clamp(29px,4vw,43px);line-height:1.15}
.product-summary__lead{color:var(--muted)}
.product-price{display:flex;align-items:baseline;gap:10px;margin:13px 0}
.product-price del{color:#9ca4b1}
.product-price strong{color:#d92d20;font-size:28px}
.product-stock{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;background:#eaf8ef;color:#137a55}
.specs{display:grid;gap:0;margin-top:15px;border-top:1px solid var(--line)}
.specs div{display:grid;grid-template-columns:130px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}
.specs span{color:var(--muted);font-size:13px}
.specs strong{font-size:13px}
.product-summary__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.product-summary__btn{min-height:38px;padding:9px 12px;border-radius:10px;font-size:13px;line-height:1;white-space:nowrap}
.product-note{margin-top:14px;padding:11px 12px;border-radius:10px;background:#fff7e9;color:#805024;font-size:13px}
.product-content{margin-top:30px;padding:19px;border:1px solid var(--line);border-radius:14px;background:#fff}
.product-content h2{margin:0 0 8px}
.article-page{background:linear-gradient(180deg,#f7f3ed 0,#fbfaf8 340px)}
.article-container{max-width:920px}
.article-breadcrumbs{display:flex;align-items:center;gap:8px;min-width:0;margin-bottom:18px}
.article-breadcrumbs>span[aria-hidden]{color:#b5aa9d}
.article-breadcrumbs__current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.article-detail{padding:clamp(24px,4vw,44px);border:1px solid rgba(205,190,173,.72);border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(48,38,27,.07)}
.article-detail__header{max-width:760px;margin:0 auto 24px;text-align:center}
.article-detail h1{margin-top:9px;font-size:clamp(31px,4.5vw,48px)}
.article-detail__meta{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:12px}
.article-detail__meta span:first-child{color:#825128;font-weight:800}
.article-detail__media{margin:0 0 28px}
.article-detail__cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px}
.article-detail__excerpt{max-width:720px;margin:0 auto 24px;padding:0 0 0 18px;border-left:3px solid var(--accent);color:#303a49;font-family:Lora,Georgia,serif;font-size:clamp(17px,2vw,20px);font-weight:600;line-height:1.65}
.article-detail__content{max-width:720px;margin-inline:auto;color:#384456;font-size:16px;line-height:1.85}
.article-detail__content p{margin:0 0 1.25em}
.article-detail__content p:last-child{margin-bottom:0}
.article-consultation{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:38px;padding:25px;border:1px solid #ead8c4;border-radius:16px;background:linear-gradient(135deg,#fffaf4,#f7eee3)}
.article-consultation h2{margin:5px 0 7px;font-family:Lora,Georgia,serif;font-size:clamp(21px,3vw,28px);line-height:1.25}
.article-consultation p{margin:0;color:var(--muted);font-size:14px}
.article-consultation .eyebrow{color:var(--accent-dark);font-size:10px;font-weight:900}
.article-consultation__actions{display:grid;gap:9px;min-width:168px}
.article-detail__footer{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.article-detail__footer a{color:var(--accent-dark);font-size:13px;font-weight:800}
.article-related{padding-top:42px}
.article-related .section-heading h2{font-size:clamp(25px,3vw,34px)}
.article-related__grid{grid-template-columns:repeat(3,1fr)}

.content-page{background:linear-gradient(180deg,#f7f3ed 0,#fbfaf8 340px)}
.content-page__container{max-width:920px}
.content-page__card{margin-top:18px;padding:clamp(24px,4vw,44px);border:1px solid rgba(205,190,173,.72);border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(48,38,27,.07)}
.content-page__header{max-width:760px;margin:0 auto 30px;text-align:center}
.content-page__header h1{margin-top:9px;font-size:clamp(30px,4.5vw,46px)}
.content-page__header>p:last-child{margin-top:10px;color:var(--muted);font-size:12px}
.content-page__body{max-width:760px;margin-inline:auto;color:#384456;font-size:16px;line-height:1.8}
.content-page__body h2{margin:1.7em 0 .55em;color:#1d2635;font-size:clamp(22px,3vw,29px)}
.content-page__body h3{margin:1.35em 0 .45em;color:#293548;font-size:19px}
.content-page__body p,.content-page__body ul,.content-page__body ol{margin:0 0 1.15em}
.content-page__body ul,.content-page__body ol{padding-left:1.4em}
.content-page__body a{color:var(--accent-dark);font-weight:700;text-decoration:underline}
.content-page__body .cms-todo{padding:12px 14px;border:1px solid #f5c26b;border-radius:10px;background:#fff7e6;color:#7a4a19;font-weight:700}

/* ---------- footer & drawer ---------- */
.footer{padding:40px 0 0;background:#1d2635;color:#fff}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1fr;gap:22px}
.footer-brand{display:flex;align-items:flex-start;gap:12px}
.footer-logo{width:min(var(--footer-logo-width,120px),36%);height:auto;flex:0 0 auto;opacity:.95}
.footer-brand p{flex:1}
.footer h3{margin:0 0 9px;font-size:15px}
.footer p,.footer a{color:#c5cfdb;font-size:13px}
.footer p{margin:0 0 7px}
.footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:11px}
.footer-social__link{display:inline-flex;align-items:center;gap:8px;min-width:112px;padding:6px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff!important;font-weight:700;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.footer-social__link:hover{transform:translateY(-2px);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55)}
.footer-social__icon{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:#fff;color:#1d2635;font-size:12px;font-weight:900;line-height:1}
.footer-social__link--facebook .footer-social__icon{color:#1877f2}.footer-social__link--tiktok .footer-social__icon{color:#111}.footer-social__link--youtube .footer-social__icon{color:#f00;font-size:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.footer-bottom{margin-top:27px;border-top:1px solid rgba(255,255,255,.12);padding:12px 0;color:#aeb9c6;font-size:12px}
.contact-mini{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.contact-mini a,.floating-contact a{
  display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 10px;
  font-size:12px;font-weight:900;text-decoration:none
}
.contact-mini__wa,.floating-contact__wa{background:#16a34a;color:#fff!important}
.contact-mini__zalo,.floating-contact__zalo{background:#0866ff;color:#fff!important}
.floating-zalo{
  position:fixed;right:18px;bottom:20px;z-index:60;border-radius:999px;padding:12px 14px;
  background:#0866ff;color:#fff;font-weight:900;box-shadow:0 8px 24px rgba(8,102,255,.25)
}
.floating-contact{position:fixed;right:18px;bottom:20px;z-index:60;display:flex;gap:7px}
.floating-contact a{box-shadow:0 8px 24px rgba(8,102,255,.2)}
.back-to-top{position:fixed;right:18px;bottom:70px;z-index:59;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#1e2738;color:#fff;font-size:22px;line-height:1;box-shadow:0 8px 24px rgba(28,38,58,.2);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--accent);transform:translateY(-2px)}
.back-to-top:focus-visible{outline:3px solid rgba(185,111,45,.35);outline-offset:3px}
.mobile-bottom-bar{display:none}
.drawer-overlay{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:.2s}
.drawer-overlay.open{opacity:1;pointer-events:auto}
.cart-drawer{
  position:fixed;top:0;right:-430px;z-index:80;display:flex;flex-direction:column;width:min(430px,100%);height:100vh;
  background:#fff;box-shadow:-14px 0 40px rgba(0,0,0,.16);transition:.22s ease
}
.cart-drawer.open{right:0}
.cart-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid var(--line)}
.cart-drawer__head h2{margin:0}
.cart-drawer__head button{border:0;background:#f1f3f5;border-radius:50%;width:34px;height:34px;font-size:20px}
.cart-drawer__items{flex:1;overflow:auto;padding:13px}
.cart-item{display:grid;grid-template-columns:62px 1fr auto;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:62px;height:62px;border-radius:8px;object-fit:cover;background:#eee}
.cart-item h4{margin:0;font-size:13px}
.cart-item p{margin:3px 0;color:#d92d20;font-size:13px;font-weight:800}
.cart-item__qty{display:flex;gap:5px;align-items:center;margin-top:6px}
.cart-item__qty button{width:23px;height:23px;border:1px solid #d7dde5;border-radius:6px;background:#fff}
.cart-item__remove{border:0;background:transparent;color:#8791a0;font-size:19px}
.cart-drawer__bottom{padding:14px;border-top:1px solid var(--line)}
.cart-total{display:flex;justify-content:space-between;margin-bottom:10px;font-weight:900}
.cart-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.cart-contact-actions .btn{width:100%;justify-content:center}
.cart-drawer__bottom p{color:var(--muted);font-size:11px}

/* ---------- admin ---------- */
.admin-wrap{width:min(1120px,calc(100% - 24px));margin:24px auto}
.admin-wide{width:min(1900px,calc(100% - 24px))}
.admin-card,.admin-section{border:1px solid #e3e7ec;border-radius:15px;background:#fff;padding:17px;box-shadow:var(--shadow-sm)}
.admin-card{margin-bottom:15px}
.admin-section{margin:15px 0}
.admin-actions,.admin-form-submit{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}
.admin-table-wrap,.admin-table-scroll{overflow:auto;border:1px solid #e4e8ee;border-radius:11px}
.admin-table-scroll{max-height:62vh;scrollbar-width:thin}
.admin-table{width:100%;border-collapse:collapse;background:#fff}
.admin-table th,.admin-table td{padding:7px;border-bottom:1px solid #e5e9ef;text-align:left;font-size:12px;vertical-align:middle}
.admin-table th{background:#f7f9fb;color:#475467;font-weight:900}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.field{display:grid;gap:5px}
.field.full,.field-full{grid-column:1/-1}
.field label{font-size:13px;font-weight:800}
.field input,.field select,.field textarea{width:100%;border:1px solid #d3d9e2;border-radius:9px;padding:10px;background:#fff}
.field small,.note{color:#6d7888;font-size:12px}
.thumb-admin{width:65px;height:52px;border-radius:8px;background:#eee;object-fit:cover}
.admin-image-upload{display:inline-grid;place-items:center;width:65px;height:52px;border-radius:8px;background:#eef2f7;color:#475467;font-size:11px;font-weight:800;cursor:pointer;overflow:hidden}
.admin-image-upload input{display:none}
.admin-image-upload img{width:100%;height:100%;object-fit:cover}
.admin-media-mini-btn{display:block;margin-top:4px;width:65px;border:0;border-radius:7px;background:#edf2f7;color:#344054;font-size:11px;font-weight:800;padding:4px 0;cursor:pointer}
.admin-media-selected{font-size:12px;color:#027a48;font-weight:800;margin-top:6px}
.admin-media-pick-open{margin-top:8px;width:max-content}
.admin-media-picker{position:fixed;inset:0;z-index:9999;display:none;background:rgba(15,23,42,.68);padding:18px}
.admin-media-picker.is-open{display:grid;place-items:center}
.admin-media-picker__panel{width:min(100%,980px);max-height:86vh;overflow:auto;background:#fff;border-radius:12px;padding:14px;box-shadow:0 22px 70px rgba(15,23,42,.32)}
.admin-media-picker__head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.admin-media-picker__head button{border:0;border-radius:8px;background:#172033;color:#fff;font-weight:800;padding:8px 12px;cursor:pointer}
.admin-media-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.admin-media-choice,.quick-media-choice{border:1px solid #d7dee8;border-radius:9px;background:#fff;padding:6px;text-align:left;cursor:pointer;overflow:hidden}
.admin-media-choice:hover,.quick-media-choice:hover{border-color:#172033}
.admin-media-choice img,.quick-media-choice img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:7px;background:#f1f3f5;display:block}
.admin-media-choice span,.quick-media-choice span{display:block;margin-top:5px;font-size:11px;line-height:1.25;color:#344054;max-height:28px;overflow:hidden}
.admin-success,.admin-error{padding:10px 12px;border-radius:9px;font-weight:800}
.admin-success{background:#eaf8ef;color:#166534}
.admin-error{background:#fef2f2;color:#b42318}
.admin-dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.admin-dashboard-card{display:grid;gap:2px;border:1px solid #e4e8ee;border-radius:12px;padding:13px;background:#fbfcfd}
.admin-dashboard-card strong{font-size:25px;color:#a35f25}
.admin-dashboard-card small,.admin-subline{display:block;color:#758194;font-size:11px}
.admin-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:12px 0}
.check-card{display:flex;gap:8px;border:1px solid #e5e8ec;border-radius:10px;padding:10px;background:#fafbfc}
.check-card small{display:block;color:#778293}
.admin-badges{display:flex;gap:5px;flex-wrap:wrap}
.admin-badges span{border-radius:999px;background:#eaf8ef;color:#137a55;padding:3px 6px;font-size:10px;font-weight:800}
.admin-filter-bar,.bulk-toolbar,.admin-save-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
.admin-filter-bar input,.admin-filter-bar select,.bulk-toolbar input,.bulk-toolbar select{min-height:36px;padding:7px 8px;border:1px solid #d3d9e2;border-radius:8px;background:#fff}
.bulk-toolbar{padding:10px;border-radius:10px;background:#fff8eb;border:1px solid #f1dfbd}
.quick-edit-table{min-width:1320px;table-layout:fixed}
.quick-edit-table th{position:sticky;top:0;z-index:2;white-space:nowrap;overflow:visible}
.quick-col-resizer{position:absolute;top:8px;right:-5px;width:10px;height:calc(100% - 16px);cursor:col-resize;user-select:none;z-index:4}
.quick-col-resizer::after{content:"";display:block;width:3px;height:100%;margin:0 auto;border-radius:3px;background:#c7d0dc}
.quick-col-resizer:hover::after{background:#1d2939}
.quick-input{width:100%;min-height:30px;padding:4px 6px;border:1px solid #d3d9e2;border-radius:7px;background:#fff}
.quick-name{width:100%}.quick-category{width:100%}.quick-price{width:100%}.quick-small{width:100%}.quick-label{width:100%}.quick-status{width:100%}
.quick-weight{width:100%}.quick-actions{white-space:nowrap}.quick-actions a{display:inline-block;margin-right:5px;color:#0866ff;font-weight:700}
.admin-save-bar{position:sticky;bottom:0;padding:9px 0 2px;background:#fff}
.weight-img{width:58px;height:48px;object-fit:cover;border-radius:8px;background:#eee}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .header-main{grid-template-columns:auto 205px minmax(220px,1fr) auto}
  .header-appointment{display:none}
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .trust-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:780px){
  .container{width:min(100% - 24px,1240px)}
  .topbar__inner span:first-child{display:none}
  .topbar__inner{justify-content:center;text-align:center}
  .header-main{grid-template-columns:42px minmax(0,1fr) auto;padding:8px 0;gap:7px}
  .icon-btn{display:grid;gap:4px;border:0;background:#fff;padding:8px}
  .mobile-menu-btn{display:none}
  .icon-btn span{display:block;width:20px;height:2px;background:#344054}
  .brand{display:grid;place-items:center;width:42px;height:42px;overflow:hidden}
  .brand img{width:42px;height:42px;max-height:42px;object-fit:contain;object-position:left center}
  .searchbar{height:42px;border-radius:9px}
  .searchbar input{padding:8px 6px 8px 0;font-size:13px}
  .searchbar__submit{flex-basis:34px}
  .searchbar__submit svg{width:19px;height:19px}
  .header-actions{gap:6px}
  .header-appointment{display:grid;width:59px;padding:5px 4px;border-radius:8px;font-size:8px;line-height:1.15;text-align:center}
  .header-appointment strong{font-size:9px}
  .lang-switcher{display:none}
  .cart-btn{position:relative;width:34px;height:42px;justify-content:center;padding:0;border-radius:8px;background:transparent;color:var(--accent)}
  .cart-btn__icon{width:20px;height:20px}
  .cart-btn span{display:none}
  .cart-btn b{position:absolute;top:2px;right:0;min-width:15px;height:15px;padding:0 2px;border:1px solid var(--accent);font-size:9px}
  .main-nav{display:none}
  .main-nav.open{display:block}
  .main-nav__inner{display:grid;padding:8px 0}
  .main-nav a{padding:9px 4px;border-bottom:1px solid #f1eee9}
  .appointment-strip__inner{display:block;padding:17px}
  .appointment-strip__inner .btn{margin-top:11px}
  .important-grid{grid-template-columns:1fr}
  .section-heading--split{display:block}
  .section-heading--split>p{margin-top:6px}
  .category-grid{grid-template-columns:repeat(2,1fr)}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .product-card__image{height:215px}
  .product-card__body{padding:9px}
  .product-card h3{font-size:12px;min-height:35px;max-height:35px}
  .product-card__pricing strong{font-size:16px}
  .product-filter__grid{grid-template-columns:1fr}
  .custom-order__inner,.product-detail{grid-template-columns:1fr}
  .custom-order__visual img{height:210px}
  .product-gallery__main{height:340px}
  .showcase-grid figure{flex-basis:calc((100% - 12px)/2)}
  .showcase-grid img{height:180px}
  .feedback-card img{height:210px}
  .trust-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .article-detail{padding:24px}
  .article-consultation{grid-template-columns:1fr}
  .article-consultation__actions{display:flex;min-width:0;flex-wrap:wrap}
  .article-consultation__actions .btn{flex:1 1 180px}
  .article-related__grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .floating-zalo,.floating-contact{display:none}
  .back-to-top{right:12px;bottom:66px;width:40px;height:40px;font-size:20px}
  .mobile-bottom-bar{
    position:fixed;left:0;right:0;bottom:0;z-index:64;display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;
    background:#fff;border-top:1px solid var(--line);box-shadow:0 -5px 18px rgba(0,0,0,.08)
  }
  .mobile-bottom-bar a,.mobile-bottom-bar button,.mobile-lang-switcher{border:0;background:#fff;padding:10px 4px;text-align:center;font-size:11px;font-weight:900;color:#263241}
  .mobile-bottom-bar .whatsapp{background:#16a34a;color:#fff}
  .mobile-bottom-bar .zalo{background:#0866ff;color:#fff}
  .mobile-bottom-bar .mobile-appointment{background:#fff7e9;color:#7a4a19}
  .mobile-lang-switcher{display:flex;align-items:center;justify-content:center;gap:3px}
  .mobile-lang-switcher .lang-btn{border:0;background:transparent;padding:0 2px;font-size:11px;font-weight:900;color:#6b7280}
  .mobile-lang-switcher .lang-btn.active{color:#a35f25;text-decoration:underline}
  body{padding-bottom:52px}
  .form-grid,.admin-dashboard-grid,.admin-check-grid{grid-template-columns:1fr}
}
@media(max-width:430px){
  .brand img{width:155px}
  .appointment-strip h1{font-size:27px}
  .category-card img{height:120px}
  .product-card__image{height:185px}
  .blog-grid{grid-template-columns:1fr}
  .showcase-grid figure{flex-basis:82vw}
  .article-page{padding-top:22px}
  .article-breadcrumbs{margin-bottom:12px}
  .article-detail{padding:20px 17px;border-radius:17px}
  .article-detail__header{margin-bottom:18px}
  .article-detail h1{font-size:29px}
  .article-detail__meta{gap:6px;font-size:11px}
  .article-detail__media{margin-bottom:22px}
  .article-detail__cover{border-radius:12px}
  .article-detail__excerpt{padding-left:13px;font-size:17px}
  .article-detail__content{font-size:15px;line-height:1.78}
  .article-consultation{margin-top:30px;padding:19px 16px}
  .article-consultation__actions{display:grid}
  .article-related{padding-top:34px}
  .article-related__grid{grid-template-columns:1fr}
  .feedback-heading{align-items:flex-start}.feedback-slider__nav{display:none}.feedback-google-actions .btn{width:100%;justify-content:center;text-align:center}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{align-items:center}
}


/* Mobile contact/language patch */
@media(max-width:780px){
  .topbar__appointment{display:inline!important;color:#ffd98b;font-weight:800}
  .header-actions .lang-switcher{display:none}
  .floating-whatsapp{display:none}
}
@media(min-width:781px){
  .mobile-bottom-bar{display:none!important}
}


/* Category parent/child patch */
.category-subnav{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.category-subnav a{display:inline-flex;align-items:center;border:1px solid rgba(120,72,32,.22);background:#fff;border-radius:999px;padding:9px 14px;font-weight:700;color:#5b3418;text-decoration:none;box-shadow:0 8px 22px rgba(77,43,18,.06)}
.category-subnav a.active,.category-subnav a:hover{background:#6f3f1e;color:#fff;border-color:#6f3f1e}
.cat-child-row td:nth-child(2){padding-left:22px}
.cat-parent-row td:nth-child(2) b{color:#7a421d}
@media (max-width:640px){.category-subnav{gap:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.category-subnav a{white-space:nowrap;padding:8px 12px;font-size:13px}}
/* Reusable tag suggestions for media and products. */
.tag-presets{display:grid;gap:9px;margin-top:9px;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc}
.tag-presets__group{display:grid;gap:5px}
.tag-presets__group>small{color:#667085;font-size:11px;font-weight:800}
.tag-presets__chips{display:flex;flex-wrap:wrap;gap:5px}
.tag-preset{border:1px solid #d0d5dd;border-radius:999px;background:#fff;color:#344054;padding:4px 8px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.tag-preset:hover{border-color:#b96f2d;color:#7a4318}
.tag-preset.is-selected{border-color:#b96f2d;background:#fff2e5;color:#7a4318}
.search-more-models{background:#fff}
.search-more-models__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.search-more-models__card{display:block;overflow:hidden;border:1px solid #e5e7eb;border-radius:14px;background:#fff;color:#172033;text-decoration:none;box-shadow:0 8px 24px rgba(15,23,42,.05);transition:transform .16s ease,box-shadow .16s ease}
.search-more-models__card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.1)}
.search-more-models__card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f1f3f5}
.search-more-models__card span{display:block;padding:10px 12px;font-size:13px;font-weight:800;line-height:1.4}
.search-more-models__actions{display:flex;justify-content:center;margin-top:18px}
.showcase-more{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:22px;padding:14px 16px;border:1px solid rgba(168,106,50,.2);border-radius:14px;background:#fffaf4;color:#55483d;font-weight:700}
.showcase-more .btn{white-space:nowrap}
@media(max-width:760px){.search-more-models__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.search-more-models__card span{padding:8px 9px;font-size:12px}}
@media(max-width:560px){.showcase-more{align-items:stretch;text-align:center}.showcase-more .btn{width:100%;justify-content:center}}
