/* Commerce enhancements for Học liệu Việt. Flat, quiet and conversion-focused. */
:root{--hlv-primary:#0070f0;--hlv-primary-dark:#005ec7;--hlv-deep:#003060;--hlv-soft:#eaf3ff;--hlv-page:#f5f8fc;--hlv-text:#10233e;--hlv-muted:#526176;--hlv-border:#dce4ef;--hlv-border-strong:#c9d5e5;--hlv-danger:#b42318;--hlv-success:#067647}

/* Search suggestions */
.ed-search{overflow:visible!important;position:relative}
.ed-search input{border-radius:12px 0 0 12px!important}
.hlv-search-suggestions{background:#fff;border:1px solid var(--hlv-border);border-radius:14px;box-shadow:0 16px 40px rgba(0,48,96,.14);display:none;left:0;margin:8px 0 0;max-height:min(68vh,520px);overflow:auto;padding:6px;position:absolute;right:0;top:100%;z-index:120}
.hlv-search-suggestions.is-open{display:block}
.hlv-search-suggestions a{align-items:center;border-radius:10px;color:var(--hlv-text);display:grid;gap:2px 12px;grid-template-columns:52px minmax(0,1fr) auto;min-height:68px;padding:8px;text-decoration:none}
.hlv-search-suggestions a:hover,.hlv-search-suggestions a:focus{background:var(--hlv-soft);outline:0}
.hlv-search-suggestions img{background:var(--hlv-page);border:1px solid var(--hlv-border);border-radius:8px;grid-row:1/3;height:52px;object-fit:contain;width:52px}
.hlv-search-suggestions strong{font-size:14px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hlv-search-suggestions small{color:var(--hlv-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hlv-search-suggestions b{color:var(--hlv-primary-dark);font-size:13px;grid-column:3;grid-row:1/3;white-space:nowrap}
.hlv-search-state{color:var(--hlv-muted);font-size:13px;padding:16px;text-align:center}
.hlv-search-skeleton{animation:hlv-pulse 1s ease-in-out infinite alternate;background:linear-gradient(90deg,#eef3f8,#f8fafc,#eef3f8);border-radius:10px;height:56px;margin:6px}
@keyframes hlv-pulse{to{opacity:.55}}

/* Catalogue badges and filters */
.product-small .box-image{position:relative}
.hlv-card-badges{display:flex;flex-wrap:wrap;gap:5px;left:12px;pointer-events:none;position:absolute;right:12px;top:12px;z-index:3}
.hlv-card-badges span{background:#fff;border:1px solid var(--hlv-border);border-radius:999px;color:var(--hlv-deep);font-size:10px;font-weight:700;letter-spacing:.02em;line-height:1.2;padding:5px 8px}
.com-filter-toggle{align-items:center;background:#fff;border:1px solid var(--hlv-border-strong);border-radius:12px;color:var(--hlv-deep);display:none;font-size:14px;font-weight:700;gap:8px;min-height:44px;padding:9px 14px}
.com-filter__mobile-head{display:none}
.com-filter{background:#fff!important;border:1px solid var(--hlv-border)!important;border-radius:16px!important;gap:14px 16px!important;padding:16px!important}
.com-filter label{color:var(--hlv-muted)!important;font-size:12px!important;font-weight:600;gap:6px!important}
.com-filter select{background:#fff;min-height:44px;min-width:165px}
.com-filter .button{min-height:44px}
.com-filter__reset{align-items:center;color:var(--hlv-primary-dark);display:inline-flex;font-size:13px;min-height:44px}
.com-active-filters{align-items:center;color:var(--hlv-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:8px;margin:-6px 0 18px}
.com-active-filters a{background:var(--hlv-soft);border:1px solid #cfe3ff;border-radius:999px;color:var(--hlv-deep);padding:6px 10px;text-decoration:none}
.com-filter-backdrop{display:none}

/* Product detail hierarchy */
.ed-storefront.single-product .product-info form.cart{display:grid!important;gap:10px!important;grid-template-columns:minmax(0,1fr)}
.ed-storefront.single-product .product-info form.cart .quantity{display:none!important}
.ed-storefront.single-product .product-info form.cart .local-buy-now-btn--single{background:var(--hlv-primary)!important;border:1px solid var(--hlv-primary)!important;border-radius:12px!important;box-shadow:none!important;color:#fff!important;font-size:15px!important;height:50px!important;margin:0!important;order:-1!important;padding:12px 20px!important;width:100%!important}
.ed-storefront.single-product .product-info form.cart .local-buy-now-btn--single:hover{background:var(--hlv-primary-dark)!important;border-color:var(--hlv-primary-dark)!important}
.ed-storefront.single-product .product-info form.cart .single_add_to_cart_button{background:#fff!important;border:1px solid var(--hlv-primary)!important;border-radius:12px!important;color:var(--hlv-primary-dark)!important;font-size:15px!important;height:50px!important;margin:0!important;padding:12px 20px!important;width:100%!important}
.ed-storefront.single-product .product-info form.cart .single_add_to_cart_button:hover{background:var(--hlv-soft)!important;color:var(--hlv-primary-dark)!important}
.ed-storefront .chat-now{background:#fff!important;border-color:var(--hlv-border-strong)!important;color:var(--hlv-deep)!important}
.ed-storefront .chat-now:hover{background:var(--hlv-soft)!important;border-color:var(--hlv-border-strong)!important;color:var(--hlv-deep)!important}
.ed-storefront.single-product .product-info .chat-now{align-items:center;display:flex;justify-content:center;min-height:50px;white-space:normal;width:100%}
.ed-storefront.single-product .product-info form.cart .local-buy-now-btn--single,.ed-storefront.single-product .product-info form.cart .single_add_to_cart_button{white-space:nowrap!important}
.ed-storefront.single-product .com-wl{align-items:center;display:grid;gap:8px 12px;grid-template-columns:minmax(0,1fr) auto;margin:0 0 12px}
.ed-storefront.single-product .com-wl-btn{justify-content:center;margin:0;min-height:46px;min-width:0;padding-inline:12px;white-space:nowrap;width:100%}
.ed-storefront.single-product .com-wl-link{align-items:center;display:flex;min-height:44px;white-space:nowrap}
.hlv-product-tools{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);margin:12px 0}
.ed-storefront #main .hlv-product-tools button{align-items:center;background:#fff;border:1px solid var(--hlv-border);color:var(--hlv-muted);display:flex;font-size:12px;gap:8px;justify-content:center;min-width:0;padding:9px 12px}
.ed-storefront #main .hlv-product-tools button[aria-pressed=true]{background:var(--hlv-soft);border-color:#cfe3ff;color:var(--hlv-deep)}
.hlv-product-tools button span:last-child{overflow:visible;text-overflow:clip;white-space:normal}

/* Structured introduction */
.hlv-intro-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.hlv-intro-nav a{background:#fff;border:1px solid var(--hlv-border);border-radius:999px;color:var(--hlv-muted);font-size:12px;font-weight:600;padding:7px 11px;text-decoration:none}
.hlv-intro-nav a:hover,.hlv-intro-nav a:focus{background:var(--hlv-soft);border-color:#cfe3ff;color:var(--hlv-deep)}
.hlv-intro-section{border-top:1px solid var(--hlv-border);padding:24px 0 4px;scroll-margin-top:110px}
.hlv-intro-section:first-of-type{border-top:0;padding-top:0}
.hlv-intro-section h3{font-size:19px!important;margin:0 0 12px!important}
.hlv-intro-section ul{display:grid;gap:9px;list-style:none;margin:0!important;padding:0}
.hlv-intro-section li{margin:0!important;padding-left:25px;position:relative}
.hlv-intro-section li:before{background:var(--hlv-primary);border-radius:50%;content:"✓";color:#fff;font-size:9px;font-weight:800;height:16px;left:0;line-height:16px;position:absolute;text-align:center;top:5px;width:16px}

/* Related, bundle and post-purchase support */
.hlv-product-row,.hlv-product-support{background:#fff;border:1px solid var(--hlv-border);border-radius:16px;margin:28px 0;padding:26px}
.hlv-section-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:16px}
.hlv-section-heading h2{font-size:24px!important;margin:0}
.hlv-product-row .products{margin-bottom:0}
.hlv-product-support{align-items:center;display:grid;gap:28px;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr)}
.hlv-product-support h2{font-size:24px!important;margin:4px 0 8px}
.hlv-product-support p{color:var(--hlv-muted);margin:0}
.hlv-eyebrow{color:var(--hlv-primary-dark)!important;font-size:11px!important;font-weight:800;letter-spacing:.11em}
.hlv-report-form{display:grid;gap:8px}
.hlv-report-form label{color:var(--hlv-text);font-size:13px;font-weight:700}
.hlv-report-form textarea{resize:vertical}
.hlv-inline-status{background:#ecfdf3;border:1px solid #abefc6;border-radius:12px;color:var(--hlv-success);font-size:13px;padding:14px}

/* Purchased-document library */
.hlv-library-toolbar{background:var(--hlv-page);border:1px solid var(--hlv-border);border-radius:14px;margin:0 0 20px;padding:16px}
.hlv-library-toolbar>label{color:var(--hlv-text);display:block;font-size:14px;font-weight:700;margin-bottom:8px}
.hlv-library-toolbar>div{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 170px}
.hlv-library-toolbar input,.hlv-library-toolbar select{margin:0!important}
.hlv-library-count{color:var(--hlv-muted);font-size:12px;margin:8px 0 0}
.hlv-library-empty{background:#fff;border:1px dashed var(--hlv-border-strong);border-radius:12px;color:var(--hlv-muted);padding:24px;text-align:center}
.com-doc-order[hidden]{display:none!important}

/* Mobile purchase bar */
.hlv-mobile-buy{display:none}

@media(max-width:760px){
  .hlv-search-suggestions{left:-64px;right:0}
  .hlv-search-suggestions a{grid-template-columns:46px minmax(0,1fr)}
  .hlv-search-suggestions img{height:46px;width:46px}.hlv-search-suggestions b{grid-column:2;grid-row:auto}
  .com-filter-toggle{display:inline-flex;margin:0 0 14px}
  .com-filter{background:#fff!important;border:0!important;border-radius:18px 18px 0 0!important;bottom:0;display:block!important;left:0;margin:0!important;max-height:min(82vh,720px);overflow:auto;padding:18px!important;position:fixed;right:0;transform:translateY(105%);transition:transform .2s ease;z-index:100002}
  .com-filter.is-open{transform:translateY(0)}
  .com-filter__mobile-head{align-items:center;border-bottom:1px solid var(--hlv-border);display:flex;justify-content:space-between;margin:-4px 0 16px;padding-bottom:12px}
  .ed-storefront #main .com-filter-close{border:0;border-radius:50%;font-size:24px;min-height:40px;padding:0;width:40px}
  .com-filter label{margin:0 0 14px!important}.com-filter select{width:100%}
  .com-filter .button{margin-right:8px;width:calc(65% - 8px)}.com-filter__reset{justify-content:center;width:33%}
  .com-filter-backdrop{background:rgba(0,24,48,.56);inset:0;position:fixed;z-index:100001}.com-filter-backdrop:not([hidden]){display:block}
  body.hlv-filter-lock{overflow:hidden}
  .ed-storefront.single-product .product-info form.cart{grid-template-columns:1fr!important}
  .hlv-product-tools{grid-template-columns:1fr}
  .hlv-product-row,.hlv-product-support{margin:20px 0;padding:18px}
  .hlv-product-support{grid-template-columns:1fr}.hlv-section-heading h2{font-size:21px!important}
  .hlv-library-toolbar>div{grid-template-columns:1fr}
  .hlv-mobile-buy{align-items:center;background:#fff;border-top:1px solid var(--hlv-border);bottom:0;box-shadow:0 -10px 30px rgba(0,48,96,.11);display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto;left:0;padding:9px max(12px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));position:fixed;right:0;z-index:99990}
  .hlv-mobile-buy>div{display:grid;min-width:0}.hlv-mobile-buy>div span{color:var(--hlv-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hlv-mobile-buy>div strong,.hlv-mobile-buy>div strong .amount{color:var(--hlv-primary-dark);font-size:14px}
  .hlv-mobile-buy button,.hlv-mobile-buy a{align-items:center;border-radius:10px;display:flex;font-size:12px;font-weight:700;justify-content:center;min-height:42px;padding:8px 11px;text-decoration:none}
  .hlv-mobile-buy button{background:#fff;border:1px solid var(--hlv-border-strong);color:var(--hlv-deep)}
  .hlv-mobile-buy__primary{background:var(--hlv-primary);border:1px solid var(--hlv-primary);color:#fff}
  body.ed-storefront.single-product{padding-bottom:76px}
}

@media(max-width:420px){
  .hlv-mobile-buy{grid-template-columns:minmax(0,1fr) auto}.hlv-mobile-buy>div{display:none}.hlv-mobile-buy button,.hlv-mobile-buy a{padding-inline:16px}
  .hlv-product-intro{padding:18px!important}.hlv-intro-nav{gap:6px}.hlv-intro-nav a{font-size:11px}
}

@media(prefers-reduced-motion:reduce){.com-filter,.hlv-search-suggestions{transition:none}.hlv-search-skeleton{animation:none}}
