/*
Theme Name: D2ON2
Theme URI: https://d2on2.com
Author: D2ON2
Description: D2ON2 Space Design & Interior Archive — Twenty Twenty-Five 자식 테마. 빌더 없이 theme.json + 블록 템플릿만 사용.
Template: twentytwentyfive
Version: 1.2.2
Requires at least: 6.6
Text Domain: d2on2
*/

/* ── 공통 ───────────────────────────── */
body{-webkit-font-smoothing:antialiased}
.d2-eyebrow{font-family:var(--wp--preset--font-family--montserrat);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--wp--preset--color--gray)}

/* 헤더: 스크롤해도 위에 붙음 */
.d2-header{position:sticky;top:0;z-index:40;background:rgba(247,246,244,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--wp--preset--color--warm)}
.admin-bar .d2-header{top:32px}
.d2-logo img{height:30px;width:auto;display:block}
.d2-header .wp-block-navigation{font-family:var(--wp--preset--font-family--montserrat);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.d2-header .wp-block-navigation-item__content{color:var(--wp--preset--color--gray)}
.d2-header .wp-block-navigation-item__content:hover,
.d2-header .current-menu-item>.wp-block-navigation-item__content{color:var(--wp--preset--color--charcoal)}

/* 섹션 머리 */
.d2-sec-head{border-bottom:1px solid var(--wp--preset--color--warm);padding-bottom:14px}
.d2-more a{font-family:var(--wp--preset--font-family--montserrat);font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--wp--preset--color--gray);text-decoration:none}

/* 홈: 사진 그리드(마우스 올리면 제목) */
.d2-photo-grid .wp-block-post-template{gap:8px!important}
.d2-photo-grid .wp-block-post{position:relative;overflow:hidden}
.d2-photo-grid .wp-block-post-featured-image{margin:0}
.d2-photo-grid .wp-block-post-featured-image img{aspect-ratio:1/1;object-fit:cover;width:100%;display:block}
.d2-photo-grid .d2-ov{position:absolute;inset:0;margin:0!important;padding:18px;background:rgba(58,58,58,.62);display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transition:opacity .25s;pointer-events:none}
.d2-photo-grid .wp-block-post:hover .d2-ov{opacity:1}
.d2-photo-grid .d2-ov *{color:var(--wp--preset--color--paper)!important}
.d2-photo-grid .d2-ov .wp-block-post-title{font-size:15px;line-height:1.4;margin:0}

/* 목록 카드 */
.d2-cards .wp-block-post-featured-image img{aspect-ratio:4/3;object-fit:cover;width:100%}
.d2-cards .wp-block-post-featured-image{margin-bottom:14px}
.d2-cards .wp-block-post-featured-image a:hover img{filter:brightness(.92)}
.d2-cards .wp-block-post-title a{text-decoration:none}
.d2-chip-cost:not(:empty){display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--wp--preset--color--charcoal);color:var(--wp--preset--color--paper);margin:0}
.d2-chip-cost:not(:empty)::before{content:"₩ "}

/* 노트 목록 줄 */
.d2-rows .wp-block-post{border-bottom:1px solid var(--wp--preset--color--warm);padding:20px 0}
.d2-rows .wp-block-post-title a{text-decoration:none}
.d2-rows .wp-block-post-title a:hover{text-decoration:underline;text-underline-offset:4px}

/* 프로젝트 상세: 정보 박스 */
.d2-info{position:sticky;top:110px}
.d2-info .d2-row{border-bottom:1px solid var(--wp--preset--color--paper)}
.d2-info .d2-row p{margin:0}
.d2-info .d2-row p:empty{display:none}
.d2-cost-big{font-family:var(--wp--preset--font-family--montserrat);font-size:26px;font-weight:800;letter-spacing:-.01em;margin:0}
.d2-cost-big:not(:empty)::before{content:"₩ "}

/* 본문 안 해석 박스(패턴) */
.d2-note{border-top:3px solid var(--wp--preset--color--charcoal)!important}
.d2-note table td:last-child,.d2-note table th:last-child{text-align:right}
.d2-quote{border-left:2px solid var(--wp--preset--color--charcoal);padding-left:20px}

/* 버튼 */
.wp-block-button__link{border-radius:0}

@media (max-width:781px){
  .d2-info{position:static}
  .d2-photo-grid .d2-ov{opacity:1;background:linear-gradient(transparent 45%,rgba(58,58,58,.7))}
}

/* 값이 비어 있는 정보 줄은 숨김 */
.d2-info .d2-row{display:grid;grid-template-columns:84px 1fr;gap:12px}
.d2-info .d2-row:has(.d2-val:empty){display:none}
.d2-info .d2-val{font-weight:500}

/* 얇은 글자 안의 강조도 확실히 굵게 */
strong,b{font-weight:700}

/* 한글 단어 중간에서 줄바꿈 안 함 */
body{word-break:keep-all;overflow-wrap:anywhere}

/* 문의 양식 */
.d2-form{background:var(--wp--preset--color--white);border:1px solid var(--wp--preset--color--warm);padding:36px;display:grid;gap:18px}
.d2-form p{margin:0}
.d2-form label{font-size:13px;color:var(--wp--preset--color--gray);display:block;margin-bottom:6px}
.d2-form input[type=text],.d2-form input[type=tel],.d2-form input[type=email],.d2-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--wp--preset--color--warm);background:var(--wp--preset--color--paper);padding:12px 14px;font:inherit;font-size:15px;color:var(--wp--preset--color--charcoal);border-radius:0}
.d2-form input:focus,.d2-form textarea:focus{outline:1px solid var(--wp--preset--color--charcoal)}
.d2-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.d2-form fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.d2-form legend{font-size:13px;color:var(--wp--preset--color--gray);margin-bottom:8px;width:100%}
.d2-opt{margin:0!important;cursor:pointer}
.d2-opt input{position:absolute;opacity:0;pointer-events:none}
.d2-opt span{display:inline-block;padding:7px 14px;border:1px solid var(--wp--preset--color--light);border-radius:999px;font-size:13px;color:var(--wp--preset--color--dark);background:var(--wp--preset--color--white)}
.d2-opt input:checked+span{background:var(--wp--preset--color--charcoal);border-color:var(--wp--preset--color--charcoal);color:var(--wp--preset--color--paper)}
.d2-opt input:focus-visible+span{outline:2px solid var(--wp--preset--color--gray)}
.d2-consent label{display:flex;gap:8px;align-items:center;color:var(--wp--preset--color--charcoal);font-size:14px}
.d2-consent small{display:block;color:var(--wp--preset--color--gray);font-size:12px;margin-top:4px}
.d2-form button{border:0;cursor:pointer;width:100%}
.d2-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.d2-form-msg{padding:14px 18px;margin-bottom:16px;font-size:14px;border:1px solid var(--wp--preset--color--warm)}
.d2-form-msg.ok{background:var(--wp--preset--color--charcoal);color:var(--wp--preset--color--paper)}
.d2-form-msg.err{background:var(--wp--preset--color--white);color:var(--wp--preset--color--charcoal);border-color:var(--wp--preset--color--charcoal)}
@media (max-width:600px){.d2-form{padding:22px}.d2-form-row{grid-template-columns:1fr}}
