/* Values measured from nctu.edu.vn on 23 October 2026:
   primary buttons #EC1E24, active navigation #D72134,
   utility bar/footer #FFD24B, main canvas #F2EDE4, accent --sub-color #25359D.
   Keep this small, final layer authoritative for the storefront identity. */
:root {
  --red:#ec1e24;
  --gold:#ffd24b;
  --brand-blue:#25359d;
  --blue:#25359d;
  --green:#ec1e24;
  --navy:#292d34;
  --ink:#292d34;
  --paper:#f2ede4;
  --muted:#686660;
  --line:#e0d9ce;
}
.category-bar-inner { flex-wrap:wrap; }
.category-bar-inner>a { padding:12px 10px; }
.category-bar-inner>a:first-child { min-width:165px; margin-right:5px; padding-right:16px; }
.category-bar-inner>.nav-help { display:none; }
.category-bar-inner>.nav-assistant { margin-left:auto; }
.catalog-tabs,.home-filter { flex-wrap:wrap; gap:9px; }
.catalog-more { display:flex; justify-content:center; margin-top:30px; }
.catalog-more button[hidden] { display:none; }
.stock-note { color:#686660; font-size:13px; }
.main-nav.open { max-height:70vh; overflow:auto; }
body { background:var(--paper); color:var(--ink); }
.topline { background:var(--gold); color:#292d34; }
.topline .container { min-height:36px; }
.topline svg,.top-links a:hover { color:var(--red); }
.site-header { background:#fff; box-shadow:0 3px 12px #302a2008; }
.brand-logo { width:231px; height:60px; }
.header-inner { height:88px; }
.header-search { border-color:#e0d9ce; background:#f9f7f0; }
.header-search button { background:var(--red); }
.header-search button:hover { background:#cf2036; }
.shop-category-bar { background:#fff; color:var(--ink); border-top:1px solid #f0ece5; border-bottom:3px solid var(--gold); }
.category-bar-inner>a:first-child { background:#d72134; color:#fff; }
.category-bar-inner>a:hover { background:#fff6d8; color:var(--red); }
.category-bar-inner>a:first-child:hover { background:#cf2036; color:#fff; }
.category-bar-inner>.nav-assistant { color:var(--red); }
.category-bar-inner>.nav-help { color:var(--brand-blue); }
.category-bar-inner>.nav-assistant svg { color:var(--red); }
.dnc-hero { background:#f2ede4; color:var(--ink); padding-top:38px; padding-bottom:78px; }
.dnc-hero .eyebrow { background:var(--gold); border:0; color:#514225; letter-spacing:.07em; }
.dnc-hero .eyebrow svg { color:var(--red); }
.dnc-hero h1 { color:#292d34; }
.dnc-hero h1>span { color:var(--red); }
.dnc-hero-copy>p { color:#69655f; }
.dnc-hero .hero-actions .button { border-radius:99px; }
.dnc-text-link { color:var(--red); }
.dnc-text-link svg { color:var(--red); }
.hero-brand-list>span { color:#777169; }
.hero-brand-list b { color:#534d45; }
.orbit-one { border-color:#e0d8c9; }
.orbit-two { border-color:#ffd24b22; }
.dnc-product-stage { background:#fffaf7; border:5px solid #fff; box-shadow:0 18px 40px #66553e12; }
.stage-caption { color:#8e7564; }
.stage-bottom { color:#3d3734; }
.stage-bottom small { color:#86796d; }
.stage-bottom .round-arrow { background:var(--red); }
.dnc-price-card { border-color:#ebe3d5; box-shadow:0 12px 28px #5b4e3914; }
.dnc-price-card small { color:#776b65; }
.dnc-price-card .price-icon { background:#edf0fb; color:var(--brand-blue); }
.dnc-mini-product { box-shadow:0 10px 30px #5b4e3918; }
.dnc-mini-product>span { background:#fff6d8; color:#765528; }
.dnc-stamp { background:var(--gold); color:#644a1d; box-shadow:0 0 0 6px #fffaf7; }
.dnc-quick-card { background:#fffaf7; border-color:#fffaf7; box-shadow:0 8px 24px #5b4e390c; }
.dnc-quick-card:hover { border-color:#ec1e2466; }
.dnc-quick-card b { color:var(--ink); }
.dnc-assistant-card { background:var(--red); border-color:var(--red); }
.dnc-assistant-card b { color:#fff; }
.dnc-assistant-card small { color:#ffe8dc; }
.section-heading .eyebrow { color:#8a7863; }
.heading-dot { color:var(--red); }
.home-filter button { background:#fffaf7; border-color:#ded6c9; color:#69655f; }
.home-filter button:hover { background:#fff6d8; color:var(--red); }
.home-filter button.selected,.home-filter button.selected:hover { background:var(--red); border-color:var(--red); color:#fff; }
.product-card { border-color:#e5ddd2; background:#fff; }
.product-card:hover { border-color:#ec1e2466; box-shadow:0 10px 25px #8d623f12; }
.product-info { border-color:#f2ede4; }
.product-category { background:#fff5d6; color:#80612a; }
.product-info h3 { color:#303238; }
.product-sku,.product-description { color:#77716a; }
.product-sku>span { color:#93897d; }
.add-button { color:var(--red); background:#fff0ed; }
.add-button:hover { background:var(--red); color:#fff; }
.promo-sound { background:#fffaf7; }
.promo-keyboard { background:#ffe8a2; }
.promo-link { color:var(--red); }
.finder-section { background:#f9f7f0; }
.finder-copy h2>span { color:var(--red); }
.finder-form { border-color:#e7decd; }
.finder-form select { background:#fffaf7; border-color:#e2d9ca; }
.button.primary,.woocommerce button.button.alt,.woocommerce a.checkout-button,.woocommerce button.single_add_to_cart_button { background:var(--red); border-color:var(--red); box-shadow:0 6px 15px #ec1e2414; color:#fff; }
.button.primary:hover,.woocommerce button.button.alt:hover,.woocommerce a.checkout-button:hover,.woocommerce button.single_add_to_cart_button:hover { background:#cf2036; }
.button.light:hover { background:#fff6d8; }
.dnc-benefits { background:#fffaf7; border-color:#e6ded2; }
.site-footer { background:var(--gold); border-top:4px solid var(--red); color:var(--ink); }
.footer-grid .brand-logo { width:231px; height:60px; }
.footer-grid h3 { color:#292d34; }
.footer-grid p,.footer-grid>div>a:not(.brand),.site-footer .text-button { color:#5c4b30; }
.footer-grid a:hover,.site-footer .text-button:hover { color:var(--red); }
.footer-tag { color:#9d2424; }
.footer-bottom { color:#6c542d; border-color:#8c661b33; }
.footer-cod { color:#7b321f; border-color:#a77d2b66; background:#fff7db66; }
.shop-title h1,.page-heading h1 { color:var(--ink); }
.page-heading .eyebrow { color:var(--red); }
.shop_table th { background:#fff4d3; color:#51452e; }
.woocommerce-checkout-payment,.woocommerce-message,.woocommerce-info { background:#fff7df; color:#705734; border-color:#e3d7ba; }
.woocommerce div.product .woocommerce-product-gallery { background:#fff; border-color:#e3dbcf; }
.woocommerce div.product .summary .price { color:var(--red); }
.catalog-tabs .selected { background:var(--red); border-color:var(--red); color:#fff; }
.help-grid h2,.shop-faq summary { color:var(--red); }
.consent-banner { background:#fffaf7; border-color:#dfd4c2!important; }
@media(max-width:1150px) { .brand-logo { width:216px; } .footer-grid .brand-logo { width:210px; } }
@media(max-width:680px) {
  .topline .container { min-height:28px; }
  .header-inner { height:67px; }
  .brand-logo { width:189px; height:50px; }
  .mobile-search { background:#f9f7f0; border-color:#e7dfd2; }
  .main-nav a { color:var(--ink); }
  .main-nav .active { color:var(--red); }
  .dnc-hero { padding-top:28px; padding-bottom:63px; }
  .dnc-hero-copy>p { color:#69655f; }
  .dnc-hero .eyebrow { color:#514225; }
  .dnc-text-link { color:var(--red); }
  .dnc-assistant-card small { color:#ffe8dc; }
  .footer-grid .brand-logo { width:170px; height:47px; }
}

/* Readable type scale. Small utility labels remain subordinate to body copy. */
body { font-size:16px; line-height:1.7; }
.brand-logo { width:252px; height:63px; }
.topline { font-size:12px; }
.header-search input { font-size:15px; height:47px; }
.header-order-link { font-size:14px; }
.header-order-link small { font-size:12px; }
.category-bar-inner>a { font-size:14px; padding:12px 19px; }
.category-bar-inner>a:first-child { min-width:226px; }
.category-bar-inner>.nav-help { font-size:13px; }
.button,.dnc-hero .button,.dnc-text-link { font-size:15px; }
.button { min-height:46px; }
.dnc-hero .eyebrow { font-size:12px; padding:7px 11px; }
.dnc-hero-copy>p { font-size:17px; max-width:455px; line-height:1.8; }
.hero-brand-list>span { font-size:10px; max-width:95px; }
.hero-brand-list b { font-size:22px; }
.hero-brand-list b:first-of-type { font-size:24px; }
.stage-caption { font-size:11px; }
.stage-bottom { font-size:17px; }
.stage-bottom small { font-size:13px; }
.dnc-price-card { min-width:270px; }
.dnc-price-card small { font-size:12px; }
.dnc-price-card strong { font-size:24px; }
.dnc-price-card .price-icon { width:43px; height:43px; }
.dnc-mini-product>span { font-size:10px; line-height:1.4; }
.dnc-stamp { font-size:10px; width:92px; height:92px; }
.dnc-stamp b { font-size:13px; }
.dnc-quick-card { height:152px; padding:21px; }
.dnc-quick-card b { font-size:22px; }
.dnc-quick-card small { font-size:13px; line-height:1.5; max-width:154px; }
.dnc-quick-card>img { width:82px; height:76px; right:10px; bottom:12px; }
.dnc-assistant-card b { font-size:21px; }
.dnc-assistant-card small { font-size:12px; }
.section-heading .eyebrow { font-size:12px; }
.section-heading h2 { font-size:34px; }
.view-all { font-size:15px; }
.home-filter button { font-size:14px; padding:10px 16px; }
.home-filter>span { font-size:13px; }
.product-card { display:flex; flex-direction:column; }
.product-visual { flex-shrink:0; }
.product-info { display:flex; flex-direction:column; flex:1; padding:17px 18px 19px; }
.product-category { font-size:12px; padding:4px 8px; }
.product-sku,.product-sku>span { font-size:12px; }
.product-info h3 { font-size:18px; line-height:1.45; min-height:53px; margin:8px 0 12px; }
.product-description { font-size:15px; line-height:1.7; min-height:77px; margin:0 0 18px; color:#69655f; flex:1; }
.product-bottom { margin-top:auto; gap:9px; }
.product-bottom strong { font-size:23px; }
.add-button { width:42px; height:42px; flex-shrink:0; }
.recommend-reason { font-size:13px; line-height:1.5; margin-bottom:13px; }
.dnc-promo { min-height:265px; }
.dnc-promo .eyebrow { font-size:12px; }
.dnc-promo h2 { font-size:28px; }
.dnc-promo p { font-size:15px; line-height:1.7; max-width:260px; }
.promo-link { font-size:15px; }
.finder-copy .eyebrow { font-size:12px; }
.finder-copy h2 { font-size:36px; }
.finder-copy>p { font-size:17px; line-height:1.8; max-width:445px; }
.finder-steps { font-size:13px; flex-wrap:wrap; gap:15px; }
.finder-footnote { font-size:14px; }
.finder-form-title h3 { font-size:22px; }
.finder-form-title p { font-size:14px; }
.finder-form label { font-size:14px; }
.finder-form select { font-size:16px; min-height:47px; }
.finder-message { font-size:14px; }
.finder-results h3 { font-size:25px; }
.finder-result-count { font-size:14px; }
.benefit-grid b { font-size:16px; }
.benefit-grid small { font-size:14px; line-height:1.6; }
.footer-grid .brand-logo { width:252px; height:63px; max-width:100%; }
.footer-grid p,.footer-grid>div>a:not(.brand),.site-footer .text-button { font-size:14px; line-height:1.75; }
.footer-grid h3 { font-size:17px; }
.footer-tag,.footer-cod { font-size:13px; line-height:1.6; }
.footer-bottom { font-size:12px; }
.page-heading .eyebrow,.shop-title .eyebrow { font-size:13px; }
.page-heading h1,.shop-title h1 { font-size:38px; }
.shop-title p,.catalog-tabs a { font-size:16px; }
.woocommerce-breadcrumb { font-size:14px; line-height:1.6; }
.woocommerce div.product .summary h1 { font-size:36px; }
.woocommerce div.product .summary .price { font-size:30px; }
.woocommerce-product-details__short-description { font-size:17px; line-height:1.8; }
.stock.in-stock { font-size:14px; }
.product_meta { font-size:14px; line-height:1.8; }
.woocommerce div.product .quantity input { font-size:17px; min-height:47px; }
.woocommerce button.button,.woocommerce a.button { font-size:16px; }
.woocommerce-tabs .tabs,.woocommerce-tabs .panel,.woocommerce-tabs .panel p { font-size:16px; line-height:1.8; }
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td { font-size:16px; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { font-size:15px; line-height:1.7; }
.shop_table { font-size:16px; }
.shop_table th { font-size:14px; }
.woocommerce form .form-row label { font-size:15px; }
.woocommerce form .form-row input,.woocommerce form .form-row textarea { font-size:16px; }
.coupon input { font-size:15px; }
.wc_payment_methods { font-size:16px; }
.payment_box,.woocommerce-privacy-policy-text { font-size:14px; }
.woocommerce-shipping-destination,.shipping-calculator-button { font-size:14px; }
.woocommerce-order-overview { font-size:14px; }
.woocommerce-order-overview strong { font-size:17px; }
.woocommerce-customer-details address { font-size:16px; }
.help-grid h2 { font-size:23px; }
.help-grid p,.shop-faq summary,.shop-faq p,.track_order>p { font-size:16px; }
.track_order .form-row label { font-size:15px; }
.lead { font-size:22px; }
.consent-banner strong { font-size:17px; }
.consent-banner p { font-size:14px!important; line-height:1.7; }
@media(max-width:1150px) {
  .brand-logo { width:225px; }
  .header-order-link { display:none; }
  .category-bar-inner>.nav-help { display:none; }
  .category-bar-inner>a { font-size:13px; padding:12px 16px; }
  .category-bar-inner>a:first-child { min-width:215px; }
  .dnc-hero h1 { font-size:43px; }
  .dnc-hero-copy>p { font-size:16px; }
  .dnc-hero .hero-actions { flex-wrap:wrap; gap:16px; }
  .dnc-quick-card b { font-size:20px; }
  .dnc-quick-card small { font-size:12px; max-width:134px; }
  .dnc-assistant-card b { font-size:19px; }
  .product-info h3 { font-size:17px; min-height:50px; }
  .product-description { font-size:14px; min-height:72px; }
  .product-bottom strong { font-size:21px; }
  .footer-grid { gap:28px; }
  .footer-grid .brand-logo { width:220px; }
}
@media(max-width:900px) {
  .header-search input { font-size:14px; }
  .category-bar-inner>a:first-child { min-width:190px; padding-right:15px; }
  .category-bar-inner>a { font-size:12px; padding:12px 11px; }
  .dnc-hero h1 { font-size:36px; }
  .dnc-hero .eyebrow { font-size:10px; }
  .dnc-hero .button,.dnc-text-link { font-size:14px; }
  .dnc-price-card { min-width:225px; }
  .dnc-price-card small { font-size:10px; }
  .dnc-price-card strong { font-size:21px; }
  .stage-bottom { font-size:14px; }
  .stage-bottom small { font-size:11px; }
  .dnc-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .dnc-quick-card { height:150px; }
  .dnc-quick-card small { max-width:160px; }
  .product-info { padding:15px; }
  .dnc-promo h2 { font-size:24px; }
  .dnc-promo p,.promo-link { font-size:14px; }
  .dnc-promo .eyebrow { font-size:10px; }
  .finder-grid { grid-template-columns:1fr; }
  .finder-copy>p { max-width:620px; }
}
@media(max-width:680px) {
  body { font-size:16px; }
  .brand-logo { width:198px; height:51px; }
  .topline .container>span:first-child { font-size:11px; }
  .header-inner { gap:10px; height:72px; }
  .header-actions { gap:13px; }
  .header-cart { width:32px; }
  .mobile-search input { font-size:15px; height:42px; }
  .main-nav { top:124px; }
  .main-nav a { font-size:16px; }
  .dnc-hero .eyebrow { font-size:10px; line-height:1.6; padding:6px 8px; }
  .dnc-hero h1 { font-size:clamp(32px,8.5vw,44px); }
  .dnc-hero-copy>p { font-size:16px; line-height:1.8; }
  .dnc-hero .hero-actions { gap:16px; flex-wrap:wrap; }
  .dnc-hero .button,.dnc-text-link { font-size:14px; }
  .dnc-hero .button { padding:12px 16px; }
  .hero-brand-list { gap:17px; flex-wrap:wrap; }
  .hero-brand-list>span { font-size:9px; max-width:77px; }
  .hero-brand-list b { font-size:18px; }
  .hero-brand-list b:first-of-type { font-size:20px; }
  .dnc-price-card { min-width:220px; }
  .dnc-price-card small { font-size:10px; }
  .dnc-price-card strong { font-size:20px; }
  .dnc-price-card .price-icon { width:34px; height:34px; }
  .dnc-mini-product { bottom:28px; }
  .dnc-mini-product>span { font-size:9px; }
  .stage-caption { font-size:10px; }
  .stage-bottom { font-size:14px; }
  .stage-bottom small { font-size:10px; }
  .dnc-stamp { width:76px; height:76px; font-size:9px; }
  .dnc-stamp b { font-size:11px; }
  .dnc-quick-grid { gap:13px; }
  .dnc-quick-card { height:166px; padding:16px; }
  .dnc-quick-card b { font-size:20px; }
  .dnc-quick-card small { font-size:12px; max-width:125px; }
  .dnc-quick-card>img { width:70px; height:62px; bottom:12px; right:7px; }
  .dnc-quick-card:nth-child(3)>img { bottom:12px; }
  .dnc-assistant-card b { font-size:19px; }
  .dnc-assistant-card small { font-size:12px; }
  .section-heading { gap:15px; align-items:end; }
  .section-heading h2 { font-size:28px; max-width:none; }
  .section-heading .eyebrow { font-size:11px; }
  .view-all { font-size:13px; flex-shrink:0; max-width:88px; }
  .home-filter { flex-wrap:wrap; gap:8px; }
  .home-filter button { font-size:13px; padding:9px 11px; }
  .home-filter button svg { width:16px; }
  .product-info { padding:12px 11px 14px; }
  .product-category { font-size:10px; padding:3px 6px; }
  .product-sku,.product-sku>span { font-size:11px; letter-spacing:0; }
  .product-info h3 { font-size:16px; min-height:70px; line-height:1.45; }
  .product-description { font-size:13px; min-height:110px; line-height:1.7; }
  .product-bottom { flex-wrap:wrap; gap:9px; }
  .product-bottom strong { font-size:19px; }
  .add-button { width:35px; height:35px; }
  .recommend-reason { font-size:12px; }
  .dnc-promo { min-height:250px; padding:25px 20px; }
  .dnc-promo h2 { font-size:24px; }
  .dnc-promo p,.promo-link { font-size:14px; }
  .dnc-promo .eyebrow { font-size:11px; }
  .dnc-promo>div { max-width:65%; }
  .dnc-promo img { width:35%; }
  .finder-copy h2 { font-size:30px; }
  .finder-copy .eyebrow { font-size:11px; }
  .finder-copy>p { font-size:16px; }
  .finder-steps { font-size:12px; gap:12px; }
  .finder-footnote { font-size:13px; }
  .finder-form { padding:21px 18px; }
  .finder-form-title h3 { font-size:20px; }
  .finder-form-title p { font-size:13px; }
  .finder-form label { font-size:14px; }
  .finder-form select { font-size:16px; }
  .finder-row { grid-template-columns:1fr; }
  .finder-message { font-size:14px; }
  .finder-results h3 { font-size:22px; }
  .benefit-grid b { font-size:15px; }
  .benefit-grid small { font-size:13px; }
  .footer-grid { gap:30px 20px; }
  .footer-grid .brand-logo { width:175px; height:49px; }
  .footer-grid p,.footer-grid>div>a:not(.brand),.site-footer .text-button { font-size:13px; }
  .footer-grid h3 { font-size:16px; }
  .footer-tag,.footer-cod { font-size:12px; }
  .footer-bottom,.footer-bottom>span:last-child { font-size:11px; white-space:normal; }
  .footer-bottom { flex-wrap:wrap; }
  .page-heading h1,.shop-title h1 { font-size:32px; }
  .woocommerce div.product .summary h1 { font-size:30px; }
  .woocommerce div.product .summary .price { font-size:28px; }
  .woocommerce-product-details__short-description { font-size:16px; }
  .product_meta { font-size:13px; }
  .woocommerce-tabs .tabs,.woocommerce-tabs .panel,.woocommerce-tabs .panel p { font-size:16px; }
  .woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td { font-size:14px; }
  .shop_table { font-size:14px; }
  .shop_table th { font-size:13px; }
  .help-grid p,.shop-faq summary,.shop-faq p,.track_order>p { font-size:16px; }
  .lead { font-size:19px; }
}
@media(max-width:370px) {
  .brand-logo { width:180px; }
  .header-actions { gap:9px; }
  .product-info h3 { font-size:15px; }
  .product-bottom strong { font-size:18px; }
  .section-heading { flex-wrap:wrap; }
  .view-all { max-width:none; }
  .dnc-quick-card small { max-width:112px; }
}
/* Expanded live catalog navigation. */
.category-bar-inner { flex-wrap:wrap; }
.category-bar-inner>a { padding:12px 10px; }
.category-bar-inner>a:first-child { min-width:165px; margin-right:5px; padding-right:16px; }
.category-bar-inner>.nav-help { display:none; }
.category-bar-inner>.nav-assistant { margin-left:auto; }
.home-filter>span { flex-basis:100%; margin-left:0; }
.catalog-tabs { gap:8px; flex-wrap:wrap; }
.catalog-tabs a { font-size:14px; padding:9px 14px; }
.purchase-hint { display:flex; gap:9px; align-items:center; color:#25359d; background:#fff7df; border-radius:10px; padding:13px 16px; font-size:15px; line-height:1.7; }
.main-nav.open { flex-direction:column; align-items:stretch; max-height:70vh; overflow:auto; }
.mobile-catalog summary { padding:12px 0; font-weight:700; cursor:pointer; }
.mobile-catalog>div { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.mobile-catalog>div>a { padding:9px 6px; font-size:14px; }
@media(max-width:767px) { .home-filter button { min-height:42px; } .purchase-hint { font-size:14px; } }
