/* ============================================================
   삼정 디자인 통일 (2026-06-18 사용자 승인) — 단일 출처
   ★ 모든 페이지에서 '맨 마지막'에 로드되어 흩어진 값을 한 기준으로 정돈.
   기존 디자인을 갈아엎지 않고 '정돈'만 한다. navy 주력·blue 최소·Pretendard 유지.
   되돌리려면 이 파일 link만 제거.
   ============================================================ */

/* ── 1) 색상 토큰: 단일 출처는 style.css :root (SSOT). 여기서 재정의하지 않음(로드순서 의존 제거). ── */
/* (구 중복 :root 블록 제거 — 모든 토큰은 style.css 상단 :root 참조) */

/* ── 2) 제목 굵기 통일: 900 → 800 (크기는 역할별 유지) ── */
.subpage-hero h2,
.slide-title,
.principle-title,
.vision-title,
.hd-title,
.pd-title-sec .hd-title,
.showcase-title{ font-weight:800; }

/* ── 3) 버튼 통일: 모서리 4px · 높이 48px(가능한 곳) ── */
.btn-more,
.btn-vision-cta,
.pd-btn,
.btn-mail-submit,
.pd-toolbar .tools button,
.pd-toolbar .tools a,
.map-foot a,
.cta .right a,
.map-btn,
.nv-a,
.gallery-empty-btn{ border-radius:0 !important; }   /* 직각화: 4px → 0 */

.btn-vision-cta,
.pd-btn,
.btn-mail-submit,
.map-foot a,
.gallery-empty-btn{ min-height:48px; display:inline-flex; align-items:center; }

/* ── 4) 카드 모서리 8px 통일 ── */
.proj-card2,
.svc-card,
.rel-card,
.map-card,
.news-card,
.lc,
.process-card .img-box{ border-radius:0 !important; }   /* 직각화: 8px → 0 */

/* ── 4b) 홈 대표실적 카드 = 프로젝트 목록 카드와 같은 호버 언어(떠오름+이미지 줌) ── */
.p-item{ border-radius:0; overflow:hidden; }   /* 직각화: 8px → 0 */
.p-item img{ transition:transform .45s cubic-bezier(.16,1,.3,1); }
.p-item:hover img{ transform:scale(1.04); }

/* ── 5) UI 아이콘 색 통일: navy + 선두께 1.6 (브랜드 아이콘 카카오/네이버는 fill 고유색이라 영향 없음) ──
   대부분 인라인 SVG가 stroke="currentColor"라 컨테이너 글자색을 navy로 두면 따라온다. */
.pd-toolbar .tools button svg,
.pd-toolbar .tools a svg,
.map-foot a svg,
.header-search svg,
.entry-nav-breadcrumb svg{ color:var(--navy); stroke-width:1.6; }
/* 헤더 검색 아이콘: 헤더 상태별 가독 색 — 히어로 위(투명헤더)=흰색, 스크롤 후(흰배경)=navy. 기본 navy가 어두운 히어로에 묻히던 문제 해결 */
.header:not(.scrolled) .header-search svg{ color:#fff; }
.header.scrolled .header-search svg{ color:var(--navy); }

/* ── 상세페이지(html.is-pd): 히어로 밴드 없음 → 헤더를 항상 흰배경(스크롤 상태)으로 고정해 가독 확보 ── */
html.is-pd .header:not(.scrolled){ background:rgba(255,255,255,.96) !important; border-bottom:1px solid var(--line-soft) !important; box-shadow:0 6px 24px rgba(5,18,40,.05) !important; }
html.is-pd .header:not(.scrolled) .logo a, html.is-pd .header:not(.scrolled) .logo-text{ color:var(--navy) !important; opacity:1 !important; max-height:40px !important; visibility:visible !important; }
html.is-pd .header:not(.scrolled) .logo-eng{ color:#8a93a3 !important; opacity:1 !important; max-height:20px !important; visibility:visible !important; }
html.is-pd .header:not(.scrolled) .logo-samjung{ opacity:0 !important; max-height:0 !important; visibility:hidden !important; }
html.is-pd .header:not(.scrolled) .gnb>ul>li>a{ color:#0b111e !important; }
html.is-pd .header:not(.scrolled) .gnb>ul>li>a::after{ background:var(--navy) !important; }
html.is-pd .header:not(.scrolled) .gnb .g-ko{ opacity:1 !important; }
html.is-pd .header:not(.scrolled) .gnb .g-en{ opacity:0 !important; }
html.is-pd .header:not(.scrolled) .header-search{ border-bottom-color:var(--line) !important; }
html.is-pd .header:not(.scrolled) .header-search input{ color:#0b111e !important; }
html.is-pd .header:not(.scrolled) .header-search button, html.is-pd .header:not(.scrolled) .header-search svg{ color:var(--navy) !important; }
html.is-pd .header:not(.scrolled) .mobile-menu-toggle .bar{ background-color:var(--navy) !important; }
/* 상세: 고정 헤더(108px, position:fixed)에 본문 상단이 가리지 않도록 — 히어로 밴드 없으므로 헤더 높이만큼 여백 */
html.is-pd #home-content{ padding-top:108px; }
@media(max-width:860px){ html.is-pd #home-content{ padding-top:80px; } }

/* ── 6) 1차에서 놓친 직각 박스들 마저 통일 (전수 스캔으로 확인) ── */
/* 카드·정보 박스 → 8px */
.dc-card,
.process-card,
.news-img-box,
.pre-footer-map,
.map-wrap,
.map-address-box,
.stat-item,
.spec,
.mail-form-card,
.faq-item,
.ft-workspace-menu{ border-radius:0 !important; }   /* 직각화: 8px → 0 */

/* 이미지·맵·카드는 둥근 모서리 밖으로 내용이 안 삐져나오게 클리핑 */
.process-card,
.news-img-box,
.pre-footer-map,
.map-wrap,
.rel-card{ overflow:hidden; }

/* 메신저·푸터 버튼 = 버튼 모서리 4px(버튼 규격과 일치) */
.btn-kakao,
.btn-naver,
.ft-workspace-btn{ border-radius:0 !important; }   /* 직각화: 4px → 0 */

/* ── 7) 모서리값이 8px와 다르던 것들도 8px로 정렬(완전 통일) ── */
.notice,                /* 상세 Notice 박스 (기존 12px) */
.pd-cover figure,
.pd-cover img,          /* 상세 본문 조감도 (기존 4px) */
.hero-carousel,
.hero-carousel img{ border-radius:0 !important; }   /* 직각화: 8px → 0 */
.pd-cover figure{ overflow:hidden; }

/* ============================================================
   ★ 완전 직각화 (2026-06-24 사용자 승인) — 박스 모서리 0px 통일
   카드·패널·입력창·이미지·지도·배지·탭·버튼·영상을 직각으로.
   원형 버튼/점/핀/아바타(50%)와 현재페이지 인디케이터(알약)는 보존.
   (위 §3·§4·§4b·§6·§7 통일값을 0으로 바꾼 것 + 아래에서 나머지를 마저 직각화)
   되돌리려면: 이 블록 삭제 + 위 §3~§7의 '0'을 원래 4/8px로 복원.
   ============================================================ */

/* 1) 광역 직각화: !important 없는 모든 라운딩 제거
      (입력창 4px·상세 pd2 5~6px·영상박스 14/16/18px·코너시그·proj 이미지 등) */
*, *::before, *::after { border-radius: 0 !important; }

/* 2) style.css의 !important 강제 라운딩 무력화
      (universal은 특이도 0이라 클래스 !important 규칙에 밀린다 → 같은 선택자로 0 덮어쓰기) */
.pf-opts button, .pv-btn,
.section-latest-news .li-track .news-img-box { border-radius: 0 !important; }

/* 3) 회사소개 '삼정의 기록' 영상: clip-path의 round(14px)도 직각화
      (border-radius와 별개. 시네마틱 등장 애니메이션은 보존 = inset 동작 유지, round만 0) */
.about-marquee .record-video-wrap { clip-path: inset(0 0 6% 0 round 0) !important; }
.about-marquee .record-video-wrap.is-revealed { clip-path: inset(0 0 0 0 round 0) !important; }

/* 4) 원형(border-radius:50%) 요소 복원 — 직각화 시 깨지는 버튼/점/핀/아바타 (전 페이지 21곳) */
.mobile-close-btn, .ft-naver-btn, .snc-dot, .snc-close, .scroll-top-btn,
.post-actions-btn, .side-nav a .sn-dot,
.pd-sec-h::before, .pd-sec-h span::before, .pd-sec-h span::after,
.about-marquee .record-toggle, .section-latest-news .record-toggle,
.section-latest-news .li-dot, .section-latest-news .li-arrow,
.li-modal-close, .li-modal-toggle,
.notice li::before, .hc-prev, .hc-next, .hc-dots span,
.dist-pin, .biz-card.on .biz-name::before, .pd2-pin { border-radius: 50% !important; }

/* 5) 현재 페이지 인디케이터(늘어나는 알약)는 알약 모양 유지 */
.section-latest-news .li-dot.on { border-radius: 5px !important; }

/* ───────────────────────────────────────────────────────────
   6) Material Symbols Sharp 아이콘 사이즈 안전망
   ── 옛 stroke 아이콘(viewBox 24)을 Material(viewBox 960)로 교체하면서
      CSS 사이즈가 없던 컨테이너는 960 viewBox가 거대하게 렌더됨(네이버톡 226px·
      모바일 햄버거·검색닫기·히어로 화살표 등). :where()로 0-우선순위 기본값을 깔아
      기존 컴포넌트 규칙은 전부 그대로 이기고, 누락된 곳만 정상 크기로 잡음. */
svg:where([viewBox="0 -960 960 960"]){ width:20px; height:20px; flex:none; }
.btn-naver svg{ width:24px; height:24px; }   /* 카카오 버튼(24px)과 통일 */
