/* Layout v4: visible catalogue rails, stable inner templates and sticky navigation. */
:root{
  --header-offset:144px;
  --admin-offset:0px;
  --page-bg:#f7f8f5;
  --card:#fff;
  --shadow-sm:0 8px 28px rgba(20,43,59,.07);
  --shadow-md:0 16px 46px rgba(20,43,59,.11);
}
body{background:var(--page-bg);overflow-x:hidden}
body.admin-bar{--admin-offset:32px}
html{scroll-padding-top:calc(var(--header-offset) + var(--admin-offset) + 24px)}
.site-header{position:sticky;top:var(--admin-offset);z-index:1000;box-shadow:0 1px 0 rgba(20,43,59,.1);transition:box-shadow .18s ease}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(20,43,59,.13)}
.nav-band{position:relative}
.page-main{width:min(1360px,calc(100% - 64px))}
.hero-v3 .hero-copy{box-shadow:-50vw 0 0 50vw #fbfbf8}
.site-nav a span,.category-card h3,.section-heading h2,.content-card h2,.product-card h3{text-wrap:balance}
.section-heading a,.section-heading-actions a,.text-link,.category-banner .banner-link,.quote-link,.prose a,.product-summary a:not(.button){text-decoration:none;text-underline-offset:0}

/* Homepage catalogue */
.catalogue-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:end;gap:52px;max-width:none;margin:34px 0 0;padding:30px 34px;border:1px solid #d8e3dd;border-radius:14px;background:#eef4f0}
.catalogue-intro h2{font-size:clamp(30px,2.4vw,40px);margin:7px 0 0;text-wrap:balance}
.catalogue-intro p{font-size:17px;line-height:1.75;color:var(--muted);margin:0}
.section-kicker{display:block;color:#6e5109;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}
.catalogue-section{padding:42px 0;border-top:1px solid #dfe5e2}
.catalogue-section .section-heading{margin-bottom:20px}
.catalogue-section .section-heading h2{font-size:clamp(25px,2.4vw,34px)}
.section-heading-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}
.carousel-controls{display:flex;gap:8px}
.carousel-controls button{display:grid;place-items:center;width:43px;height:43px;border:1px solid #9cafb4;border-radius:50%;background:#fff;color:var(--ink);font-size:20px;line-height:1;transition:background .16s,border-color .16s,transform .16s}
.carousel-controls button:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-1px)}
.carousel-controls button:disabled{cursor:default;opacity:.35}
.section-products{display:grid;grid-template-columns:minmax(240px,292px) minmax(0,1fr);gap:24px;align-items:stretch}
.category-banner{position:relative;min-height:455px;isolation:isolate;border:0;border-radius:14px;background:#163446;box-shadow:var(--shadow-sm)}
.category-banner:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(9,31,44,.04) 30%,rgba(9,31,44,.94) 100%)}
.category-banner>img{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;order:0;transition:transform .35s ease}
.category-banner:hover>img{transform:scale(1.035)}
.category-banner>div{position:absolute;z-index:1;inset:auto 0 0;background:transparent;padding:28px 24px;color:#fff;order:0}
.category-banner h3{color:#fff;font-size:27px;line-height:1.22;margin:9px 0 16px;text-wrap:balance}
.category-banner .banner-count{display:inline-flex;padding:5px 9px;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;font-size:11px;font-weight:650;text-decoration:none}
.category-banner .banner-link{color:#fff;font-size:14px;font-weight:650;text-decoration:none;text-underline-offset:0}
.product-carousel{min-width:0;display:flex;align-items:stretch}
.product-carousel-track{display:grid;grid-template-columns:none;grid-template-rows:1fr;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 2px 12px;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-color:#9aaca7 #e7ece9;scrollbar-width:thin;overscroll-behavior-inline:contain}
.product-carousel-track::-webkit-scrollbar{height:8px}
.product-carousel-track::-webkit-scrollbar-track{background:#e7ece9;border-radius:99px}
.product-carousel-track::-webkit-scrollbar-thumb{background:#91a49e;border-radius:99px}
.product-carousel-track>.product-card{scroll-snap-align:start;height:100%;min-width:0;box-shadow:0 5px 18px rgba(20,43,59,.045)}
.product-carousel-track>.product-card:hover{box-shadow:var(--shadow-sm)}
.product-card>.product-tools{opacity:1}
.home-more{display:block}
.home-more>summary{display:none}

/* Product page */
.product-detail{padding:18px 0 10px}
.product-summary{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:var(--shadow-sm)}
.product-jump-links{position:sticky;top:calc(var(--header-offset) + var(--admin-offset));z-index:900;flex-wrap:nowrap;gap:0;margin:36px 0 0;padding:0 12px;overflow-x:auto;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(20,43,59,.09);backdrop-filter:blur(12px);scrollbar-width:none}
.product-jump-links::-webkit-scrollbar{display:none}
.product-jump-links a{position:relative;flex:0 0 auto;padding:17px 18px;border:0;color:var(--text)}
.product-jump-links a:first-child{border-bottom:0}
.product-jump-links a:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;background:transparent;border-radius:5px 5px 0 0}
.product-jump-links a:hover,.product-jump-links a.is-active{color:var(--green)}
.product-jump-links a.is-active:after{background:var(--gold)}
#mo-ta,#thong-so,#bao-gia{scroll-margin-top:calc(var(--header-offset) + var(--admin-offset) + 76px)}
.product-description,.product-specs{max-width:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px 38px;margin-top:26px;box-shadow:var(--shadow-sm)}
.product-description>h2:first-child,.product-specs>h2:first-child{margin-top:0}
.product-description>p:first-of-type{font-size:19px;line-height:1.85;color:#203b49}
.product-description h3{padding:14px 17px;border-left:4px solid var(--gold);border-radius:0 8px 8px 0;background:#f6f8f6}
.product-specs table{border-radius:9px;overflow:hidden}
.quote-section{box-shadow:var(--shadow-sm)}
.related-products>.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Rich editorial presentation */
.article-shell{grid-template-columns:250px minmax(0,860px);gap:34px;justify-content:center}
.article-toc{top:calc(var(--header-offset) + var(--admin-offset) + 24px);border:1px solid #d6dfda;border-top:4px solid var(--gold);box-shadow:var(--shadow-sm)}
.article-toc nav{display:grid;gap:2px}
.article-toc a{margin:0;padding:8px 10px;border-radius:6px;color:#285a49;line-height:1.5}
.article-toc a:hover,.article-toc a.is-active{background:#edf5ef;color:#0d5138}
.article{max-width:860px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:42px 48px;box-shadow:var(--shadow-sm)}
.article .topic-chip{margin-bottom:18px}
.article h1{font-size:clamp(32px,3.2vw,47px);line-height:1.14;text-wrap:balance}
.article-cover{margin:28px -20px 36px;width:calc(100% + 40px);max-width:calc(100% + 40px);max-height:470px;padding:12px;background:#f8faf8}
.prose{color:#2d414d}
.prose h2{position:relative;clear:both;margin:48px 0 20px;padding:0 0 12px 19px;font-size:clamp(26px,2.3vw,32px);border-bottom:1px solid #e1e7e4;scroll-margin-top:calc(var(--header-offset) + var(--admin-offset) + 30px)}
.prose h2:before{content:"";position:absolute;left:0;top:.16em;width:5px;height:1em;border-radius:99px;background:var(--gold)}
.prose h3{margin:34px 0 14px;font-size:23px;color:#18394b}
.prose p{margin:0 0 22px}
.article>p:not(.article-date):first-of-type{font-size:19px;line-height:1.85;color:#203b49}
.prose ul,.prose ol{margin:20px 0 28px;padding:20px 24px 20px 48px;border:1px solid #dbe4df;border-radius:10px;background:#f7faf8}
.prose li{padding-left:4px;margin:8px 0}
.prose li::marker{color:var(--green);font-weight:750}
.prose blockquote{border:1px solid #b8cec2;border-left:5px solid var(--green);border-radius:0 10px 10px 0;box-shadow:0 6px 18px rgba(20,43,59,.05)}
.prose table{display:block;overflow-x:auto;border:1px solid #ccd7d2;border-radius:10px;margin:28px 0;white-space:normal}
.prose table tbody{display:table;width:100%}
.prose figure{margin:30px 0}
.prose figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:8px}
.prose hr{border:0;border-top:1px solid var(--line);margin:38px 0}
.article-callout{padding:28px;background:linear-gradient(135deg,#eaf4ee,#f8f3df)}
.article-callout h2{padding-left:0;border:0;margin-top:0}
.article-callout h2:before{display:none}
.page-main>article.prose:not(.about-page){max-width:920px;margin-inline:auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:42px 48px;box-shadow:var(--shadow-sm)}

/* Archives and supporting pages */
.archive-heading{max-width:none}
.archive-heading:not(.archive-heading-banner){background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 34px;box-shadow:var(--shadow-sm)}
.archive-heading-banner{max-width:none;box-shadow:var(--shadow-sm)}
.catalogue-sidebar{position:sticky;top:calc(var(--header-offset) + var(--admin-offset) + 22px);box-shadow:var(--shadow-sm)}
.archive-layout>div{min-width:0}
.content-card{box-shadow:0 5px 20px rgba(20,43,59,.05);transition:transform .18s,box-shadow .18s}
.content-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.editorial-grid .content-card{display:flex;flex-direction:column}
.editorial-grid .content-card-body{display:flex;flex:1;flex-direction:column}
.editorial-grid .text-link{margin-top:auto}
.about-page{max-width:1000px;padding:48px;box-shadow:var(--shadow-sm)}
.about-page>h1{font-size:clamp(34px,4vw,48px)}
.contact-info,.contact-form-panel{box-shadow:var(--shadow-sm)}

@media (max-width:1200px){
  .product-carousel-track{grid-auto-columns:calc((100% - 20px)/2)}
  .section-products{grid-template-columns:minmax(220px,255px) minmax(0,1fr)}
  .category-banner{min-height:430px}
  .article-shell{grid-template-columns:220px minmax(0,820px)}
  .related-products>.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:900px){
  :root{--header-offset:145px}
  .container,.page-main{width:calc(100% - 36px)}
  .section-products{grid-template-columns:220px minmax(0,1fr);gap:18px}
  .category-banner{min-height:420px;display:block}
  .category-banner>img{width:100%;height:100%;margin:0}
  .product-carousel-track{grid-auto-columns:minmax(205px,72%);gap:16px}
  .article-shell{grid-template-columns:1fr;max-width:860px;margin-inline:auto}
  .article-toc{position:relative;top:auto}
  .article-toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .archive-layout{grid-template-columns:185px minmax(0,1fr)}
  .catalogue-sidebar{top:calc(var(--header-offset) + var(--admin-offset) + 16px)}
  .related-products>.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalogue-intro{grid-template-columns:1fr;gap:12px;padding:26px 28px}
}

@media (max-width:782px){body.admin-bar{--admin-offset:46px}}

@media (max-width:640px){
  :root{--header-offset:126px}
  .container,.page-main{width:calc(100% - 28px)}
  .site-header.is-condensed .header-top{padding-block:8px}
  .site-header.is-condensed .logo img{width:132px}
  .site-header.is-condensed .site-search{display:none}
  .hero-v3 .hero-copy{box-shadow:none}
  .catalogue-intro{margin-top:26px;padding:22px 20px;gap:10px;border-radius:11px}
  .catalogue-intro h2{font-size:28px}
  .catalogue-intro p{font-size:16px}
  .hero-v3 h1{font-size:34px}
  .catalogue-section{padding:34px 0}
  .catalogue-section .section-heading{align-items:flex-end}
  .catalogue-section .section-heading h2{font-size:24px}
  .section-heading-actions>a{display:none}
  .carousel-controls button{width:40px;height:40px}
  .section-products{grid-template-columns:1fr;gap:14px}
  .category-banner{min-height:245px;display:block;flex-direction:initial;align-items:initial}
  .category-banner>img{position:absolute;width:100%;height:100%;margin:0}
  .category-banner>div{padding:22px}
  .category-banner h3{font-size:25px;max-width:260px}
  .product-carousel-track{grid-auto-columns:minmax(205px,82%);gap:12px;padding-bottom:10px}
  .product-carousel-track .card-actions{flex-direction:row}
  .product-carousel-track .card-actions a{font-size:11px}
  .product-jump-links{top:calc(var(--header-offset) + var(--admin-offset));margin-inline:-14px;border-radius:0;padding-inline:7px}
  .site-header.is-condensed~#main .product-jump-links{top:calc(var(--header-offset) + var(--admin-offset))}
  .product-jump-links a{padding:14px 11px;font-size:12px}
  .product-description,.product-specs{padding:24px 20px;border-radius:11px}
  .article{padding:28px 20px;border-radius:12px}
  .article-cover{margin:22px 0 30px;width:100%;max-width:100%}
  .article-toc nav{grid-template-columns:1fr}
  .prose h2{margin-top:38px;padding-left:15px;font-size:25px}
  .prose h3{font-size:21px}
  .prose ul,.prose ol{padding:17px 17px 17px 39px}
  .page-main>article.prose:not(.about-page),.about-page{padding:28px 20px}
  .archive-heading:not(.archive-heading-banner){padding:24px 20px}
  .archive-layout{grid-template-columns:1fr}
  .catalogue-sidebar{position:static}
  .related-products>.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (prefers-reduced-motion:reduce){
  .product-carousel-track{scroll-behavior:auto}
  .category-banner>img,.content-card,.site-header{transition:none}
}
