/* ===== Matchcamera 2026-08 consolidated UI adjustments ===== */
:root{--max:1720px}
.site-header{height:72px}
.top-nav{gap:16px;width:min(1760px,calc(100% - 32px))}
.category-nav{gap:1px}
.category-nav a,.category-nav button{height:42px;padding:0 11px;font-family:"Malgun Gothic","Noto Sans KR","Segoe UI",sans-serif;font-size:13px;line-height:1.5;letter-spacing:-.01em;font-weight:500;border-radius:10px}
.global-search{width:252px;height:42px;border-radius:21px}
.global-search input{font-size:12px;line-height:1.3;padding:0 6px 0 14px}
.global-search button{width:46px;height:42px;display:grid;place-items:center;padding:0;color:#687383}
.global-search button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.global-search button:hover{background:#f5f6ff;color:#5d5ee7}

/* Builder: browser 100%에서 기존 약 120% 체감 크기 */
.builder-page .app-main{padding:14px 0 28px}.builder-page .app-frame{width:min(1760px,calc(100% - 24px));grid-template-columns:480px minmax(600px,1fr) 360px;gap:12px}.builder-page .catalog-pane,.builder-page .build-pane,.builder-page .summary-pane{min-height:calc(100vh - 102px)}.builder-page .catalog-pane{top:86px;max-height:calc(100vh - 98px)}.builder-page .summary-pane{top:86px;padding:11px}.builder-page .catalog-head{padding:11px 12px 8px}.builder-page .catalog-mode{height:43px;font-size:15px}.builder-page .catalog-search{height:42px;grid-template-columns:1fr 66px;margin:0 12px 9px}.builder-page .catalog-search input{font-size:14px;padding:0 12px}.builder-page .catalog-search button{font-size:12px}.builder-page .catalog-filters{gap:7px;padding:0 12px 10px}.builder-page .compact-control{height:38px;font-size:13px;padding:0 9px}.builder-page .check-row{font-size:12px;margin:0 12px 9px;padding:9px 10px}.builder-page .catalog-result-head{padding:10px 13px;font-size:12px}.builder-page .catalog-result-head b{font-size:14px}.builder-page .catalog-item{grid-template-columns:60px minmax(0,1fr) 58px;gap:10px;padding:13px 10px}.builder-page .catalog-item[data-product-detail],.builder-page .selected-slot[data-product-detail]{cursor:pointer}.builder-page .catalog-item[data-product-detail]:focus-visible,.builder-page .selected-slot[data-product-detail]:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}.builder-page .catalog-thumb{width:53px;height:53px}.builder-page .catalog-product-top b{font-size:13px}.builder-page .catalog-sub{font-size:11px}.builder-page .catalog-meta>span:first-child,.builder-page .catalog-price{font-size:10px}.builder-page .catalog-add{height:34px;font-size:10px}.builder-page .build-head{min-height:96px;padding:17px 18px 15px}.builder-page .section-kicker{font-size:9px}.builder-page .build-head h1{font-size:22px}.builder-page .build-head p{font-size:12px}.builder-page .small-action{height:36px;font-size:11px;padding:0 16px}.builder-page .build-row{min-height:91px;grid-template-columns:66px 145px minmax(0,1fr) 102px;padding:8px 13px 8px 10px;gap:9px}.builder-page .slot-icon{transform:scale(1.16)}.builder-page .slot-label strong{font-size:13px}.builder-page .slot-label span{font-size:10px}.builder-page .empty-slot b,.builder-page .selected-slot b{font-size:12px}.builder-page .empty-slot span,.builder-page .selected-slot span{font-size:10px}.builder-page .slot-select{height:35px;font-size:11px}.builder-page .planned-text{font-size:11px}.builder-page .soon-badge{font-size:10px;padding:5px 7px}.builder-page .build-note{margin:17px;padding:13px 15px}.builder-page .build-note b{font-size:12px}.builder-page .build-note span{font-size:11px}.builder-page .summary-tools button{height:38px;font-size:12px}.builder-page .summary-card{padding:14px}.builder-page .summary-card h2{font-size:13px}.builder-page .summary-line{font-size:12px;padding:7px 0}.builder-page .summary-line.major{font-size:14px}.builder-page .summary-line.major strong{font-size:22px}.builder-page .price-breakdown-row span,.builder-page .price-breakdown-empty{font-size:10px}.builder-page .price-breakdown-row b,.builder-page .price-breakdown-row>strong{font-size:11px}.builder-page .price-breakdown-row.is-missing>strong{font-size:10px}.builder-page .price-summary p,.builder-page .empty-summary{font-size:10px}.builder-page .outline-action{height:35px;font-size:11px}

/* Database 확대 */
.database-page .container{width:min(1560px,calc(100% - 28px))}.database-page .page-head{padding:42px 0 22px}.database-page .page-head h1{font-size:32px}.database-page .page-head p{font-size:14px}.database-page .toolbar{grid-template-columns:2fr repeat(7,minmax(130px,1fr));gap:9px}.database-page .control{height:44px;font-size:13px;padding:0 12px}.database-page .data-table{min-width:1250px}.database-page .data-table th,.database-page .data-table td{padding:14px 14px;font-size:12px}.database-page .data-table th{font-size:12px}.database-page .tiny{font-size:11px}.database-page .link-btn{font-size:13px}.database-page .spec{font-size:12px;padding:11px 0}.database-page dialog{width:min(980px,calc(100% - 30px))}

/* Generic content pages */
.simple-main{min-height:calc(100vh - 130px)}.simple-hero{padding:58px 0 28px}.simple-hero h1{font-size:36px;letter-spacing:-.045em;margin:0 0 10px}.simple-hero p{margin:0;color:var(--muted);font-size:14px}.simple-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:64px}.simple-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow)}.simple-card h2{font-size:18px;margin:0 0 8px}.simple-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.65}.badge-soft{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:13px;background:#f0efff;color:#5e59df;font-size:11px;font-weight:800;margin-bottom:12px}

/* Contact */
.contact-shell{width:min(760px,calc(100% - 28px));margin:0 auto 70px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-field{display:grid;gap:7px}.contact-field.full{grid-column:1/-1}.contact-field label{font-size:12px;font-weight:800}.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:1px solid #ccd4dc;border-radius:10px;background:#fff;padding:11px 12px;font-size:13px;outline:0}.contact-field input,.contact-field select{height:44px}.contact-field textarea{min-height:180px;resize:vertical}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:#6968ee;box-shadow:0 0 0 3px rgba(105,104,238,.1)}.contact-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}.contact-actions small{color:var(--muted);font-size:11px}.primary-button{height:44px;border:0;border-radius:22px;padding:0 22px;background:linear-gradient(135deg,#5968f2,#7c59f5);color:#fff;font-size:13px;font-weight:900}

/* Accessories */
.adapter-list{display:grid;gap:12px;padding-bottom:64px}.adapter-card{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) minmax(180px,.8fr) minmax(180px,1fr);gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px}.adapter-card h2{font-size:15px;margin:0 0 4px}.adapter-card p{font-size:11px;color:var(--muted);margin:0}.adapter-flow{font-size:12px}.adapter-flow strong{display:block;font-size:13px}.adapter-tags{display:flex;gap:6px;flex-wrap:wrap}.adapter-tags span{padding:4px 7px;border-radius:8px;background:#f2f4f8;color:#5d6774;font-size:10px}


/* Accessories hub: 기존 액세서리 항목 유지 + 마운트 어댑터 추가 */
.accessory-category-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;margin:0 0 22px}
.accessory-category{appearance:none;border:1px solid var(--line);background:#fff;border-radius:14px;min-height:92px;padding:15px 16px;text-align:left;cursor:pointer;box-shadow:0 5px 18px rgba(20,28,45,.04);transition:.18s ease}
.accessory-category:hover{border-color:#b8b9f5;transform:translateY(-1px)}
.accessory-category.active{border-color:#6968ee;box-shadow:0 0 0 3px rgba(105,104,238,.09)}
.accessory-category strong{display:block;font-size:15px;margin-bottom:5px;color:#1a2130}
.accessory-category span{display:block;font-size:11px;line-height:1.5;color:var(--muted)}
.accessory-panel{padding-bottom:64px}
.accessory-panel.hidden{display:none}
.accessory-placeholder{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.accessory-placeholder h2{font-size:20px;margin:0 0 8px}
.accessory-placeholder p{font-size:13px;color:var(--muted);line-height:1.7;margin:0;max-width:720px}
.accessory-placeholder .status{display:inline-flex;height:26px;align-items:center;padding:0 9px;border-radius:13px;background:#f2f1ff;color:#615ee6;font-size:10px;font-weight:900;margin-bottom:12px}
.accessory-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:64px}.accessory-data-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:0 5px 18px rgba(20,28,45,.04)}.accessory-data-card small{display:block;color:#697483;font-size:10px;margin-bottom:4px}.accessory-data-card h2{font-size:15px;line-height:1.35;margin:0 0 10px}.accessory-data-card dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:10px}.accessory-data-card dt{color:#7b8491}.accessory-data-card dd{margin:0;text-align:right;font-weight:800}.accessory-data-card a{display:inline-block;margin-top:12px;color:#5c59df;font-size:10px;font-weight:800}

@media(max-width:1400px){.accessory-category-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.accessory-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-page .app-frame{grid-template-columns:430px minmax(540px,1fr)}.builder-page .summary-pane{grid-column:1/-1;position:static;min-height:auto}.database-page .toolbar{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.accessory-category-grid{grid-template-columns:1fr 1fr}.global-search{display:none}.category-nav{overflow:auto}.builder-page .app-frame{grid-template-columns:1fr}.builder-page .catalog-pane{position:static;max-height:none}.builder-page .build-row{grid-template-columns:55px 115px minmax(0,1fr) 92px}.database-page .toolbar{grid-template-columns:1fr 1fr}.simple-grid{grid-template-columns:1fr}.adapter-card{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.contact-field.full{grid-column:auto}}
@media(max-width:620px){.accessory-category-grid{grid-template-columns:1fr}.accessory-data-grid{grid-template-columns:1fr}.database-page .toolbar{grid-template-columns:1fr}.adapter-card{grid-template-columns:1fr}.contact-shell{padding:20px}.contact-actions{align-items:flex-start;flex-direction:column}.builder-page .app-frame{width:calc(100% - 12px)}.builder-page .build-row{grid-template-columns:42px minmax(0,1fr) 76px}}


/* Battery database */
.battery-toolbar{grid-template-columns:2fr 1fr 1fr}
.battery-list{display:grid;gap:10px;padding-bottom:64px}
.battery-card{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(320px,2fr) 160px;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px 18px;box-shadow:0 5px 18px rgba(20,28,45,.035)}
.battery-brand{font-size:10px;font-weight:900;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.battery-card h2{font-size:18px;margin:0 0 5px;color:#171d2a}
.battery-card p{font-size:11px;color:var(--muted);line-height:1.55;margin:0}
.battery-specs{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.battery-specs span{font-size:10px;font-weight:800;color:#48505d;background:#f7f8fb;border:1px solid #e8eaf0;border-radius:7px;padding:4px 7px}
.battery-label{display:block;font-size:10px;font-weight:900;color:#737c8b;margin-bottom:7px}
.battery-tags{display:flex;flex-wrap:wrap;gap:5px}
.battery-tags span{font-size:10px;padding:5px 7px;border-radius:7px;background:#f5f6fa;color:#48505d;border:1px solid #eceef3}
.battery-related-label{margin-top:10px}
.battery-related span{background:#f2f1ff;border-color:#e4e1ff;color:#5753d9}
.battery-meta{text-align:right;display:flex;flex-direction:column;gap:8px}
.battery-meta span{font-size:10px;color:#727b89}
.battery-meta strong{font-size:15px;color:#232a38}
@media(max-width:1000px){.battery-card{grid-template-columns:1fr}.battery-meta{text-align:left;flex-direction:row;align-items:center;justify-content:space-between}}
@media(max-width:700px){.battery-toolbar{grid-template-columns:1fr}.battery-card{padding:14px}}

/* v7 - 카메라 견적내기: 선택된 바디/렌즈 사진 */
.builder-page .selected-product-visual{
  width:46px!important;
  height:46px!important;
  border:1px solid #e1e5eb;
  border-radius:8px;
  background:#fff;
  display:grid!important;
  place-items:center;
  overflow:hidden;
  position:relative;
}
.builder-page .selected-product-visual::before,
.builder-page .selected-product-visual::after{display:none!important;content:none!important}
.builder-page .selected-slot-photo{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:3px;
  display:block;
}
.builder-page .selected-slot-brand{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain;
  padding:3px;
}
.builder-page .selected-slot-brand-text{
  max-width:88%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:8px;
  color:#68717d;
  text-align:center;
}
@media(max-width:700px){
  .builder-page .selected-product-visual{width:42px!important;height:42px!important}
}

/* v8 - Sony 배터리 제품 이미지 */
.battery-card{
  grid-template-columns:86px minmax(220px,1.1fr) minmax(320px,2fr) 160px!important;
}
.battery-visual{
  width:76px;
  height:76px;
  border:1px solid #e5e8ee;
  border-radius:10px;
  background:#fff;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.battery-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:6px;
}
.battery-brand-fallback{
  font-size:12px;
  font-weight:900;
  color:#67717e;
  letter-spacing:-.02em;
}
@media(max-width:1000px){
  .battery-card{grid-template-columns:76px 1fr!important}
  .battery-compat,.battery-meta{grid-column:1/-1}
}
@media(max-width:700px){
  .battery-card{grid-template-columns:62px 1fr!important}
  .battery-visual{width:58px;height:58px}
}


/* v11 - 상단바 정렬/타이포 최종 보정
   핵심: 메뉴 클릭영역을 헤더 전체 높이로 만들어 active underline이 중간에 뜨지 않게 함 */
.site-header{height:74px!important}
.top-nav{height:100%!important;gap:18px!important;align-items:center!important}
.brand{height:100%!important;align-items:center!important;gap:11px!important}
.brand-logo{width:44px!important;height:44px!important}
.brand-word{font-size:19px!important}
.category-nav{height:100%!important;align-items:stretch!important;gap:1px!important}
.category-nav a,.category-nav button{
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 12px!important;
  border-radius:0!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif!important;
  font-size:14px!important;
  line-height:1.4!important;
  letter-spacing:-.018em!important;
  font-weight:600!important;
}
.category-nav a.active{font-weight:750!important}
.category-nav a.active:after{left:11px!important;right:11px!important;bottom:0!important;height:3px!important}
.global-search{width:266px!important;height:44px!important;border-radius:22px!important}
.global-search input{font-size:13px!important}
.global-search button{width:48px!important;height:44px!important}
.global-search button svg{width:20px!important;height:20px!important}
@media(max-width:1450px){
  .top-nav{gap:10px!important}
  .category-nav a,.category-nav button{padding:0 9px!important;font-size:13px!important}
  .global-search{width:220px!important}
}
@media(max-width:980px){
  .site-header{height:68px!important}
  .brand-logo{width:40px!important;height:40px!important}
  .brand-word{font-size:17px!important}
}
@media(max-width:620px){
  .site-header{height:62px!important}
  .brand-logo{width:36px!important;height:36px!important}
  .category-nav a,.category-nav button{padding:0 8px!important;font-size:12px!important}
}

/* Builder price summary: 구분 → 제품명 → 붉은 가격 */
.builder-page .summary-tools{grid-template-columns:1fr}
.builder-page .summary-tools #shareBtn{background:#18a77b}
.builder-page .price-breakdown{gap:0}
.builder-page .price-breakdown-row{
  display:grid;
  grid-template-columns:1fr;
  align-items:stretch;
  gap:3px;
  padding:10px 0 11px;
}
.builder-page .price-breakdown-row .price-breakdown-label{
  display:block;
  font-size:11px;
  line-height:1.25;
  color:#687481;
}
.builder-page .price-breakdown-row b{
  display:block;
  font-size:13px;
  line-height:1.35;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.builder-page .price-breakdown-row>strong{
  justify-self:end;
  margin-top:1px;
  color:#ef3e36;
  font-size:15px;
  line-height:1.2;
  font-weight:900;
}
.builder-page .price-breakdown-row.is-missing>strong{color:#d35c50;font-size:11px}
.builder-page .summary-line.major span,
.builder-page .summary-line.major strong{color:#ef3e36}
.builder-page .catalog-more{width:100%;min-height:42px;border:0;border-bottom:1px solid #dce3ea;background:#f7fafc;color:#087a9b;font-weight:800;cursor:pointer}
.builder-page .catalog-more:hover{background:#ecf8fb}
.builder-page .build-accessory-select{width:100%;height:36px;border:1px solid #d6dde5;background:#fff;border-radius:7px;padding:0 9px;font-size:11px;color:#27313d}.builder-page .accessory-compat-note{display:block;margin-top:5px;font-size:9px;color:#75808d;line-height:1.35}.builder-page .accessory-compat-note.good{color:#087a57}.builder-page .accessory-compat-note.warn{color:#b36d00}.builder-page .accessory-compat-note.bad{color:#c7384c}.builder-page .load-grade{font-weight:900}.builder-page .load-grade.impossible{color:#c7384c}.builder-page .load-grade.danger{color:#e35935}.builder-page .load-grade.normal{color:#c38300}.builder-page .load-grade.ample{color:#087a57}
/* Keep short compatibility badges at their intrinsic height beside wrapped descriptions. */
.compat-detail-row{align-items:start}
.compat-detail-row>.mini-compat{align-self:start;justify-self:end;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;height:auto;min-height:0;line-height:1.4;padding:4px 7px}
.compat-detail-row>div{align-content:start}
.accessory-product-photo{display:block;width:100%;height:160px;object-fit:contain;margin:0 0 14px;background:#fff;border-radius:8px}
.adapter-card .accessory-product-photo{width:100px;height:100px;margin:0 14px 0 0}
.accessory-photo-missing{font-size:12px;color:#697580}
.accessory-image-note{font-size:12px;color:#65758b;line-height:1.5;margin:0 0 12px}

/* Fit the estimate columns before their minimum widths overflow the viewport. */
@media(min-width:1051px) and (max-width:1520px){.builder-page .app-frame{grid-template-columns:360px minmax(0,1fr)}.builder-page .summary-pane{grid-column:1/-1;position:static;min-height:auto}}
@media(max-width:1050px){.builder-page .app-frame{grid-template-columns:minmax(0,1fr)}.builder-page .catalog-pane{position:static;max-height:none}.builder-page .summary-pane{grid-column:1;position:static;min-height:auto}}
.accessories-page .toolbar{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.accessories-page .control{width:100%;min-width:0}
@media(max-width:700px){.accessories-page .toolbar{grid-template-columns:minmax(0,1fr)}}
