/* Scoped styles; can be used inside WordPress Lightning theme without modifying theme CSS. */
[data-pmc-root] { --pmc-ink: #22262b; --pmc-muted: #66717a; --pmc-brown: #754722; --pmc-soft: #f8f5f1; --pmc-border: #e6e1dc; color: var(--pmc-ink); font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; font-size: 15px; line-height: 1.65; }
[data-pmc-root] *, [data-pmc-root] *::before, [data-pmc-root] *::after { box-sizing: border-box; }
[data-pmc-root] button, [data-pmc-root] input { font: inherit; }
[data-pmc-root] .pmc-shell { border: 1px solid var(--pmc-border); background: #fff; border-radius: 14px; overflow: hidden; max-width: 920px; margin: 16px auto 28px; box-shadow: 0 6px 26px rgba(30, 22, 14, .05); }
[data-pmc-root] .pmc-head { background: linear-gradient(120deg, #603b1e, #8b6139); color: #fff; padding: 27px 30px 24px; }
[data-pmc-root] .pmc-eyebrow { letter-spacing: .19em; text-transform: uppercase; font-weight: 700; font-size: 11px; opacity: .88; margin-bottom: 3px; }
[data-pmc-root] .pmc-head h2 { font-size: clamp(22px, 4vw, 29px); margin: 0 0 6px; line-height: 1.3; color: #fff; }
[data-pmc-root] .pmc-head p { margin: 0; opacity: .94; font-size: 13px; }
[data-pmc-root] .pmc-form { padding: 25px 30px 20px; margin: 0; }
[data-pmc-root] .pmc-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 19px; row-gap: 16px; }
[data-pmc-root] .pmc-input-grid label { display: block; font-weight: 700; font-size: 14px; }
[data-pmc-root] .pmc-input-grid label:last-child { grid-column: span 2; }
[data-pmc-root] input { display: block; width: 100%; max-width: 100%; border: 1px solid #c7c5c3; background: #fff; border-radius: 8px; color: var(--pmc-ink); font-size: 16px; padding: 11px 12px; margin: 7px 0 0; min-height: 47px; box-shadow: none; }
[data-pmc-root] input:focus { border-color: var(--pmc-brown); outline: 2px solid rgba(117, 71, 34, .15); }
[data-pmc-root] .pmc-help { color: var(--pmc-muted); display: block; font-size: 12px; margin-top: 5px; font-weight: 400; }
[data-pmc-root] .pmc-form-footer { display: flex; align-items: center; gap: 16px; margin-top: 23px; flex-wrap: wrap; }
[data-pmc-root] .pmc-submit { cursor: pointer; border: 0; background: #754722; color: #fff; padding: 12px 27px; min-height: 46px; border-radius: 9px; font-weight: 700; line-height: 1.4; }
[data-pmc-root] .pmc-submit:hover, [data-pmc-root] .pmc-submit:focus { background: #5a3518; }
[data-pmc-root] .pmc-submit:focus-visible { outline: 3px solid #d9a66e; outline-offset: 2px; }
[data-pmc-root] .pmc-form-footer p { margin: 0; font-size: 12px; color: var(--pmc-muted); }
[data-pmc-root] .pmc-rate-notice { margin: 0; padding: 15px 17px; border: 1px solid #e4d6c8; border-radius: 10px; background: #fbf8f5; font-size: 13px; color: #594632; }
[data-pmc-root] .pmc-rate-notice strong { display: block; font-size: 14px; margin-bottom: 5px; }
[data-pmc-root] .pmc-rate-notice p { margin: 0; line-height: 1.75; white-space: pre-line; }
[data-pmc-root] .pmc-form-tip { font-size: 12px; line-height: 1.7; color: var(--pmc-muted); margin: 14px 0 0; }
[data-pmc-root] .pmc-post-result { padding-bottom: 20px; }
[data-pmc-root] .pmc-calculation-guide { border: 1px solid var(--pmc-border); border-radius: 9px; margin-top: 12px; background: #fff; color: var(--pmc-muted); }
[data-pmc-root] .pmc-calculation-guide summary { cursor: pointer; font-weight: 700; color: #4e4c49; font-size: 13px; padding: 11px 15px; }
[data-pmc-root] .pmc-calculation-guide summary:focus-visible { outline: 2px solid var(--pmc-brown); outline-offset: 2px; }
[data-pmc-root] .pmc-calculation-copy { border-top: 1px solid var(--pmc-border); padding: 8px 15px 13px; }
[data-pmc-root] .pmc-calculation-copy p { margin: 6px 0; font-size: 12px; line-height: 1.7; }
[data-pmc-root] .pmc-result { margin: 0 30px; }
[data-pmc-root] .pmc-result-header { border-top: 1px solid var(--pmc-border); padding: 22px 0 12px; }
[data-pmc-root] .pmc-label { text-transform: none; font-size: 17px; font-weight: 700; }
[data-pmc-root] .pmc-result-header p { margin: 6px 0 2px; font-size: 13px; }
[data-pmc-root] .pmc-result-meta { color: var(--pmc-muted); }
[data-pmc-root] .pmc-room-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 9px 0 16px; }
[data-pmc-root] .pmc-room-row { border: 1px solid var(--pmc-border); background: #fff; color: var(--pmc-ink); cursor: pointer; border-radius: 10px; padding: 13px 15px; display: flex; text-align: left; align-items: center; justify-content: space-between; gap: 10px; min-height: 86px; }
[data-pmc-root] .pmc-room-row.is-active { border-color: var(--pmc-brown); background: #fcf8f4; box-shadow: inset 0 0 0 1px var(--pmc-brown); }
[data-pmc-root] .pmc-room-row:focus-visible { outline: 3px solid #ceaa80; outline-offset: 2px; }
[data-pmc-root] .pmc-room-name { font-size: 17px; font-weight: 800; }
[data-pmc-root] .pmc-room-price { font-size: 20px; font-weight: 800; color: #6b4020; white-space: nowrap; text-align: right; }
[data-pmc-root] .pmc-room-name small, [data-pmc-root] .pmc-room-price small { font-size: 11px; color: var(--pmc-muted); display: block; font-weight: 400; line-height: 1.5; white-space: normal; }
[data-pmc-root] .pmc-detail-panel { padding: 18px 18px 16px; border: 1px solid var(--pmc-border); border-radius: 10px; background: var(--pmc-soft); margin-bottom: 16px; }
[data-pmc-root] .pmc-detail-panel[hidden] { display: none; }
[data-pmc-root] .pmc-detail-panel h4 { margin: 0 0 12px; font-weight: 700; font-size: 17px; }
[data-pmc-root] .pmc-detail-panel dl { padding: 0; margin: 0; }
[data-pmc-root] .pmc-detail-panel dl > div { display: flex; justify-content: space-between; gap: 16px; margin: 0; padding: 6px 0; border-bottom: 1px solid rgba(105,91,80,.15); }
[data-pmc-root] .pmc-detail-panel dt, [data-pmc-root] .pmc-detail-panel dd { margin: 0; padding: 0; font-size: 14px; font-weight: 400; }
[data-pmc-root] .pmc-detail-panel dd { flex-shrink: 0; font-variant-numeric: tabular-nums; }
[data-pmc-root] .pmc-detail-panel dl > div.pmc-detail-total { border: 0; border-top: 1px solid #a79786; margin-top: 6px; padding-top: 12px; align-items: center; }
[data-pmc-root] .pmc-detail-total dt, [data-pmc-root] .pmc-detail-total dd { font-size: 19px; font-weight: 800; }
[data-pmc-root] .pmc-detail-total dd { color: #774522; }
[data-pmc-root] .pmc-minor-note { color: var(--pmc-muted); font-size: 12px; margin: 9px 0 0; }
[data-pmc-root] .pmc-alternatives { font-size: 12px; color: var(--pmc-muted); margin: 12px 0 0; }
[data-pmc-root] .pmc-alternatives summary { cursor: pointer; }
[data-pmc-root] .pmc-alternatives div { padding: 6px 0 0 12px; }

[data-pmc-root] .pmc-source { color: var(--pmc-muted); font-size: 12px; margin: 12px 0 0; }
[data-pmc-root] .pmc-source a { text-decoration: underline; }
[data-pmc-root] .pmc-error { color: #a42323; background: #fff2f1; border: 1px solid #efcccc; border-radius: 9px; margin: 0 0 22px; padding: 12px 15px; font-size: 14px; }
[data-pmc-root] .pmc-error p { margin: 4px 0; }

@media (max-width: 620px) {
  [data-pmc-root] .pmc-shell { margin: 7px auto 18px; }
  [data-pmc-root] .pmc-head { padding: 22px 18px; }
  [data-pmc-root] .pmc-form { padding: 19px 18px; }
  [data-pmc-root] .pmc-input-grid { grid-template-columns: 1fr; }
  [data-pmc-root] .pmc-input-grid label:last-child { grid-column: auto; }
  [data-pmc-root] .pmc-form-footer { align-items: stretch; }
  [data-pmc-root] .pmc-submit { width: 100%; }
  [data-pmc-root] .pmc-rate-notice { padding: 13px 14px; }
  [data-pmc-root] .pmc-result { margin: 0 18px; }
  [data-pmc-root] .pmc-room-list { grid-template-columns: 1fr; }
  [data-pmc-root] .pmc-room-row { min-height: 73px; }
  [data-pmc-root] .pmc-detail-panel { padding: 16px 12px; }
  [data-pmc-root] .pmc-detail-panel dt, [data-pmc-root] .pmc-detail-panel dd { font-size: 12px; }
  [data-pmc-root] .pmc-detail-total dt, [data-pmc-root] .pmc-detail-total dd { font-size: 17px; }
  [data-pmc-root] .pmc-detail-panel dt { min-width: 0; flex: 1; line-height: 1.55; overflow-wrap: anywhere; }
  [data-pmc-root] .pmc-detail-panel dd { flex: 0 0 auto; white-space: nowrap; }
  [data-pmc-root] .pmc-detail-panel dl > div { gap: 10px; }
  [data-pmc-root] .pmc-post-result { padding-bottom: 18px; }
}
