/* Property owner resources. Keep the shared site stylesheet unchanged. */
.resource-page { border-top: 0; }
.resource-measure { max-width: 900px; }
.resource-page h1 { max-width: 22ch; text-wrap: balance; }
.resource-page h2 { margin-top: 2.2rem; text-wrap: balance; }
.resource-page h3 { margin-top: 1.5rem; text-wrap: balance; }
.resource-page p, .resource-list { max-width: 72ch; }
.resource-list, .resource-sources { padding-left: 1.3rem; color: var(--fg-2); }
.resource-list li { margin-block: .8rem; }
.resource-sources { font-size: .9rem; overflow-wrap: anywhere; }
.resource-sources li { margin-block: .45rem; }
.resource-table { table-layout: fixed; margin-block: 1.2rem; }
.resource-table caption { text-align: left; color: var(--fg-2); padding-bottom: .65rem; }
.resource-table th, .resource-table td, .resource-table tbody th, .resource-table td.num, .resource-table thead th {
  white-space: normal; overflow-wrap: anywhere; vertical-align: top;
}
.resource-table th:first-child { width: 67%; }
.license-table th:first-child { width: 26%; }
.resource-table thead th { text-transform: none; letter-spacing: 0; font-family: var(--font); font-size: .95rem; }
.resource-table tfoot th, .resource-table tfoot td { color: var(--fg); font-weight: 650; border-top: 1px solid var(--line); }
.resource-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.15rem; }
.resource-page label { display: block; color: var(--fg); font-weight: 550; margin-bottom: .4rem; }
.resource-page select, .resource-page input:not([type=checkbox]), .resource-page textarea {
  width: 100%; min-width: 0; min-height: 48px; padding: .75rem; background: var(--ink-2);
  border: 1px solid #566f9c; border-radius: var(--radius); color: var(--fg); font: inherit;
}
.resource-page textarea { resize: vertical; }
.resource-page select { font-size: 1rem; }
.resource-form { background: var(--ink-2); border: 1px solid var(--line); padding: clamp(16px, 4vw, 28px); margin-top: 2rem; }
.resource-form p { font-size: .94rem; margin-top: 1rem; }
.resource-form button, .print-controls button { cursor: pointer; }
#calculator-error { color: var(--signal); }
.calculator-result { margin-block: 2rem 3rem; }
#result-summary { color: var(--fg); font-size: 1.15rem; }
#result-warning { background: var(--signal-wash); padding: 1rem; color: var(--fg); }
.fee-ladder { border-top: 1px solid var(--line); padding-top: .5rem; margin-top: 2.5rem; scroll-margin-top: 90px; }
.fee-ladder details { margin-block: 1.4rem; color: var(--fg-2); }
.fee-ladder summary { cursor: pointer; color: var(--signal); min-height: 44px; padding-block: .5rem; }
.fee-ladder details p { margin-top: .8rem; }
.resource-related { margin-top: 3rem; }
.print-controls { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; }
.print-controls span { font-size: .9rem; }
.walk-record { margin-block: 1.7rem; }
.walk-checks { padding: 0; list-style: none; }
.walk-checks li { display: flex; align-items: flex-start; gap: .8rem; border-bottom: 1px solid var(--line-soft); }
.walk-checks input { flex: 0 0 22px; width: 22px; height: 22px; margin: .85rem 0 0; accent-color: var(--signal); }
.walk-checks label { padding-block: .65rem; margin: 0; flex: 1; font-weight: 400; color: var(--fg-2); cursor: pointer; }
.walk-section { margin-block: 2rem; }
@media (min-width: 720px) {
  .resource-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .resource-fields > div:last-child { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .resource-page *, .resource-page *::before, .resource-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto; }
}
@page { size: letter; margin: .55in; }
@media print {
  .resource-page *, .resource-page *::before, .resource-page *::after { animation: none !important; transition: none !important; }
  html, body { background: #fff !important; color: #000 !important; font-size: 9.5pt; line-height: 1.35; }
  .site-head, .site-foot, .read-bar, .skip-link, .crumb, .print-controls, .resource-related { display: none !important; }
  .resource-page { padding: 0; }
  .resource-page::before, .resource-page::after, .callout::before, .callout::after { display: none; }
  .resource-measure { max-width: none; padding: 0; }
  .resource-page h1 { font-size: 21pt; max-width: none; margin-bottom: 10pt; }
  .resource-page h2 { font-size: 13pt; margin-top: 12pt; break-after: avoid; }
  .resource-page p, .resource-page label, .resource-page li, .resource-page a { color: #000 !important; }
  .resource-page p { margin-bottom: 8pt; }
  .resource-page p.lead { font-size: 10.5pt; }
  .resource-page .stamp { font-size: 9pt; letter-spacing: 0; }
  .walk-record { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8pt; margin-block: 10pt; }
  .walk-record > div:last-child { grid-column: 1 / -1; }
  .resource-page input:not([type=checkbox]), .resource-page textarea {
    background: #fff; color: #000; border: 1px solid #777; min-height: 24pt; padding: 3pt; font-size: 10pt;
  }
  .resource-page textarea { height: 30pt; resize: none; }
  #walk-action { height: 58pt; }
  .walk-section { margin-block: 10pt; }
  .walk-checks { margin-block: 6pt; }
  .walk-checks li { border-bottom: 1px solid #aaa; break-inside: avoid; gap: 7pt; }
  .walk-checks input { width: 11pt; height: 11pt; flex-basis: 11pt; margin-top: 4pt; appearance: auto; }
  .walk-checks label { padding-block: 3pt; }
  .resource-page a { text-decoration: underline; overflow-wrap: anywhere; }
  .print-cta { padding: 8pt; margin-block: 12pt; border: 1px solid #777; background: #fff; break-inside: avoid; }
  .print-cta .btn { padding: 0; background: transparent; border: 0; font-size: 10pt; }
  .print-cta .btn::after { content: none; }
  .print-cta::after { display: block; position: static; width: auto; height: auto; border: 0; opacity: 1 !important; content: '3psecuritygroup.com/contact'; margin-top: 5pt; }
}
