/* =========================================================
   파일명: /assets/css/components.css
   역할: 공통 부품(button/card/form/panel/table/resource)
   기준: 2026-05-11 CSS ROLE STANDARD v1
========================================================= */
.content-card,
.page-intro-card,
.contact-panel,
.as-card,
.notice-card,
.resource-card,
.nb-service-card,
.customer-overview-intro,
.case-overview-intro,
.product-control-panel,
.product-industrial-head,
.product-list-head,
.about-modern-hero,
.about-modern-section,
.line-automation-hero,
.line-automation-summary,
.line-filter-intro,
.auto-packer-hero,
.auto-packer-summary,
.auto-filter-intro,
.category-showcase-hero,
.category-showcase-summary,
.category-filter-intro,
.equipment-home-hero,
.equipment-home-section{
  background:var(--nb-panel-bg);
  border:1px solid var(--nb-card-border);
  border-radius:0;
  box-shadow:var(--nb-shadow-soft);
  padding:var(--nb-content-pad);
}

.empty-box{
  border:1px solid var(--nb-card-border);
  border-radius:0;
  background:var(--nb-soft-bg);
  padding:var(--nb-card-pad);
}

.product-card,
.case-card,
.home-case-card,
.home-solution-card,
.equipment-home-card,
.customer-overview-card,
.customer-quick-card,
.about-strength-grid article,
.nb-info-grid > *,
.notice-summary-grid > *{
  min-width:0;
  height:100%;
  border-radius:0;
}
.product-card,
.case-card,
.home-case-card,
.home-solution-card,
.equipment-home-card{
  overflow:hidden;
  background:#fff;
  border:1px solid var(--nb-card-border);
}
.product-card,
.case-card,
.home-case-card,
.home-solution-card,
.equipment-home-card,
.resource-card,
.notice-card,
.as-card,
.contact-panel{display:flex; flex-direction:column;}
.product-body,
.case-body,
.home-case-card__body,
.home-solution-card__body,
.equipment-card-body{padding:var(--nb-card-pad); flex:1 1 auto;}

.page-intro-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(24px,3vw,52px);
  align-items:stretch;
  overflow:hidden;
}
.page-intro-text{display:flex; flex-direction:column; justify-content:center; min-height:clamp(260px,23vw,360px);}
.page-intro-text h2{margin:0 0 18px; font-size:clamp(34px,3.1vw,54px); line-height:1.12; letter-spacing:-.06em; color:var(--nb-ink); word-break:keep-all;}
.page-intro-text p{max-width:720px; margin:0; font-size:clamp(16px,1.1vw,19px); line-height:1.78; color:var(--nb-muted); word-break:keep-all;}
.page-intro-image,.page-intro-image picture{display:block; width:100%; height:100%; min-height:clamp(260px,23vw,360px); overflow:hidden; background:var(--nb-soft-bg);}
.page-intro-image img{display:block; width:100%; height:100%; min-height:clamp(260px,23vw,360px); object-fit:cover; object-position:center;}

.about-section-head,
.equipment-section-head,
.case-list-head,
.nb-card-head,
.product-list-head,
.home-section-title{margin-bottom:var(--nb-block-gap);}
.about-section-head span,
.equipment-section-head span,
.nb-card-head span,
.home-section-title span,
.case-overview-eyebrow,
.customer-overview-eyebrow{
  display:inline-block; margin-bottom:10px; color:var(--nb-blue); font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
}
.about-section-head h2,
.equipment-section-head h2,
.nb-card-head h2,
.case-list-title,
.product-list-head h2,
.home-section-title h2{
  margin:0; color:var(--nb-ink); font-size:clamp(28px,2.35vw,42px); line-height:1.2; letter-spacing:-.045em; word-break:keep-all;
}
.about-section-head p,
.equipment-section-head p,
.nb-card-head p,
.product-list-head p,
.home-section-title p,
.contact-lead{
  max-width:860px; margin:12px 0 0; color:var(--nb-muted); font-size:clamp(15px,1vw,18px); line-height:1.75; word-break:keep-all;
}

.contact-form,.nb-redesign-form,.nb-table-wrap,.nb-resource-list,.resource-list,.contact-box,.nb-contact-box{width:100%; max-width:none;}
.form-row input,.form-row textarea,.form-row select{width:100%; max-width:100%;}
.resource-item,.nb-resource-item{display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:clamp(22px,3vw,48px); align-items:center; border:1px solid var(--nb-card-border); background:#fff; padding:var(--nb-card-pad);}
.resource-item img,.nb-resource-item img{width:100%; aspect-ratio:4/3; object-fit:cover;}
