/* Alibaba Commerce — storefront. Alibaba.com design language: dense grid of
   compact borderless white cards on a light gray canvas, orange accents. */
.alic-store { --s-ink:#222; --s-soft:#76797e; --s-faint:#999; --s-line:#eceef1; --s-brand:#ff6600; --s-brand-dark:#e65c00;
  --s-brand-tint:#fff3eb; --s-good:#07a35a; --s-canvas:#f2f3f7; --s-card:#fff; --s-radius:10px;
  color:var(--s-ink); max-width:1440px; margin:0 auto; padding:16px clamp(10px,2vw,24px) 70px;
  background:var(--s-canvas); font-size:14px; line-height:1.5; }
.alic-store * { box-sizing:border-box; }
.alic-store a { color:inherit; text-decoration:none; }
.alic-store h1,.alic-store h2,.alic-store h3 { color:var(--s-ink); }
.alic-muted { color:var(--s-soft); font-size:13px; font-weight:400; }
.alic-link { color:var(--s-brand-dark); font-weight:600; }
.alic-link:hover { text-decoration:underline; }
.alic-empty { text-align:center; padding:70px 20px; color:var(--s-soft); background:var(--s-card); border-radius:var(--s-radius); }
.alic-page-h { font-size:22px; font-weight:700; margin:4px 0 14px; }

/* ---------------------------------------------------------- store bar --- */
.alic-topbar { display:flex; align-items:center; gap:14px; background:var(--s-card); border-radius:var(--s-radius); padding:12px 16px; margin-bottom:12px; }
.alic-topsearch { flex:1; display:flex; max-width:720px; margin:0 auto; }
.alic-topsearch input { flex:1; border:2px solid var(--s-brand); border-right:none; border-radius:22px 0 0 22px; padding:9px 18px; font-size:14px; outline:none; min-width:0; }
.alic-topsearch input:focus { border-color:var(--s-brand-dark); }
.alic-topsearch button { border:none; background:var(--s-brand); color:#fff; font-weight:700; font-size:14px; padding:0 26px; border-radius:0 22px 22px 0; cursor:pointer; }
.alic-topsearch button:hover { background:var(--s-brand-dark); }
.alic-cart-link { position:relative; font-weight:600; font-size:13px; white-space:nowrap; padding:8px 12px; border-radius:8px; color:var(--s-soft); }
.alic-cart-link:hover { background:var(--s-canvas); color:var(--s-ink); }
.alic-cart-count { display:inline-block; margin-left:6px; background:var(--s-brand); color:#fff; font-size:11px; font-weight:800; border-radius:10px; padding:1px 7px; vertical-align:1px; }

/* -------------------------------------------------------- breadcrumbs --- */
.alic-crumbs { font-size:12px; color:var(--s-faint); margin:2px 2px 10px; }
.alic-crumbs a:hover { color:var(--s-brand-dark); }
.alic-crumbs span { margin:0 5px; }
.alic-crumb-here { color:var(--s-soft); margin:0 !important; }

/* ----------------------------------------------------------- catalog --- */
.alic-shop-head { display:flex; align-items:baseline; gap:12px; margin:2px 2px 10px; }
.alic-shop-head h1 { font-size:20px; font-weight:700; margin:0; }

.alic-cats { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.alic-cat-chip { background:var(--s-card); border:1px solid transparent; border-radius:18px; padding:7px 14px; font-size:13px; font-weight:500; }
.alic-cat-chip span { color:var(--s-faint); font-size:12px; margin-left:2px; }
.alic-cat-chip:hover { border-color:var(--s-brand); color:var(--s-brand-dark); }
.alic-cat-chip.is-active { background:var(--s-ink); color:#fff; font-weight:600; }
.alic-cat-chip.is-active span { color:rgba(255,255,255,.7); }

.alic-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:var(--s-card); border-radius:var(--s-radius); padding:10px 14px; margin-bottom:12px; }
.alic-tb-lbl { font-size:11px; font-weight:700; color:var(--s-faint); text-transform:uppercase; letter-spacing:.5px; }
.alic-toolbar select { border:1px solid var(--s-line); border-radius:8px; padding:7px 10px; font-size:13px; background:#fff; }
.alic-tb-price { width:84px; border:1px solid var(--s-line); border-radius:8px; padding:7px 10px; font-size:13px; }
.alic-tb-dash { color:var(--s-faint); }
.alic-tb-go { border:none; background:var(--s-ink); color:#fff; border-radius:8px; padding:8px 18px; font-size:13px; font-weight:600; cursor:pointer; }
.alic-tb-go:hover { background:#000; }

/* Dense auto-fill grid — ~6 cards per row at desktop widths, like alibaba.com */
.alic-grid-p { display:grid; grid-template-columns:repeat(auto-fill,minmax(186px,1fr)); gap:12px; }
@media (max-width:520px){ .alic-grid-p { grid-template-columns:repeat(2,1fr); gap:8px; } }
.alic-pcard { background:var(--s-card); border-radius:8px; overflow:hidden; display:block; transition:box-shadow .15s, transform .15s; }
.alic-pcard:hover { box-shadow:0 6px 18px rgba(0,0,0,.12); transform:translateY(-2px); }
.alic-pcard .img { aspect-ratio:1; width:100%; object-fit:cover; background:#f7f7f7; display:block; }
.alic-noimg-s { display:flex; align-items:center; justify-content:center; color:var(--s-faint); font-size:12px; }
.alic-pcard .body { padding:10px 12px 12px; }
.alic-pcard .t { font-size:13px; line-height:1.45; height:2.9em; overflow:hidden; margin-bottom:6px; color:#333; }
.alic-pcard .pr { font-size:16px; font-weight:700; letter-spacing:-.2px; }
.alic-pcard .pr .cur { font-size:12px; font-weight:600; }
.alic-pcard .sub { font-size:12px; color:var(--s-faint); margin-top:3px; }
.alic-ship-line { color:var(--s-good) !important; }

.alic-pager { margin-top:22px; display:flex; gap:6px; justify-content:center; }
.alic-pager a { background:var(--s-card); border-radius:8px; padding:7px 13px; font-size:13px; }
.alic-pager a:hover { color:var(--s-brand-dark); }
.alic-pager a.is-active { background:var(--s-ink); color:#fff; }

/* ------------------------------------------------------ product page --- */
.alic-panel { background:var(--s-card); border-radius:var(--s-radius); padding:22px 24px; margin-bottom:12px; }
@media (max-width:640px){ .alic-panel { padding:16px 14px; } }

.alic-pd { display:grid; grid-template-columns:minmax(0,400px) minmax(0,1fr) 300px; gap:28px; align-items:start; }
@media (max-width:1120px){ .alic-pd { grid-template-columns:minmax(0,1fr) 290px; } .alic-gal { grid-column:1 / -1; max-width:540px; } }
@media (max-width:820px){ .alic-pd { grid-template-columns:1fr; } .alic-gal { max-width:none; } }

.alic-gal-main { width:100%; aspect-ratio:1; border-radius:8px; object-fit:contain; background:#f7f7f7; }
.alic-gal-thumbs { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.alic-gal-thumbs img { width:58px; height:58px; object-fit:cover; border:2px solid transparent; border-radius:8px; cursor:pointer; background:#f7f7f7; }
.alic-gal-thumbs img:hover { border-color:#ffb27d; }
.alic-gal-thumbs img.is-active { border-color:var(--s-brand); }
.alic-noimg { width:100%; aspect-ratio:1; border:1px dashed var(--s-line); border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--s-faint); background:#f7f7f7; }

.alic-title { font-size:18px; font-weight:600; line-height:1.5; margin:0 0 8px; }
.alic-meta { font-size:12px; color:var(--s-faint); margin-bottom:14px; display:flex; gap:14px; flex-wrap:wrap; }
.alic-instock { color:var(--s-good); font-weight:600; }

/* Price ladder — gray strip, qty small above big bold price, like alibaba */
.alic-pricebox { background:#f8f9fb; border-radius:8px; padding:16px 18px; margin-bottom:16px; }
.alic-price { font-size:28px; font-weight:800; letter-spacing:-.3px; }
.alic-price .cur { font-size:14px; font-weight:700; }
.alic-price-note { font-size:12px; color:var(--s-soft); margin-top:4px; }
.alic-tiers { display:flex; gap:0; flex-wrap:wrap; }
.alic-tier { padding:0 26px 0 0; margin-right:26px; border-right:1px solid #e3e5ea; }
.alic-tier:last-child { border-right:none; margin-right:0; }
.alic-tier .q { font-size:12px; color:var(--s-soft); margin-bottom:3px; }
.alic-tier .p { font-size:22px; font-weight:800; letter-spacing:-.3px; }
.alic-tier .p .cur { font-size:12px; font-weight:700; }
.alic-tier.is-first .p { color:var(--s-brand-dark); }
.alic-moq-line { font-size:12px; color:var(--s-soft); margin-top:10px; }
.alic-moq-line b { color:var(--s-ink); }

/* Variations (SKU list) */
.alic-opt { margin:14px 0; }
.alic-opt .lbl { font-size:13px; font-weight:700; margin-bottom:8px; }
.alic-skus { display:flex; flex-direction:column; gap:8px; max-height:264px; overflow:auto; padding-right:4px; }
.alic-sku { display:flex; align-items:center; gap:10px; width:100%; text-align:left; border:1px solid var(--s-line); border-radius:8px; background:#fff; padding:8px 12px; font-size:13px; cursor:pointer; }
.alic-sku img { width:34px; height:34px; border-radius:6px; object-fit:cover; background:#f7f7f7; }
.alic-sku .n { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.alic-sku .vp { font-weight:700; white-space:nowrap; }
.alic-sku .vp .cur { font-size:11px; }
.alic-sku .vs { font-size:11px; color:var(--s-good); white-space:nowrap; }
.alic-sku:hover { border-color:var(--s-brand); }
.alic-sku.is-active { border-color:var(--s-brand); background:var(--s-brand-tint); }

/* Attribute tables — alternating rows, gray label cells */
.alic-section-h { font-size:15px; font-weight:700; margin:20px 0 10px; }
.alic-attrs-grid, .alic-spec-table { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
@media (max-width:640px){ .alic-attrs-grid, .alic-spec-table { grid-template-columns:1fr; } }
.alic-attr { display:grid; grid-template-columns:40% 60%; border-bottom:1px solid var(--s-line); }
.alic-attr .ak { padding:10px 12px; background:#f8f9fb; color:var(--s-soft); font-size:13px; }
.alic-attr .av { padding:10px 12px; font-size:13px; overflow-wrap:anywhere; }
.alic-more { display:inline-block; margin-top:10px; font-size:13px; }

/* Order card */
.alic-order { border:1px solid var(--s-line); border-radius:var(--s-radius); padding:18px; position:sticky; top:12px; background:#fff; }
.alic-order-price { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:14px; }
.alic-order-price .lbl { font-size:11px; color:var(--s-faint); text-transform:uppercase; letter-spacing:.5px; }
.alic-order-price span:last-child { font-size:21px; font-weight:800; }
.alic-order-price .cur { font-size:12px; font-weight:700; }
.alic-order-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; font-size:13px; color:var(--s-soft); }
.alic-subtotal b { font-size:16px; color:var(--s-ink); }
.alic-subtotal .cur { font-size:11px; }
.alic-qty { display:flex; align-items:center; border:1px solid var(--s-line); border-radius:8px; overflow:hidden; }
.alic-qty button { width:32px; height:34px; border:none; background:#fff; cursor:pointer; font-size:16px; color:var(--s-soft); }
.alic-qty button:hover { background:var(--s-canvas); color:var(--s-ink); }
.alic-qty input { width:54px; height:34px; border:none; border-left:1px solid var(--s-line); border-right:1px solid var(--s-line); text-align:center; font-size:14px; -moz-appearance:textfield; }
.alic-qty input::-webkit-outer-spin-button,.alic-qty input::-webkit-inner-spin-button { -webkit-appearance:none; }
.alic-order .ship { font-size:12px; color:var(--s-soft); margin:2px 0 12px; }
.alic-order .ship strong { color:var(--s-ink); }
.alic-btn-buy { display:block; width:100%; text-align:center; background:var(--s-brand); color:#fff; border:none; border-radius:20px; padding:11px; font-size:14px; font-weight:700; cursor:pointer; margin-bottom:9px; }
.alic-btn-buy:hover { background:var(--s-brand-dark); }
.alic-btn-buy:disabled { background:#ffc199; cursor:not-allowed; }
.alic-btn-cart { display:block; width:100%; text-align:center; background:var(--s-brand-tint); color:var(--s-brand-dark); border:none; border-radius:20px; padding:11px; font-size:14px; font-weight:700; cursor:pointer; margin-bottom:9px; }
.alic-btn-cart:hover { background:#ffe4d1; }
.alic-btn-contact { display:block; width:100%; text-align:center; background:#fff; color:var(--s-ink); border:1px solid #d6d9df; border-radius:20px; padding:10px; font-size:13px; font-weight:600; }
.alic-btn-contact:hover { border-color:var(--s-ink); }
.alic-trust { margin-top:14px; font-size:12px; color:var(--s-soft); line-height:1.9; border-top:1px solid var(--s-line); padding-top:12px; }
.alic-trust b { color:var(--s-ink); }

/* Section tab bar */
.alic-tabs { display:flex; gap:2px; background:var(--s-card); border-radius:var(--s-radius); padding:0 10px; margin-bottom:12px; position:sticky; top:0; z-index:5; overflow-x:auto; }
.alic-tabs a { padding:13px 16px; font-size:14px; font-weight:600; color:var(--s-soft); border-bottom:3px solid transparent; white-space:nowrap; }
.alic-tabs a:hover { color:var(--s-brand-dark); border-bottom-color:var(--s-brand); }
.alic-panel h2 { font-size:17px; font-weight:700; margin:0 0 14px; }
.alic-panel { scroll-margin-top:56px; }
.alic-desc { font-size:14px; line-height:1.75; color:#333; max-width:920px; }
.alic-desc img { max-width:100%; height:auto; border-radius:8px; }

/* ---------------------------------------------------------------- cart --- */
.alic-cart-wrap { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:12px; align-items:start; }
@media (max-width:900px){ .alic-cart-wrap { grid-template-columns:1fr; } }
.alic-cart-main { background:var(--s-card); border-radius:var(--s-radius); overflow:hidden; }
.alic-cart-table { width:100%; border-collapse:collapse; }
.alic-cart-table th { text-align:left; font-size:11px; color:var(--s-faint); padding:12px; border-bottom:1px solid var(--s-line); text-transform:uppercase; letter-spacing:.5px; }
.alic-cart-table td { padding:14px 12px; border-bottom:1px solid var(--s-line); font-size:14px; vertical-align:middle; }
.alic-cart-table tr:last-child td { border-bottom:none; }
.alic-cart-table .c-img { width:64px; }
.alic-cart-table img { width:56px; height:56px; object-fit:cover; border-radius:8px; background:#f7f7f7; display:block; }
.alic-cart-table .c-t a:hover { color:var(--s-brand-dark); }
.alic-cart-table .c-tot { font-weight:700; }
.alic-cart-table .cur { font-size:11px; font-weight:700; }
.alic-cart-qty { width:62px; border:1px solid var(--s-line); border-radius:8px; padding:7px 8px; font-size:13px; text-align:center; }
.alic-cart-remove { color:var(--s-faint); font-size:14px; padding:6px; border-radius:6px; }
.alic-cart-remove:hover { color:#c0392b; background:#fdf0ee; }
.alic-cart-side { background:var(--s-card); border-radius:var(--s-radius); padding:18px; position:sticky; top:12px; }
.alic-cart-side h3 { margin:0 0 14px; font-size:15px; font-weight:700; }
.alic-cart-side .row { display:flex; justify-content:space-between; font-size:13px; color:var(--s-soft); margin-bottom:10px; }
.alic-cart-side .row.total { font-size:14px; color:var(--s-ink); border-top:1px solid var(--s-line); padding-top:12px; margin:12px 0 16px; }
.alic-cart-side .row.total b { font-size:18px; }
.alic-cart-side .row.total .cur { font-size:12px; }

/* --------------------------------------------------------------- misc --- */
.alic-grid-reco { margin-top:4px; }
.alic-toast { position:fixed; bottom:24px; right:24px; background:#111; color:#fff; padding:12px 18px; border-radius:10px; font-size:14px; opacity:0; transform:translateY(8px); transition:.2s; z-index:9999; }
.alic-toast.show { opacity:1; transform:none; }

/* ----------------------------------------------------------- checkout --- */
.alic-co-wrap { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:12px; align-items:start; }
@media (max-width:900px){ .alic-co-wrap { grid-template-columns:1fr; } }
.alic-co-main { display:flex; flex-direction:column; gap:12px; }
.alic-co-panel { background:var(--s-card); border-radius:var(--s-radius); padding:18px 20px; }
.alic-co-panel h2 { font-size:16px; font-weight:700; margin:0 0 14px; }
.alic-co-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:560px){ .alic-co-row { grid-template-columns:1fr; } }
.alic-co-field { margin-bottom:12px; }
.alic-co-field label { display:block; font-size:12px; font-weight:600; color:var(--s-soft); margin-bottom:5px; }
.alic-co-field .req { color:var(--s-brand-dark); }
.alic-co-field input { width:100%; border:1px solid var(--s-line); border-radius:8px; padding:10px 12px; font-size:14px; box-sizing:border-box; }
.alic-co-field input:focus { border-color:var(--s-brand); outline:none; }
.alic-co-field.has-error input { border-color:#c0392b; }
.alic-co-field-error { color:#c0392b; font-size:12px; margin-top:4px; }
.alic-co-error { background:#fdf0ee; border:1px solid #f2c4bd; color:#8c2f24; border-radius:var(--s-radius); padding:12px 16px; margin-bottom:12px; font-size:13px; }
.alic-co-pay { display:flex; gap:10px; align-items:flex-start; border:1px solid var(--s-line); border-radius:10px; padding:12px 14px; margin-bottom:8px; cursor:pointer; }
.alic-co-pay:hover { border-color:var(--s-brand); }
.alic-co-pay.is-selected { border-color:var(--s-brand); background:var(--s-brand-tint); }
.alic-co-pay input { margin-top:3px; accent-color:var(--s-brand); }
.alic-co-pay b { display:block; font-size:14px; }
.alic-co-pay small { display:block; color:var(--s-soft); font-size:12px; margin-top:2px; }
.alic-co-line span:first-child { max-width:210px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* order received */
.alic-co-received { max-width:720px; margin:0 auto; text-align:center; padding-top:16px; }
.alic-co-check { width:56px; height:56px; line-height:56px; border-radius:50%; background:var(--s-good); color:#fff; font-size:26px; font-weight:800; margin:0 auto 14px; }
.alic-co-number { color:var(--s-soft); font-size:14px; margin-bottom:16px; }
.alic-co-instructions { background:#fff7ed; border:1px solid #fdba74; border-radius:var(--s-radius); padding:14px 18px; margin:0 0 14px; text-align:left; font-size:13px; line-height:1.7; }
.alic-co-summary { text-align:left; }
.alic-co-totals { max-width:320px; margin-left:auto; padding-top:10px; }
.alic-co-totals .row { display:flex; justify-content:space-between; font-size:13px; color:var(--s-soft); margin-bottom:8px; }
.alic-co-totals .row.total { color:var(--s-ink); font-size:14px; border-top:1px solid var(--s-line); padding-top:10px; }
.alic-co-totals .row.total b { font-size:17px; }
