/* ===== PATENT PAGE STYLES ===== */
 
/* 섹션 */
.patent {padding:150px 0;}
.patent .patent-section {position:relative; padding:100px 0 120px; background:var(--bg1, #FFF9F0); overflow:hidden;}
 
/* 배경 로고 */
.patent .patent-logo-bg {position:fixed; top:50%; left:50%; transform:translate(-50%, -50%); width:600px; max-width:60vw; pointer-events:none; opacity:0.04; z-index:0;}
.patent .patent-logo-bg img {width:100%; display:block;}
 
/* 섹션 내부 래퍼 */
.patent .patent-inner {position:relative; z-index:1; max-width:1400px; margin:0 auto;}
 
/* 카테고리 블록 */
.patent .patent-category {margin-bottom:80px;}
.patent .patent-category:last-child {margin-bottom:0;}
 
/* 카테고리 타이틀 */
.patent .patent-cat-head {display:flex; align-items:flex-end; gap:16px; margin-bottom:40px; padding-bottom:20px; border-bottom:1px solid var(--border1);}
.patent .patent-cat-head h3 {font-size:var(--fs36); font-weight:700; color:var(--c_base4, #0F172A); line-height:1.2; letter-spacing:-0.5px;}
.patent .patent-cat-head .en {font-size:var(--fs16); font-weight:500; color:#999; padding-bottom:3px; letter-spacing:0;}
.patent .patent-cat-head .count {margin-left:auto; font-size:var(--fs16); font-weight:600; color:var(--c_base2, #DF630B); background:rgba(223,99,11,0.08); padding:4px 12px; border-radius:100px; white-space:nowrap;}
 
/* 인증서 그리드 */
.patent .patent-grid {display:grid; grid-template-columns:repeat(6, 1fr); gap:40px 24px;}
 
/* 개별 카드 */
.patent .patent-card {border-radius:10px; overflow:hidden; background:#fff; border:1px solid var(--border1, #E7E7E7); transition:transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; display:flex; flex-direction:column;}
.patent .patent-card:hover {transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,0.12); border-color:var(--c_base2, #DF630B);}
.patent .patent-card-img {position:relative; padding-top:135%; background:#f8f8f8; overflow:hidden;}
.patent .patent-card-img img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease;}

/*.patent .patent-card:hover .patent-card-img img {transform:scale(1.05);}*/
 
/* 확대 아이콘 오버레이 */
.patent .patent-card-overlay {position:absolute; inset:0; background:rgba(15,23,42,0.45); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity 0.3s ease;}
.patent .patent-card:hover .patent-card-overlay {opacity:0;}
.patent .patent-card-overlay svg {width:36px; height:36px; color:#fff; filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3));}
 
/* 카드 정보 */
.patent .patent-card-info {padding:14px 16px 16px; border-top:1px solid var(--border1, #E7E7E7);}
.patent .patent-card-info p {font-size:var(--fs16); font-weight:600; color:var(--c_base4, #0F172A); line-height:1.4; text-align:center; word-break:keep-all;}
 
/* 모달 — 섹션 밖 독립 요소이므로 다중클래스 선택자 사용 */
.patent.patent-modal {display:none; position:fixed; inset:0; z-index:99999; background:rgba(10,15,30,0.85); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);}
.patent.patent-modal.is-open {display:flex; align-items:center; justify-content:center;}
 
/* 모달 컨테이너 */
.patent.patent-modal .patent-modal-wrap {position:relative; width:100%; height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:60px 100px 80px; box-sizing:border-box;}
 
/* 이미지 영역 */
.patent.patent-modal .patent-modal-img-wrap {flex:1; display:flex; align-items:center; justify-content:center; width:100%; min-height:0;}
.patent.patent-modal .patent-modal-img-wrap img {max-height:75vh; max-width:70vw; object-fit:contain; border:8px solid rgba(255,255,255,0.12); border-radius:8px; box-shadow:0 40px 100px rgba(0,0,0,0.5); transition:opacity 0.25s ease;}
.patent.patent-modal .patent-modal-img-wrap img.fade {opacity:0;}
 
/* 캡션 */
.patent.patent-modal .patent-modal-caption {margin-top:20px; text-align:center;}
.patent.patent-modal .patent-modal-caption strong {display:inline-block; padding:8px 24px; background:rgba(255,255,255,0.1); border-radius:100px; color:#fff; font-size:var(--fs14, 1.4rem); font-weight:500; letter-spacing:0.3px;}
.patent.patent-modal .patent-modal-caption .modal-counter {display:block; margin-top:6px; font-size:var(--fs12, 1.2rem); color:rgba(255,255,255,0.4); font-weight:400;}
 
/* 닫기 버튼 */
.patent.patent-modal .patent-modal-close {position:absolute; top:20px; right:20px; width:50px; height:50px; border-radius:50%; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background 0.2s; z-index:10;}
.patent.patent-modal .patent-modal-close:hover {background:rgba(255,255,255,0.25);}
.patent.patent-modal .patent-modal-close svg {width:20px; height:20px; color:#fff;}
 
/* 이전/다음 버튼 */
.patent.patent-modal .patent-modal-nav {position:absolute; top:50%; transform:translateY(-50%); width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background 0.2s, transform 0.2s; z-index:10;}
.patent.patent-modal .patent-modal-nav:hover {background:rgba(255,255,255,0.25);}
.patent.patent-modal .patent-modal-nav.prev {left:20px;}
.patent.patent-modal .patent-modal-nav.next {right:20px;}
.patent.patent-modal .patent-modal-nav.is-disabled {opacity:0.2; cursor:default; pointer-events:none;}
.patent.patent-modal .patent-modal-nav svg {width:22px; height:22px; color:#fff;}
 
/* 키보드 힌트 */
.patent.patent-modal .patent-modal-hint {position:absolute; bottom:20px; left:50%; transform:translateX(-50%); font-size:var(--fs12, 1.2rem); color:rgba(255,255,255,0.3); white-space:nowrap;}
 
/* ===== 반응형 ===== */
@media screen and (max-width:1199px) {
	.patent {padding:80px 0;} 
	.patent .patent-section {padding:70px 0 90px;}
	.patent .patent-inner {padding:0 30px;}
	.patent .patent-grid {grid-template-columns:repeat(4, 1fr); gap:18px;}
	.patent .patent-cat-head h3 {font-size:var(--fs28);}
	.patent.patent-modal .patent-modal-wrap {padding:50px 80px 70px;}
	.patent.patent-modal .patent-modal-img-wrap img {max-width:80vw;}
}
 
@media screen and (max-width:767px) {
	.patent {padding:60px 0;} 
	.patent .patent-section {padding:50px 0 70px;}
	.patent .patent-inner {padding:0 20px;}
	.patent .patent-cat-head {margin-bottom:24px; padding-bottom:14px; align-items:center;}
	.patent .patent-cat-head h3 {font-size:var(--fs24);}
	.patent .patent-cat-head .en {display:none;}
	.patent .patent-card-info {padding:10px 12px 12px;}
	.patent .patent-card-info p {font-size:var(--fs16);}
	.patent .patent-category {margin-bottom:50px;}
	.patent.patent-modal .patent-modal-wrap {padding:50px 16px 60px;}
	.patent.patent-modal .patent-modal-img-wrap img {max-width:90vw; max-height:65vh;}
	.patent.patent-modal .patent-modal-nav {width:40px; height:40px;}
	.patent.patent-modal .patent-modal-nav.prev {left:8px;}
	.patent.patent-modal .patent-modal-nav.next {right:8px;}
	.patent.patent-modal .patent-modal-hint {display:none;}
}
 
@media screen and (max-width:500px) {
	.patent .patent-grid {grid-template-columns:repeat(2, 1fr); gap:10px;}
}