/* Ezone Store — theme khối. Biến màu/phông lấy từ :root do theme sinh (--ez-*). */
:root{--ez-primary:#2b3fd6;--ez-secondary:#f59e0b;--ez-text:#1f2937;--ez-background:#fff;--ez-radius:8px;--ez-container:1280px;
  --ez-font-heading:"Be Vietnam Pro",system-ui,sans-serif;--ez-font-body:"Be Vietnam Pro",system-ui,sans-serif;--ez-muted:#6b7280;--ez-border:#e5e7eb}
body.ez-theme{font-family:var(--ez-font-body);color:var(--ez-text);background:var(--ez-background)}
body.ez-theme h1,body.ez-theme h2,body.ez-theme h3,body.ez-theme h4,.ez-title{font-family:var(--ez-font-heading)}
body.ez-theme a{color:inherit}
body.ez-theme .btn-primary{background:var(--ez-primary);border-color:var(--ez-primary);border-radius:var(--ez-radius)}
body.ez-theme .container,.ez-container{max-width:var(--ez-container)}
.ez-container{margin:0 auto;padding:0 16px;width:100%}
.ez-block{margin:0}
.ez-page>.ez-block+.ez-block{margin-top:32px}
.ez-page{padding-bottom:40px}
@media (max-width:767px){.ez-hide-mobile{display:none!important}.ez-page>.ez-block+.ez-block{margin-top:20px}}
@media (min-width:768px){.ez-hide-desktop{display:none!important}}
/* ---------- nút, tiêu đề, trạng thái rỗng ---------- */
.ez-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:var(--ez-primary);color:#fff!important;border:1px solid var(--ez-primary);border-radius:var(--ez-radius);font-weight:600;text-decoration:none;cursor:pointer}
.ez-btn:hover{filter:brightness(1.08)}
.ez-btn-sm{padding:7px 12px;font-size:13px;width:100%;justify-content:center}
.ez-title{font-size:26px;font-weight:800;margin:0 0 16px;color:var(--ez-accent,var(--ez-primary))}
.ez-title-line{padding-bottom:10px;border-bottom:3px solid var(--ez-accent,var(--ez-primary))}
.ez-empty{color:var(--ez-muted);padding:24px 0;text-align:center;border:1px dashed var(--ez-border);border-radius:var(--ez-radius)}
.ez-rich img{max-width:100%;height:auto}
/* ---------- thanh thông báo ---------- */
.ez-announce{font-size:13px;font-weight:600;padding:8px 0;text-align:center}
.ez-announce a{text-decoration:none}
/* ---------- header ---------- */
.ez-head{background:var(--ez-background);border-bottom:1px solid var(--ez-border)}
.ez-sticky{position:sticky;top:0;z-index:50}
.ez-head-row{display:flex;align-items:center;gap:24px;padding-top:14px;padding-bottom:14px}
.ez-logo{display:flex;align-items:center;font-size:24px;font-weight:800;text-decoration:none;color:var(--ez-primary)!important;flex:none}
.ez-logo img{max-height:52px;width:auto}
.ez-search{flex:1;display:flex;border:1.5px solid var(--ez-border);border-radius:999px;overflow:hidden;max-width:620px;background:#fff}
.ez-search input{flex:1;border:0;padding:10px 18px;outline:0;min-width:0}
.ez-search button{border:0;background:transparent;padding:0 16px;color:var(--ez-text)}
.ez-head-actions{display:flex;align-items:center;gap:18px;margin-left:auto}
.ez-contact{display:flex;align-items:center;gap:10px;text-decoration:none}
.ez-contact i{font-size:22px;color:var(--ez-primary)}
.ez-contact small{display:block;font-size:12px;color:var(--ez-muted)}
.ez-contact b{color:var(--ez-primary)}
.ez-icon-btn{position:relative;font-size:22px;text-decoration:none}
.ez-badge{position:absolute;top:-8px;right:-10px;background:var(--ez-primary);color:#fff;border-radius:999px;font-size:11px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px}
/* ---------- menu ---------- */
.ez-menu{border-bottom:1px solid var(--ez-border)}
.ez-menu-row{display:flex;align-items:center}
.ez-align-center .ez-menu-list{justify-content:center}.ez-align-right .ez-menu-list{justify-content:flex-end}
.ez-menu-list{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0;width:100%}
.ez-menu-list>li{position:relative}
.ez-menu-list a{display:block;padding:12px 16px;text-decoration:none;font-weight:600;color:inherit}
.ez-sub{display:none;position:absolute;left:0;top:100%;min-width:200px;background:#fff;color:var(--ez-text);list-style:none;margin:0;padding:6px 0;box-shadow:0 10px 30px rgba(0,0,0,.12);border-radius:var(--ez-radius);z-index:60}
.ez-has-sub:hover>.ez-sub{display:block}
.ez-menu-toggle{display:none;background:none;border:0;color:inherit;font-weight:700;padding:12px 0}
/* ---------- banner trượt ---------- */
.ez-slider{position:relative;overflow:hidden;border-radius:calc(var(--ez-radius)*2);margin-top:24px;background:#f3f4f6}
.ez-h-sm{height:280px}.ez-h-md{height:420px}.ez-h-lg{height:560px}
.ez-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s}
.ez-slide.ez-active{opacity:1;z-index:1}
.ez-slide img{width:100%;height:100%;object-fit:cover}
.ez-slide-text{position:absolute;left:6%;top:50%;transform:translateY(-50%);max-width:520px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.ez-slide-text h2{font-size:44px;font-weight:800;margin:0 0 10px}
.ez-slide-text p{font-size:18px;margin:0 0 20px}
.ez-prev,.ez-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.85)}
.ez-prev{left:14px}.ez-next{right:14px}
.ez-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2}
.ez-dot{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.6)}
.ez-dot.ez-active{background:#fff;width:26px;border-radius:6px}
/* ---------- cam kết ---------- */
.ez-usp-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding-top:18px;padding-bottom:18px}
.ez-usp-item{display:flex;align-items:center;gap:12px}
.ez-usp-item i{font-size:26px;color:var(--ez-primary);width:34px;text-align:center}
.ez-usp-item b{display:block}.ez-usp-item span{color:var(--ez-muted);font-size:14px}
/* ---------- danh mục ---------- */
.ez-cat-grid{display:grid;grid-template-columns:repeat(var(--ez-cols,6),minmax(0,1fr));gap:16px}
.ez-cat{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;text-align:center;font-weight:600}
.ez-cat-img{display:grid;place-items:center;width:100%;aspect-ratio:1;background:#f3f4f6;overflow:hidden;border-radius:var(--ez-radius)}
.ez-cat-circle .ez-cat-img{border-radius:50%}
.ez-cat-img img{width:100%;height:100%;object-fit:cover}
.ez-cat-img i{font-size:28px;color:var(--ez-muted)}
/* ---------- sản phẩm ---------- */
.ez-prod-grid{display:grid;grid-template-columns:repeat(var(--ez-cols,5),minmax(0,1fr));gap:18px}
.ez-prod{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--ez-border);border-radius:var(--ez-radius);padding:10px;transition:box-shadow .2s}
.ez-prod:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.ez-prod-img{position:relative;display:block;aspect-ratio:1;background:#f9fafb;border-radius:calc(var(--ez-radius)*.75);overflow:hidden}
.ez-prod-img img{width:100%;height:100%;object-fit:contain}
.ez-noimg{display:grid;place-items:center;height:100%;color:var(--ez-muted);font-size:28px}
.ez-sale{position:absolute;top:8px;left:8px;background:var(--ez-accent,#ef4444);color:#fff;font-weight:800;font-size:13px;padding:2px 8px;border-radius:6px}
.ez-prod-name{font-weight:600;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;line-height:1.3}
.ez-price b{color:var(--ez-accent,var(--ez-primary));font-size:17px;margin-right:8px}
.ez-price s{color:var(--ez-muted);font-size:13px}
.ez-prod form{margin-top:auto}
/* ---------- ảnh + chữ ---------- */
.ez-imgtext{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.ez-img-right .ez-imgtext-img{order:2}
.ez-imgtext-img img{width:100%;border-radius:calc(var(--ez-radius)*1.5)}
/* ---------- footer ---------- */
.ez-foot{margin-top:40px;padding-top:40px}
.ez-foot a{color:inherit;text-decoration:none;opacity:.85}.ez-foot a:hover{opacity:1}
.ez-foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px;padding-bottom:28px}
.ez-foot-grid ul{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}
.ez-foot-name{font-size:20px}
.ez-foot-contact li i{width:18px;opacity:.8}
.ez-copy{border-top:1px solid rgba(255,255,255,.12);padding:14px 0;font-size:13px;opacity:.8}
/* ---------- liên hệ nổi ---------- */
.ez-float{position:fixed;bottom:22px;z-index:80;display:flex;flex-direction:column;gap:10px}
.ez-float-right{right:18px}.ez-float-left{left:18px}
.ez-float-btn{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:#fff!important;text-decoration:none;font-weight:800;font-size:13px;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.ez-zalo{background:#0068ff}.ez-messenger{background:#0084ff;font-size:22px}.ez-phone{background:#16a34a;font-size:20px}
/* ---------- tablet ---------- */
@media (max-width:1199px){
  .ez-prod-grid{grid-template-columns:repeat(min(var(--ez-cols,5),4),minmax(0,1fr))}
  .ez-cat-grid{grid-template-columns:repeat(min(var(--ez-cols,6),4),minmax(0,1fr))}
  .ez-foot-grid{grid-template-columns:1fr 1fr}
  .ez-h-lg{height:440px}
}
/* ---------- mobile ---------- */
@media (max-width:767px){
  .ez-head-row{flex-wrap:wrap;gap:12px}
  .ez-search{order:3;flex-basis:100%;max-width:none}
  .ez-contact span{display:none}
  .ez-menu-toggle{display:block}
  .ez-menu-list{display:none;flex-direction:column}
  .ez-menu-list.ez-open{display:flex}
  .ez-sub{position:static;box-shadow:none;display:block;padding-left:12px;background:transparent;color:inherit}
  .ez-h-sm,.ez-h-md,.ez-h-lg{height:240px}
  .ez-slide-text h2{font-size:24px}.ez-slide-text p{font-size:14px;margin-bottom:12px}
  .ez-prod-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ez-cat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .ez-imgtext{grid-template-columns:1fr;gap:18px}.ez-img-right .ez-imgtext-img{order:0}
  .ez-foot-grid{grid-template-columns:1fr}
  .ez-title{font-size:20px}
}
