/* ==========================================================================
   워드프레스 연결용 보조 CSS — 디자인 원본(design/site.css)은 수정하지 않고,
   원본에 없는 워드프레스 요소(WPForms 폼, 페이지 번호, 접근성 숨김 글, 미리보기 표시 등)만 맞춥니다.
   색·간격은 원본 :root 변수를 그대로 씁니다.
   ========================================================================== */

/* 워드프레스·GeneratePress 기본 요소 */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.screen-reader-text:focus { position: fixed !important; top: 8px; left: 8px; z-index: 100; width: auto; height: auto; clip: auto; padding: 10px 14px; background: #fff; color: var(--navy); font-weight: 700; }
.site-content, .site, #page { margin: 0; padding: 0; }
[hidden] { display: none !important; }
/* 내용이 짧은 페이지에서도 푸터가 화면 아래에 붙도록 (GeneratePress 바깥 틀 #page) */
body { display: flex; flex-direction: column; min-height: 100vh; }
body > #page { flex: 1 0 auto; width: 100%; }
body > .site-footer, body > .topbar { flex: none; width: 100%; }

/* 로고 이미지 (대시보드에서 올린 가로형 로고) */
.brand img.brand-logo { width: auto; height: 40px; max-width: 220px; }
@media (max-width: 700px) { .brand img.brand-logo { height: 34px; } }

/* 대시보드 미리보기 · 상단 공지 */
.ob-preview-flag { position: sticky; top: 0; z-index: 30; padding: 8px 12px; background: #fff5d6; color: #8a5a00; font-size: 13px; font-weight: 700; text-align: center; }
.notice.ob-notice { margin: 0; border-left: 0; text-align: center; }
.notice.ob-notice a { color: var(--navy); font-weight: 700; }

/* 메인: 가이드·카카오 중 하나만 있을 때 */
.editorial-grid--single { grid-template-columns: 1fr; }

/* 페이지 번호 (원본 .filter 모양 사용, 가운데 정렬) */
.ob-pager { justify-content: center; padding-top: 34px; }
.ob-pager .dots { border-color: transparent; background: transparent; }

/* 상세: B현장처럼 오른쪽 칸이 없을 때 · 이미지 묶음 · 공식 자료 버튼 · 일정 진행 중 */
.detail-columns--single { grid-template-columns: minmax(0, 1fr); }
.ob-figs { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; margin: 16px 0 8px; }
.ob-figs img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: 6px; }
.ob-links { display: flex; flex-wrap: wrap; gap: 8px; }
.ob-rich { color: #515e70; }
.ob-rich > :first-child { margin-top: 0; }
.timeline li.is-now strong { color: var(--accent); }
.timeline li.is-done { color: #9aa4b1; }
.schedule-site { color: var(--navy); }
.schedule-site:hover { color: var(--accent); }
.schedule-row .schedule-kind + .schedule-kind { margin-top: 2px; }

/* WPForms 상담폼을 원본 .consult 폼 모양으로
   (WPForms 자체 CSS보다 우선하도록 선택자를 길게 · 일부 !important) */
.consult .wpforms-container, .consult div.wpforms-container-full { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.consult .wpforms-form .wpforms-field { padding: 0 !important; margin: 0 !important; border: 0; }
.consult .wpforms-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.consult .wpforms-form .wpforms-field-label, .consult .wpforms-form legend.wpforms-field-label { display: block !important; float: none; padding: 0; margin: 12px 0 5px !important; font-size: 12px !important; font-weight: 700 !important; line-height: 1.65; color: var(--ink) !important; }
.consult .wpforms-form .wpforms-required-label { color: var(--accent) !important; font-weight: 700; }
.consult .wpforms-form input[type=text], .consult .wpforms-form input[type=tel], .consult .wpforms-form input[type=email], .consult .wpforms-form input[type=number], .consult .wpforms-form select, .consult .wpforms-form textarea {
	width: 100% !important; max-width: none !important; min-height: 44px; height: auto !important; padding: 11px !important; margin: 0 !important;
	border: 1px solid #d9dee4 !important; border-radius: 5px !important; background: #fff !important; box-shadow: none !important;
	font: inherit !important; font-size: 15px !important; color: var(--ink) !important; }
.consult .wpforms-form input:focus, .consult .wpforms-form select:focus, .consult .wpforms-form textarea:focus { border-color: var(--navy) !important; outline: 3px solid #f7ab91; outline-offset: 1px; }
.consult .wpforms-form .wpforms-field-description, .consult .wpforms-form .wpforms-field-sublabel { font-size: 12px !important; color: var(--muted) !important; margin: 5px 0 0 !important; }
.consult .wpforms-form .wpforms-field-checkbox ul, .consult .wpforms-form .wpforms-field-radio ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.consult .wpforms-form .wpforms-field-checkbox li, .consult .wpforms-form .wpforms-field-radio li { display: flex !important; align-items: flex-start; gap: 8px; margin: 0 0 4px !important; padding: 0 !important; }
.consult .wpforms-form .wpforms-field-checkbox li input, .consult .wpforms-form .wpforms-field-radio li input { margin: 3px 0 0 !important; flex: none; width: auto !important; min-height: 0; }
.consult .wpforms-form .wpforms-field-label-inline { display: inline !important; margin: 0 !important; font-size: 12px !important; font-weight: 400 !important; color: var(--muted) !important; }
.consult .wpforms-form .wpforms-field-checkbox .wpforms-field-label { margin-top: 13px !important; font-weight: 600 !important; color: #3b4859 !important; }
.consult .wpforms-form .wpforms-submit-container { padding: 0 !important; margin: 0 !important; }
.consult .wpforms-form button[type=submit], .consult .wpforms-form .wpforms-submit {
	width: 100% !important; height: auto !important; margin-top: 14px !important; padding: 11px 23px !important;
	background: var(--accent) !important; border: 1px solid var(--accent) !important; border-radius: 5px !important; box-shadow: none !important;
	color: #fff !important; font: inherit !important; font-weight: 750 !important; font-size: 15px !important; cursor: pointer; }
.consult .wpforms-form .wpforms-submit:hover { filter: brightness(.96); }
.consult .wpforms-form .wpforms-submit-spinner { display: block; margin: 8px auto 0; }
.consult .wpforms-form label.wpforms-error, .consult .wpforms-form em.wpforms-error, .consult .wpforms-error-container {
	display: block; margin: 5px 0 0 !important; padding: 0 !important; background: none !important; border: 0 !important; font-style: normal; font-size: 12px !important; font-weight: 700; color: #c2412d !important; }
.consult .wpforms-form input.wpforms-error { border-color: #c2412d !important; }
.consult .wpforms-confirmation-container-full, .consult .wpforms-confirmation-container { padding: 16px !important; margin: 0 !important; background: #fff !important; border: 1px solid var(--line) !important; border-radius: 5px; color: var(--navy) !important; font-weight: 700; }
.consult .wpforms-confirmation-container-full p { margin: 0; }
/* WPForms 자동 스팸 방지 칸·화면읽기 전용 글은 항상 숨김 (WPForms 스타일 설정과 관계없이) */
.wpforms-field-hp, .wpforms-hidden { display: none !important; }
.wpforms-screen-reader-element { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; }
