/* 서비스/지역 상세 공통: 현장사진 4장(2x2) + 모바일 넘침 방지. 새 페이지도 자동 적용된다. */
*,*::before,*::after{box-sizing:border-box}
img,video,iframe{max-width:100%}
h1,h2,h3,h4,p,li,td,th,summary,figcaption,a,blockquote{word-break:keep-all;overflow-wrap:anywhere}
table{max-width:100%}

.p4-gallery{padding:26px 0 6px}
.p4-wrap{max-width:900px;margin:0 auto;padding:0 20px}
.p4-gallery h2{font-size:22px;line-height:1.35;margin:0 0 14px}
.p4-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.p4-grid figure{margin:0;min-width:0}
.p4-grid picture{display:block}
.p4-grid img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:10px;background:#e7e9ee}
.p4-grid figcaption{font-size:12.5px;color:#666;margin-top:6px;text-align:center}
@media(max-width:299px){.p4-grid{grid-template-columns:1fr}}

/* 지역 상세 기존 사진 영역: 2x2 / 1:1 로 통일 */
.region-photos{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-width:720px!important}
.region-photos a{aspect-ratio:1/1!important}
@media(max-width:299px){.region-photos{grid-template-columns:1fr!important}}

/* 서비스 상세 기존 4장 갤러리: PC에서도 2x2 */
.hd-gallery4{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-width:720px}
@media(max-width:299px){.hd-gallery4{grid-template-columns:1fr!important}}

/* 표: 모바일에서는 카드형(항목명은 data-label, page-fix.js가 th에서 채움) */
@media(max-width:600px){
  table,tbody,tr,td,th{display:block;width:100%!important;max-width:100%}
  thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  tr{border:1px solid rgba(0,0,0,.12);border-radius:10px;margin:0 0 10px;padding:6px 12px;background:#fff}
  td,th{border:0!important;padding:6px 0!important;background:none!important}
  td[data-label]::before,th[data-label]::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;opacity:.6}
}
.kw-wrap .p4-wrap{padding:0;max-width:none}
.region-photo-title{font-size:22px;line-height:1.35;margin:26px auto 0;max-width:720px}
