/* =================================================================
   TP Hàn Quốc — hiện thực của docs/DESIGN-SYSTEM.md (SSOT)
   Token = biến CSS. Không dùng magic number ngoài thang đã định.
   ================================================================= */
:root{
  /* --- Màu (mục 2.1) --- */
  --c-primary:#12805a; --c-primary-hover:#0f6a4a; --c-primary-ink:#0d3a2a;
  --c-primary-soft:#e9f5ef; --c-primary-softer:#f4faf7;
  --c-accent:#b8863b; --c-accent-ink:#8a6522; --c-accent-soft:#f7f0dd;
  --c-ink:#14211c; --c-ink-2:#33443d; --c-muted:#647469; --c-faint:#8a9992;
  --c-line:#e7efea; --c-line-strong:#d5e0da;
  --c-bg:#ffffff; --c-bg-soft:#f4f8f6; --c-bg-mint:#edf6f1;
  --c-danger:#c8443a; --c-danger-soft:#fbecea;
  --c-info:#2b7bb9; --c-info-soft:#eaf3fa;
  /* --- Khoảng cách (mục 2.3) — thang 4px --- */
  --sp-4:4px; --sp-8:8px; --sp-12:12px; --sp-16:16px; --sp-20:20px; --sp-24:24px;
  --sp-32:32px; --sp-40:40px; --sp-48:48px; --sp-64:64px; --sp-80:80px;
  /* --- Bo góc / bóng / khác (mục 2.4) --- */
  --radius-sm:10px; --radius:14px; --radius-lg:20px;
  --shadow-sm:0 1px 3px rgba(13,58,42,.05),0 6px 16px rgba(13,58,42,.05);
  --shadow:0 10px 34px rgba(13,58,42,.10);
  --shadow-lg:0 24px 60px rgba(13,58,42,.16);
  --container:1180px; --pad-x:22px;
  --t-fast:120ms; --t-base:180ms;
  --font:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --focus:0 0 0 3px var(--c-primary-soft);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--c-ink);background:var(--c-bg);
  font-size:16px;line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-primary);text-decoration:none;transition:color var(--t-fast)}
a:hover{color:var(--c-primary-hover)}
:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
h1,h2,h3,h4{margin:0 0 .5em;color:var(--c-ink);font-weight:700;line-height:1.2;letter-spacing:-.02em}
h1{font-size:clamp(2rem,4.4vw,3rem);line-height:1.1}
h2{font-size:clamp(1.5rem,2.8vw,2.15rem)}
h3{font-size:1.15rem;line-height:1.3;letter-spacing:-.01em}
h4{font-size:1rem;letter-spacing:0}
p{margin:0 0 1em}
.tphq-container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--pad-x)}
.tphq-eyebrow{display:block;color:var(--c-primary);font-weight:600;font-size:.8125rem;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--sp-8)}

/* ---------- 3.1 Nút ---------- */
.tphq-btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce #place_order,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce button.single_add_to_cart_button,
.woocommerce .wc-proceed-to-checkout a.checkout-button{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-8);
  min-height:44px;padding:.9em 1.6em;border:0;border-radius:999px;cursor:pointer;
  font-family:var(--font);font-weight:600;font-size:1rem;line-height:1;letter-spacing:-.01em;text-align:center;
  transition:transform var(--t-fast),background var(--t-base),box-shadow var(--t-base)}
/* primary */
.tphq-btn--primary,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce #respond input#submit,.woocommerce #place_order,
.woocommerce button.single_add_to_cart_button,
.woocommerce .wc-proceed-to-checkout a.checkout-button{
  background:var(--c-primary);color:#fff;box-shadow:0 8px 20px rgba(18,128,90,.25)}
.tphq-btn--primary:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce #respond input#submit:hover,.woocommerce #place_order:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--c-primary-hover);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(18,128,90,.3)}
/* subtle (mặc định WC + thẻ sản phẩm) */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--c-primary-soft);color:var(--c-primary)}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:#d9efe4;color:var(--c-primary-ink)}
/* ghost */
.tphq-btn--ghost{background:#fff;color:var(--c-primary);border:1.5px solid var(--c-primary-soft)}
.tphq-btn--ghost:hover{border-color:var(--c-primary);background:var(--c-primary-soft)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.45;cursor:not-allowed}

/* ---------- 3.6 Topbar / Header ---------- */
.tphq-topbar{background:var(--c-primary-ink);color:#cfe9dd;font-size:.8rem}
.tphq-topbar__inner{display:flex;justify-content:space-between;align-items:center;height:40px;gap:var(--sp-12)}
.tphq-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);
  backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--c-line)}
.tphq-header__inner{display:flex;align-items:center;gap:var(--sp-24);height:74px}
.tphq-logo__text{display:inline-flex;align-items:center;gap:var(--sp-8);font-size:1.28rem;color:var(--c-ink);letter-spacing:-.02em}
.tphq-logo__mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);
  background:var(--c-primary);color:#fff;font-weight:700;font-size:.95rem;box-shadow:0 4px 10px rgba(18,128,90,.3)}
.tphq-nav{margin-left:auto}
.tphq-menu{display:flex;gap:var(--sp-4);list-style:none;margin:0;padding:0}
.tphq-menu a{display:block;padding:.55em 1em;border-radius:var(--radius-sm);color:var(--c-ink-2);font-weight:500}
.tphq-menu a:hover,.tphq-menu .current-menu-item>a{background:var(--c-primary-soft);color:var(--c-primary)}
.tphq-header__actions{display:flex;align-items:center;gap:var(--sp-8)}
.tphq-cart{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius);
  color:var(--c-ink);background:var(--c-bg-soft);transition:background var(--t-base)}
.tphq-cart:hover{background:var(--c-primary-soft);color:var(--c-primary)}
.tphq-cart-count{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;
  display:grid;place-items:center;border-radius:999px;background:var(--c-faint);color:#fff;font-size:.7rem;font-weight:700}
.tphq-cart-count.has-items{background:var(--c-danger)}
.tphq-burger{display:none;flex-direction:column;gap:5px;background:0;border:0;cursor:pointer;padding:var(--sp-8);
  min-width:44px;min-height:44px;align-items:center;justify-content:center}
.tphq-burger span{width:22px;height:2px;background:var(--c-ink);border-radius:2px}

/* ---------- Hero ---------- */
.tphq-hero{background:radial-gradient(120% 90% at 85% 10%,var(--c-bg-mint),var(--c-bg) 60%);
  overflow:hidden;border-bottom:1px solid var(--c-line)}
.tphq-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:var(--sp-40);
  padding:var(--sp-64) var(--pad-x) var(--sp-80)}
.tphq-badge{display:inline-flex;align-items:center;gap:var(--sp-4);background:var(--c-accent-soft);color:var(--c-accent-ink);
  font-weight:600;font-size:.82rem;padding:.5em 1em;border-radius:999px;margin-bottom:var(--sp-16);border:1px solid #ecdcb6}
.tphq-hero__text p{color:var(--c-muted);font-size:1.1rem;max-width:33em}
.tphq-hero__cta{display:flex;gap:var(--sp-12);flex-wrap:wrap;margin-top:var(--sp-24)}
.tphq-hero__art{position:relative;min-height:400px;display:grid;place-items:center}
.tphq-hero__card{width:min(86%,380px);aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;
  background:linear-gradient(160deg,#fff,var(--c-bg-soft));border:1px solid var(--c-line);
  box-shadow:var(--shadow-lg);display:grid;place-items:center;padding:var(--sp-24);transform:rotate(1.5deg)}
.tphq-hero__card img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(13,58,42,.18))}
.tphq-hero__chip{position:absolute;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);
  padding:.6em .95em;font-size:.85rem;font-weight:600;box-shadow:var(--shadow);white-space:nowrap}
.tphq-hero__chip--1{top:12%;left:-2%;animation:tphq-float 6s ease-in-out infinite}
.tphq-hero__chip--2{bottom:14%;right:0;animation:tphq-float 6s ease-in-out infinite .8s}
@keyframes tphq-float{50%{transform:translateY(-12px)}}

/* ---------- Benefits ---------- */
.tphq-benefits{margin-top:calc(-1 * var(--sp-40));position:relative;z-index:2}
.tphq-benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-8);
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);padding:var(--sp-8);box-shadow:var(--shadow)}
.tphq-benefit{display:flex;gap:var(--sp-12);align-items:center;padding:var(--sp-16);border-radius:var(--radius-sm);transition:background var(--t-base)}
.tphq-benefit:hover{background:var(--c-primary-soft)}
.tphq-benefit__ico{font-size:1.55rem;line-height:1;flex:none}
.tphq-benefit strong{display:block;font-size:.96rem;letter-spacing:-.01em}
.tphq-benefit p{margin:2px 0 0;font-size:.82rem;color:var(--c-muted);line-height:1.4}

/* ---------- Section ---------- */
.tphq-section{padding:var(--sp-64) 0}
.tphq-section__head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--sp-32);gap:var(--sp-16)}
.tphq-section__head h2{margin:0}
.tphq-link{font-weight:600;white-space:nowrap;color:var(--c-primary)}

/* ---------- 3.3 Thẻ sản phẩm ---------- */
.woocommerce ul.products{display:grid !important;gap:var(--sp-20);margin:0 !important;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none !important;display:none !important}
.woocommerce ul.products[class*="columns-"]{grid-template-columns:repeat(4,1fr)}
.woocommerce ul.products li.product{width:auto !important;margin:0 !important;float:none !important;padding:0 !important;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);overflow:hidden;position:relative;
  display:flex;flex-direction:column;text-align:left;transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base)}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--c-line-strong)}
.woocommerce ul.products li.product a{color:inherit}
.woocommerce ul.products li.product a img{margin:0;aspect-ratio:1/1;object-fit:contain;background:var(--c-bg-soft);padding:var(--sp-16)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:var(--sp-16) var(--sp-16) 0;font-size:.94rem;font-weight:600;line-height:1.45;color:var(--c-ink);
  letter-spacing:-.01em;min-height:2.9em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.woocommerce ul.products li.product .price{padding:var(--sp-8) var(--sp-16) 0;color:var(--c-primary);font-weight:700;font-size:1.1rem;display:block}
.woocommerce ul.products li.product .price del{color:var(--c-faint);font-weight:400;font-size:.85em;margin-right:.4em}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{margin:var(--sp-12) var(--sp-16) var(--sp-16) !important;margin-top:auto !important;width:calc(100% - 2*var(--sp-16))}
.woocommerce ul.products li.product .added_to_cart{margin:0 var(--sp-16) var(--sp-16);text-align:center;font-size:.85rem}
.woocommerce ul.products li.product .onsale{position:absolute;top:var(--sp-12);right:var(--sp-12);margin:0;
  background:var(--c-danger);color:#fff;border-radius:999px;padding:.3em .75em;min-height:0;min-width:0;font-weight:600;font-size:.72rem;line-height:1.3}

/* ---------- Shop header ---------- */
.woocommerce-breadcrumb{color:var(--c-faint);font-size:.85rem;margin-bottom:var(--sp-12) !important}
.woocommerce .page-title,.woocommerce-products-header__title,.tphq-page__title{
  font-size:clamp(1.7rem,3vw,2.3rem);margin:0 0 var(--sp-20)}
.woocommerce-before-shop-loop{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-16);
  padding:var(--sp-12) 0 var(--sp-20);margin-bottom:var(--sp-24);border-bottom:1px solid var(--c-line)}
.woocommerce .woocommerce-result-count{color:var(--c-muted);font-size:.92rem;margin:0}
.woocommerce .woocommerce-ordering{margin:0}
.woocommerce .woocommerce-ordering select{border:1px solid var(--c-line-strong);border-radius:var(--radius-sm);
  padding:.6em .9em;font-family:var(--font);background:#fff}
.woocommerce nav.woocommerce-pagination{margin-top:var(--sp-40)}
.woocommerce nav.woocommerce-pagination ul{border:0;gap:var(--sp-4);display:flex;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--c-line);border-radius:var(--radius-sm);min-width:42px;height:42px;line-height:42px;padding:0}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}

/* ---------- Page wrappers ---------- */
.tphq-page{padding:var(--sp-40) 0 var(--sp-64)}
.tphq-page .tphq-main{max-width:var(--container);margin:0 auto;padding:0 var(--pad-x)}

/* ---------- 4. Single product ---------- */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--sp-48);align-items:start}
.single-product div.product .woocommerce-product-gallery{margin:0;width:100% !important;float:none !important;position:sticky;top:100px}
.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery__image,
.single-product div.product .woocommerce-product-gallery img{width:100% !important}
.single-product div.product .woocommerce-product-gallery__wrapper{border:1px solid var(--c-line);
  border-radius:var(--radius);overflow:hidden;background:var(--c-bg-soft);margin:0}
.single-product div.product .woocommerce-product-gallery img{padding:var(--sp-24)}
.single-product div.product .product_title{font-size:clamp(1.6rem,2.6vw,2.2rem);margin-bottom:.25em}
.single-product div.product p.price,.single-product div.product span.price{
  color:var(--c-primary);font-weight:700;font-size:1.9rem;margin:.1em 0 var(--sp-16)}
.single-product .woocommerce-product-details__short-description{color:var(--c-muted);font-size:1.02rem;
  padding-bottom:var(--sp-20);border-bottom:1px solid var(--c-line)}
.single-product .quantity input.qty{border:1px solid var(--c-line-strong);border-radius:var(--radius-sm);
  padding:.7em;height:auto;font-family:var(--font);width:76px;text-align:center;min-height:44px}
.single-product form.cart{display:flex;gap:var(--sp-12);align-items:center;margin:var(--sp-20) 0}
.single-product .product_meta{color:var(--c-muted);font-size:.88rem;border-top:1px solid var(--c-line);padding-top:var(--sp-16);margin-top:var(--sp-8)}
.tphq-trust-list{list-style:none;margin:var(--sp-20) 0;padding:var(--sp-16) var(--sp-20);border:1px solid var(--c-primary-soft);
  border-radius:var(--radius-sm);background:var(--c-primary-soft);display:grid;gap:var(--sp-12);font-size:.92rem;font-weight:500;color:var(--c-primary-ink)}
/* Nút "Liên hệ đặt hàng" (sản phẩm chưa có giá) */
.tphq-contact-order{margin:var(--sp-20) 0;padding:var(--sp-20);border:1px solid var(--c-primary-soft);border-radius:var(--radius);background:var(--c-primary-softer)}
.tphq-contact-order__note{margin:0 0 var(--sp-12);color:var(--c-ink-2);font-size:.95rem}
.tphq-contact-order__btn{width:100%}
.woocommerce-tabs{grid-column:1/-1;margin-top:var(--sp-24)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 -1px;display:flex;gap:var(--sp-4);border:0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:1px solid var(--c-line);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--c-bg-soft);margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--c-ink-2);font-weight:600;padding:.7em 1.2em}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;border-bottom-color:#fff}
.woocommerce div.product .woocommerce-tabs .panel{border:1px solid var(--c-line);border-radius:0 var(--radius-sm) var(--radius-sm);padding:var(--sp-24);background:#fff;margin:0}
.related.products,.upsells.products{grid-column:1/-1;margin-top:var(--sp-40);border-top:1px solid var(--c-line);padding-top:var(--sp-32)}
.related.products>h2,.upsells.products>h2{margin-bottom:var(--sp-24)}

/* ---------- Cart (cổ điển, 2 cột) ---------- */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--sp-32);align-items:start}
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart form.woocommerce-cart-form{grid-column:1;margin:0}
.woocommerce-cart .cart-collaterals{grid-column:2;width:100%;float:none;margin:0}
.woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none}
.woocommerce table.shop_table{border:1px solid var(--c-line);border-radius:var(--radius);border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff}
.woocommerce table.shop_table th{background:var(--c-bg-soft);font-weight:600;color:var(--c-ink);padding:var(--sp-16)}
.woocommerce table.shop_table td{padding:var(--sp-16);border-top:1px solid var(--c-line)}
.woocommerce table.cart img{width:64px;border-radius:var(--radius-sm);border:1px solid var(--c-line);background:var(--c-bg-soft)}
.woocommerce .cart_item .product-name a{font-weight:600;color:var(--c-ink)}
.woocommerce a.remove{color:var(--c-danger) !important;border:1px solid var(--c-line);width:26px;height:26px;line-height:24px;border-radius:999px}
.woocommerce a.remove:hover{background:var(--c-danger) !important;color:#fff !important}
.woocommerce .quantity .qty{border:1px solid var(--c-line-strong);border-radius:var(--radius-sm);padding:.55em;width:70px;text-align:center;font-family:var(--font);min-height:40px}
.cart_totals{border:1px solid var(--c-line);border-radius:var(--radius);padding:var(--sp-8) var(--sp-24) var(--sp-24);background:#fff;box-shadow:var(--shadow-sm)}
.cart_totals h2{font-size:1.2rem;padding-top:var(--sp-16)}
.woocommerce-cart .wc-proceed-to-checkout{padding:0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%;font-size:1.05rem;padding:1em}
.woocommerce .cart .actions{display:flex;gap:var(--sp-12);flex-wrap:wrap;align-items:center;justify-content:space-between}
.woocommerce .cart .actions .coupon{display:flex;gap:var(--sp-8)}
.woocommerce .cart .actions .coupon .input-text{width:180px}

/* ---------- Checkout (cổ điển, 2 cột) ---------- */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 370px;
  grid-template-areas:"cust rev-h" "cust rev";column-gap:var(--sp-32);row-gap:var(--sp-8);align-items:start}
.woocommerce-checkout #customer_details{grid-area:cust;background:#fff;border:1px solid var(--c-line);
  border-radius:var(--radius);padding:var(--sp-24);box-shadow:var(--shadow-sm)}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%;float:none;max-width:none;margin:0}
.woocommerce-checkout #customer_details .col-2{margin-top:var(--sp-20)}
.woocommerce-checkout #order_review_heading{grid-area:rev-h;margin:0;font-size:1.2rem}
.woocommerce-checkout #order_review{grid-area:rev;background:var(--c-bg-soft);border:1px solid var(--c-line);
  border-radius:var(--radius);padding:var(--sp-8) var(--sp-24) var(--sp-24);position:sticky;top:100px}
.woocommerce-checkout #order_review table.shop_table{border:0;background:transparent}
.woocommerce-checkout #order_review table.shop_table th,.woocommerce-checkout #order_review table.shop_table td{background:transparent;border-top:1px solid var(--c-line);padding:var(--sp-12) 0}
.woocommerce-checkout #payment{background:#fff !important;border:1px solid var(--c-line);border-radius:var(--radius);margin-top:var(--sp-16)}
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:var(--sp-16)}
.woocommerce-checkout #payment div.payment_box{background:var(--c-primary-soft);border-radius:var(--radius-sm);color:var(--c-primary-ink);font-size:.9rem}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--c-primary-soft)}
.woocommerce-checkout #payment .place-order{padding:var(--sp-16)}
.woocommerce #place_order{width:100%;font-size:1.1rem;padding:1.05em}

/* ---------- 3.2 Form ---------- */
.woocommerce form .form-row{padding:0 0 var(--sp-16);margin:0}
.woocommerce form .form-row label{display:block;font-weight:600;font-size:.92rem;margin-bottom:var(--sp-8);color:var(--c-ink-2)}
.woocommerce form .form-row .required{color:var(--c-danger);border:0}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce-checkout input[type=text],.woocommerce-checkout input[type=tel],.woocommerce-checkout input[type=email]{
  border:1px solid var(--c-line-strong);border-radius:var(--radius-sm);padding:.85em .95em;min-height:44px;height:auto;
  font-family:var(--font);background:#fff;transition:border var(--t-base),box-shadow var(--t-base);width:100%}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{
  border-color:var(--c-primary);box-shadow:var(--focus);outline:0}

/* ---------- 3.5 Thông báo ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  border-top:3px solid var(--c-primary);border-radius:var(--radius-sm);background:var(--c-bg-soft);
  box-shadow:var(--shadow-sm);padding:var(--sp-16) var(--sp-20) var(--sp-16) 3.2em}
.woocommerce-info{border-top-color:var(--c-info);background:var(--c-info-soft)}
.woocommerce-error{border-top-color:var(--c-danger);background:var(--c-danger-soft)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{color:var(--c-primary);left:1.2em}
.woocommerce-info::before{color:var(--c-info)}.woocommerce-error::before{color:var(--c-danger)}

/* ---------- Đơn đã nhận ---------- */
.woocommerce-order{max-width:760px;margin:0 auto}
.woocommerce-order .woocommerce-notice--success,.woocommerce-thankyou-order-received{text-align:center;
  font-size:1.3rem;font-weight:700;color:var(--c-primary-ink);border:0;background:var(--c-primary-soft);
  border-radius:var(--radius);padding:var(--sp-24);box-shadow:none}
.woocommerce ul.order_details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-12);
  list-style:none;margin:var(--sp-24) 0;padding:0}
.woocommerce ul.order_details li{border:1px solid var(--c-line) !important;border-radius:var(--radius-sm);padding:var(--sp-16);
  background:#fff;text-transform:none;font-size:.82rem;color:var(--c-muted);margin:0}
.woocommerce ul.order_details li strong{display:block;font-size:1.05rem;color:var(--c-ink);margin-top:var(--sp-4)}

/* ---------- Origin ---------- */
.tphq-origin{padding:var(--sp-64) 0;background-image:linear-gradient(130deg,var(--c-primary-ink),var(--c-primary));color:#dff1e8}
.tphq-origin h2{color:#fff}
.tphq-origin__text{max-width:640px}
.tphq-origin__text p{color:#c6e6d7;font-size:1.05rem}
.tphq-origin .tphq-btn--primary{background:#fff;color:var(--c-primary);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.tphq-origin .tphq-btn--primary:hover{background:var(--c-primary-soft);color:var(--c-primary-ink)}

/* ---------- Footer ---------- */
.tphq-footer{background:var(--c-bg-soft);border-top:1px solid var(--c-line);margin-top:var(--sp-20)}
.tphq-footer__grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:var(--sp-32);padding:var(--sp-48) var(--pad-x)}
.tphq-footer__col h4{margin-bottom:.8em}
.tphq-footer__col p{color:var(--c-muted);font-size:.92rem;max-width:32ch}
.tphq-footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-8);color:var(--c-muted);font-size:.92rem}
.tphq-footer__bottom{border-top:1px solid var(--c-line);padding:var(--sp-16) 0;color:var(--c-faint);font-size:.85rem;text-align:center}

/* ---------- Article / page ---------- */
.tphq-article{max-width:760px;margin:0 auto}
.tphq-article__content{color:var(--c-ink-2)}
/* Trang WooCommerce dạng shortcode (giỏ/thanh toán/tài khoản) cần full-width — bỏ giới hạn 760px của bài viết */
.woocommerce-cart .tphq-article,.woocommerce-checkout .tphq-article,.woocommerce-account .tphq-article,
.woocommerce-cart .tphq-article__content,.woocommerce-checkout .tphq-article__content,.woocommerce-account .tphq-article__content{
  max-width:none;margin:0}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .woocommerce ul.products[class*="columns-"]{grid-template-columns:repeat(3,1fr)}
  .single-product div.product{gap:var(--sp-32)}
  .woocommerce-cart .woocommerce,.woocommerce-checkout form.checkout{grid-template-columns:minmax(0,1fr) 320px}
}
@media(max-width:768px){
  .tphq-topbar__inner span:first-child{display:none}
  .tphq-burger{display:flex;order:-1}
  .tphq-nav{position:fixed;inset:0 0 0 auto;width:min(80vw,320px);background:#fff;transform:translateX(100%);
    transition:transform .25s ease;box-shadow:var(--shadow-lg);padding:var(--sp-80) var(--sp-20) var(--sp-20);margin:0;z-index:60}
  body.tphq-menu-open .tphq-nav{transform:translateX(0)}
  body.tphq-menu-open::after{content:"";position:fixed;inset:0;background:rgba(13,58,42,.4);z-index:55}
  .tphq-menu{flex-direction:column;gap:var(--sp-4)}
  .tphq-menu a{padding:.85em}
  .tphq-hero__inner{grid-template-columns:1fr;padding:var(--sp-40) var(--pad-x) var(--sp-48);gap:var(--sp-24)}
  .tphq-hero__art{min-height:300px;order:-1}
  .tphq-benefits{margin-top:var(--sp-24)}
  .tphq-benefits__grid{grid-template-columns:repeat(2,1fr)}
  .woocommerce ul.products[class*="columns-"]{grid-template-columns:repeat(2,1fr)}
  .single-product div.product{grid-template-columns:1fr}
  .single-product div.product .woocommerce-product-gallery{position:static}
  .single-product form.cart{flex-wrap:wrap}
  .woocommerce-cart .woocommerce{grid-template-columns:1fr}
  .woocommerce-checkout form.checkout{grid-template-columns:1fr;grid-template-areas:"cust" "rev-h" "rev"}
  .woocommerce-checkout #order_review{position:static}
  .tphq-footer__grid{grid-template-columns:1fr;gap:var(--sp-24);padding:var(--sp-40) var(--pad-x)}
}
@media(max-width:480px){
  .tphq-benefits__grid{grid-template-columns:1fr}
  .woocommerce ul.products[class*="columns-"]{grid-template-columns:repeat(2,1fr);gap:var(--sp-12)}
  .tphq-section{padding:var(--sp-48) 0}
}
