/* WordPress組み込み時の追加分（SPメニュー・WPが出力する要素） ※デザイン案(静的HTML)では未使用 */

/* ---------- SPメニュー ---------- */
.spMenuMy { display: none; }
@media (max-width: 768px) {
  .gNav { position: fixed; top: var(--headH, 56px); left: 0; right: 0; bottom: 0; z-index: 49; display: block; margin: 0; padding: calc(8 / var(--screen-w) * 100vw) calc(24 / var(--screen-w) * 100vw) calc(100 / var(--screen-w) * 100vw); background: var(--white); overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity .5s var(--ease), visibility .5s; }
  body.isMenuOpen { overflow: hidden; }
  body.isMenuOpen .gNav { opacity: 1; visibility: visible; }
  .gNav > ul { flex-direction: column; gap: 0; }
  .gNav > ul > li { border-bottom: 1px solid var(--line); }
  .gNav > ul > li > a { flex-direction: row; align-items: baseline; justify-content: flex-start; gap: calc(12 / var(--screen-w) * 100vw); padding: calc(18 / var(--screen-w) * 100vw) 0; }
  .gNav .en { font-size: calc(16 / var(--screen-w) * 100vw); }
  .gNav .ja { font-size: calc(11 / var(--screen-w) * 100vw); margin-top: 0; }
  .subNav { position: static; transform: none; min-width: 0; padding: 0 0 calc(14 / var(--screen-w) * 100vw); border: 0; box-shadow: none; opacity: 1; visibility: visible; background: none; }
  .hasSub:hover .subNav { transform: none; }
  .subNav a { padding: calc(8 / var(--screen-w) * 100vw) calc(14 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); }
  .subNav a::before { content: "−"; margin-right: calc(8 / var(--screen-w) * 100vw); color: var(--beigeLine); }
  .spMenuMy { display: block; }
  .spMenuBtn span { transition: transform .4s var(--ease), opacity .3s; }
  body.isMenuOpen .spMenuBtn span:nth-child(1) { transform: translateY(calc(6 / var(--screen-w) * 100vw)) rotate(45deg); }
  body.isMenuOpen .spMenuBtn span:nth-child(2) { opacity: 0; }
  body.isMenuOpen .spMenuBtn span:nth-child(3) { transform: translateY(calc(-6 / var(--screen-w) * 100vw)) rotate(-45deg); }
}

/* ---------- WP管理バー表示時 ---------- */
.admin-bar .siteHeader { top: 32px; }
@media (max-width: 782px) { .admin-bar .siteHeader { top: 0; } }

/* ---------- 中古模型（WP版の追加分） ---------- */
.usedImg { position: relative; }
.usedImgMore { display: none; }
.usedImgCount { position: absolute; right: calc(8 / var(--screen-w) * 100vw); bottom: calc(8 / var(--screen-w) * 100vw); padding: 0 calc(8 / var(--screen-w) * 100vw); background: rgba(83,71,65,.75); color: var(--white); font-size: calc(11 / var(--screen-w) * 100vw); line-height: 1.8; }
.usedImg.isNoImg { display: flex; align-items: center; justify-content: center; }
.usedImg.isNoImg img { width: 40%; height: auto; object-fit: contain; opacity: .35; }
.usedName a, .usedCode { color: inherit; }
.usedBody form { margin: 0; }
.usedBody .btnCart { display: block; border: 0; cursor: pointer; text-align: center; font-family: inherit; }
.usedCard.isSold .usedImg img { filter: grayscale(.6); opacity: .7; }
.btnCart.isSoldOut { background: var(--line); color: var(--textSub); cursor: default; font-family: "Comfortaa", sans-serif; letter-spacing: .1em; }
.btnCart.isSoldOut::after { display: none; }
.emptyText { margin-top: calc(40 / var(--screen-w) * 100vw); padding: calc(40 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw); background: var(--beigeLight); text-align: center; }
a.filterReset { cursor: pointer; }
.tagIndex { scroll-margin-top: calc(90 / var(--screen-w) * 100vw); }
.usedSec .tagIndex { margin-top: calc(64 / var(--screen-w) * 100vw); }

/* 拡大表示（lightbox）を新デザインに合わせる */
.lb-data .lb-caption { font-size: 13px; line-height: 1.6; }
.lightboxOverlay { background: #1e1915; opacity: .88 !important; }

/* ---------- 注文フォーム（WP版の追加分） ---------- */
.partsDetail { margin-top: calc(14 / var(--screen-w) * 100vw); padding: calc(16 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw); background: var(--beigeLight); border: 1px solid var(--line); }
.partsRow + .partsRow { margin-top: calc(12 / var(--screen-w) * 100vw); }
.partsLabel { display: flex; align-items: baseline; gap: calc(12 / var(--screen-w) * 100vw); margin-bottom: calc(6 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); font-weight: 500; }
.partsExtra { font-size: calc(12 / var(--screen-w) * 100vw); font-weight: 400; }
.partsExtra a { color: var(--brown); text-decoration: underline; }
.segment.isSmall label span { padding-top: calc(8 / var(--screen-w) * 100vw); padding-bottom: calc(8 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); }
.orderStep .fieldRow + .fieldNote { margin-top: calc(10 / var(--screen-w) * 100vw); }
.fieldNote a, .orderOther a, .noteList a { color: var(--brown); text-decoration: underline; }
.prefField .any { margin-left: calc(8 / var(--screen-w) * 100vw); }
.dropZone { position: relative; }
.dropZone.isOver { border-color: var(--brown); background: var(--beigeLight); }
.dropZone.isUploading { opacity: .6; pointer-events: none; }
.dropZone.isUploading::after { content: "送信中…"; position: absolute; right: calc(16 / var(--screen-w) * 100vw); bottom: calc(12 / var(--screen-w) * 100vw); font-size: calc(12 / var(--screen-w) * 100vw); color: var(--brown); }
.dropFiles { margin-top: calc(12 / var(--screen-w) * 100vw); }
.dropFiles li { display: flex; align-items: center; justify-content: space-between; gap: calc(12 / var(--screen-w) * 100vw); padding: calc(10 / var(--screen-w) * 100vw) calc(14 / var(--screen-w) * 100vw); border: 1px solid var(--line); background: var(--white); font-size: calc(13 / var(--screen-w) * 100vw); }
.dropFiles li + li { margin-top: calc(6 / var(--screen-w) * 100vw); }
.dropFiles li span::before { content: "✓"; margin-right: calc(8 / var(--screen-w) * 100vw); color: var(--brown); }
.dropDel { flex-shrink: 0; padding: calc(4 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw); border: 1px solid var(--beigeLine); background: var(--white); font-size: calc(12 / var(--screen-w) * 100vw); cursor: pointer; }
.dropError, .orderError { margin-top: calc(12 / var(--screen-w) * 100vw); padding: calc(12 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); border: 1px solid var(--orangeRed); background: #fff4ef; color: var(--orangeRed); font-size: calc(13 / var(--screen-w) * 100vw); line-height: 1.6; }
.orderError { margin-top: calc(24 / var(--screen-w) * 100vw); }
.formNote { margin-top: calc(12 / var(--screen-w) * 100vw); font-size: calc(12 / var(--screen-w) * 100vw); color: var(--textSub); text-align: center; }
.orderOther { margin-top: calc(48 / var(--screen-w) * 100vw); padding: calc(24 / var(--screen-w) * 100vw) calc(28 / var(--screen-w) * 100vw); background: var(--beigeLight); font-size: calc(13 / var(--screen-w) * 100vw); line-height: 1.8; }
.drawLater .orderLead small { display: block; }
.drawLaterForm { margin-top: calc(32 / var(--screen-w) * 100vw); }
.dropPicked { margin-top: calc(10 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); color: var(--brown); }
.drawDone { margin-top: calc(24 / var(--screen-w) * 100vw); padding: calc(16 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw); border: 1px solid var(--brown); background: var(--beigeLight); color: var(--brownDark); font-weight: 500; text-align: center; }
.drawReceived { margin-top: calc(32 / var(--screen-w) * 100vw); }
.drawReceivedTitle { font-weight: 700; color: var(--brownDark); }
.drawReceived li::before { content: "・"; }
.spEstimateBar button { border: 0; cursor: pointer; font-family: inherit; }
@media (max-width: 768px) {
  .partsDetail { padding: calc(12 / var(--screen-w) * 100vw); }
  .partsLabel { flex-direction: column; gap: 0; }
  .orderOther { padding: calc(18 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
}

/* ---------- 新着記事の表（価格改定のお知らせ など） ---------- */
.postTable { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.postTable table { width: 100%; min-width: calc(560 / var(--screen-w) * 100vw); border-collapse: collapse; font-size: calc(14 / var(--screen-w) * 100vw); line-height: 1.6; }
.postTable th, .postTable td { padding: calc(12 / var(--screen-w) * 100vw) calc(14 / var(--screen-w) * 100vw); border: 1px solid var(--line); text-align: left; vertical-align: middle; }
.postTable thead th { background: var(--brown); border-color: var(--brown); color: var(--white); font-weight: 500; }
.postTable tbody th { background: var(--beigeLight); font-weight: 500; }
.postTable td b { color: var(--orangeRed); font-size: calc(16 / var(--screen-w) * 100vw); }
.postTable td small { display: block; font-size: calc(12 / var(--screen-w) * 100vw); color: var(--textSub); }
.postBody > p + .postTable, .postBody > h2 + .postTable { margin-top: calc(16 / var(--screen-w) * 100vw); }
@media (max-width: 768px) {
  .postTable table { min-width: calc(480 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); }
  .postTable th, .postTable td { padding: calc(10 / var(--screen-w) * 100vw); }
}

/* ---------- お問い合わせフォーム（2026/10 MW WP Form から置き換え） ---------- */
.contactSec { max-width: calc(1000 / var(--screen-w) * 100vw); margin: 0 auto; padding-left: 0; padding-right: 0; }
.contactForm { margin-top: calc(32 / var(--screen-w) * 100vw); }
.contactForm .field:first-of-type { margin-top: 0; }
.textInput { display: block; width: 100%; padding: calc(12 / var(--screen-w) * 100vw) calc(14 / var(--screen-w) * 100vw) calc(13 / var(--screen-w) * 100vw); border: 1px solid var(--beigeLine); background: var(--white); color: var(--text); font: inherit; font-size: calc(15 / var(--screen-w) * 100vw); line-height: 1.6; }
.textInput:focus { outline: 2px solid var(--orange); outline-offset: 1px; border-color: var(--brown); }
textarea.textInput { resize: vertical; }
.fieldError { margin-top: calc(6 / var(--screen-w) * 100vw); font-size: calc(12 / var(--screen-w) * 100vw); color: var(--orangeRed); }
.contactTrap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.privacyNote { margin-top: calc(32 / var(--screen-w) * 100vw); padding: calc(18 / var(--screen-w) * 100vw) calc(22 / var(--screen-w) * 100vw); background: var(--beigeLight); font-size: calc(12 / var(--screen-w) * 100vw); line-height: 1.8; color: var(--textSub); }
.privacyTitle { margin-bottom: calc(6 / var(--screen-w) * 100vw); font-size: calc(13 / var(--screen-w) * 100vw); font-weight: 700; color: var(--text); }
.privacyNote a { text-decoration: underline; }
.formNav.isCenter { justify-content: center; margin-top: calc(32 / var(--screen-w) * 100vw); }
.contactSec .drawDone + .noteList { max-width: calc(640 / var(--screen-w) * 100vw); margin: calc(16 / var(--screen-w) * 100vw) auto 0; }
@media (max-width: 768px) {
  .contactSec { padding-left: calc(16 / var(--screen-w) * 100vw); padding-right: calc(16 / var(--screen-w) * 100vw); }
  .contactForm { margin-top: calc(20 / var(--screen-w) * 100vw); }
  .textInput { font-size: 16px; }
  .contactForm .fieldRow { grid-template-columns: 1fr; gap: 0; margin-top: 0; }
  .contactForm .fieldRow .field { margin-top: calc(24 / var(--screen-w) * 100vw); }
  .privacyNote { padding: calc(14 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
}
