/* Factory & Equipment — the blocks of the owner's own factory page file, on top
   of the shared page shell (assets/css/page-shell.css): the factory overview,
   the equipment cards, the production workflow, the capacity table, the
   workshop gallery and the QC checkpoints. Scoped to .bovt-factory so no other
   page is affected. Colours come from tokens.css. */

/* ===== Factory overview ===== */
.bovt-factory .overview-wrap{display:flex;align-items:center;gap:50px;flex-wrap:wrap}
.bovt-factory .overview-img{flex:1;min-width:320px}
.bovt-factory .overview-text{flex:1;min-width:320px}
.bovt-factory .overview-text h2{font-size:28px;font-weight:800;margin:12px 0 20px}
.bovt-factory .overview-text p{color:#555;margin:0 0 16px;font-size:15px}
.bovt-factory .overview-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}
.bovt-factory .overview-stats div{background:var(--color-brand-tint);border-radius:12px;padding:18px 16px;text-align:center}
.bovt-factory .overview-stats h3{color:var(--color-brand);font-size:24px;font-weight:800;margin:0}
.bovt-factory .overview-stats p{font-size:12.5px;color:#666;margin:4px 0 0}

/* ===== Equipment cards ===== */
.bovt-factory .equip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.bovt-factory .equip-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.06);transition:transform .3s ease,box-shadow .3s ease}
.bovt-factory .equip-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.1)}
.bovt-factory .eq-img{position:relative}
.bovt-factory .eq-img .media{margin:0}
.bovt-factory .eq-img img{width:100%;height:auto;display:block;border-radius:0}
.bovt-factory .eq-tag{position:absolute;top:12px;left:12px;z-index:2;background:var(--color-accent);color:#fff;font-size:11px;font-weight:800;padding:4px 10px;border-radius:16px;text-transform:uppercase}
.bovt-factory .eq-body{padding:18px 20px 20px}
.bovt-factory .equip-card h4{font-size:15.5px;font-weight:800;margin:0 0 8px}
.bovt-factory .eq-spec{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:#777;padding:6px 0;border-bottom:1px dashed var(--color-border-soft)}
.bovt-factory .eq-spec:last-child{border-bottom:none}
.bovt-factory .eq-spec span:first-child{color:#999}
.bovt-factory .eq-spec span:last-child{font-weight:700;color:#333;text-align:right}

/* ===== Production workflow ===== */
.bovt-factory .flow-wrap{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}
.bovt-factory .flow-step{flex:1;min-width:140px;text-align:center;position:relative}
.bovt-factory .fs-icon{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--color-brand-tint);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--color-brand);font-size:20px;border:2px solid var(--color-brand)}
.bovt-factory .flow-step h4{font-size:14px;font-weight:800;margin:0 0 6px}
.bovt-factory .flow-step p{font-size:12px;color:#777;margin:0}
.bovt-factory .flow-arrow{position:absolute;top:30px;right:-18px;font-size:22px;color:var(--color-accent);font-weight:800}

/* ===== Capacity table ===== */
.bovt-factory .capacity-wrap{overflow-x:auto}
.bovt-factory .capacity-table{width:100%;min-width:560px;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.bovt-factory .capacity-table th{background:var(--color-brand);color:#fff;text-align:left;padding:16px 20px;font-size:14px;font-weight:700}
.bovt-factory .capacity-table td{padding:16px 20px;font-size:13.5px;color:#444;border-bottom:1px solid #f0f0f0}
.bovt-factory .capacity-table tr:last-child td{border-bottom:none}
.bovt-factory .capacity-table tbody tr:nth-child(even) td{background:#fafcff}

/* ===== Workshop gallery ===== */
.bovt-factory .workshop-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:18px}
.bovt-factory .workshop-card{position:relative;border-radius:14px;overflow:hidden}
.bovt-factory .workshop-card.big{grid-column:span 2;grid-row:span 2}
.bovt-factory .workshop-card .media{margin:0;height:100%}
.bovt-factory .workshop-card img{width:100%;height:100%;object-fit:cover;border-radius:0}
.bovt-factory .wc-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(13,76,156,.85));color:#fff;padding:18px 16px 14px;font-weight:700;font-size:14.5px}

/* ===== QC checkpoints ===== */
.bovt-factory .qc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.bovt-factory .qc-card{background:#fff;border-radius:14px;padding:28px 22px;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.05);border-top:3px solid var(--color-accent)}
.bovt-factory .qc-card .media{width:70px;height:70px;margin:0 auto 16px}
.bovt-factory .qc-card img{width:70px;height:70px;border-radius:50%;object-fit:cover;border:3px solid var(--color-brand-tint)}
.bovt-factory .qc-card h4{font-size:14.5px;font-weight:700;margin:0 0 8px}
.bovt-factory .qc-card p{font-size:12.5px;color:#777;margin:0}

@media (max-width:900px){
  .bovt-factory .equip-grid,.bovt-factory .qc-grid{grid-template-columns:repeat(2,1fr)}
  .bovt-factory .flow-wrap{flex-direction:column;align-items:stretch}
  .bovt-factory .flow-step{display:flex;align-items:center;gap:16px;text-align:left}
  .bovt-factory .fs-icon{margin:0;flex-shrink:0}
  .bovt-factory .flow-arrow{display:none}
  .bovt-factory .workshop-grid{grid-template-columns:repeat(2,1fr)}
  .bovt-factory .workshop-card.big{grid-column:span 2;grid-row:span 1;height:280px}
}
@media (max-width:600px){
  .bovt-factory .equip-grid,.bovt-factory .qc-grid,.bovt-factory .overview-stats{grid-template-columns:1fr}
  .bovt-factory .workshop-grid{grid-template-columns:1fr}
  .bovt-factory .workshop-card.big{grid-column:span 1}
}
