/* ==========================================================
   WordPress integration (loaded after main.css, design untouched)
   ========================================================== */

.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; left: 12px; top: 12px; z-index: 100; background: #fff; color: var(--forest); padding: 12px 18px; border-radius: var(--radius-sm); }

/* Admin bar offset for the absolute header */
.admin-bar .site-header { top: 56px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 70px; } }

/* Pagination from paginate_links() */
.pagination .page-numbers { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--ink); font-weight: 600; }
.pagination .page-numbers.current, .pagination a.page-numbers:hover { background: var(--forest); color: #fff; border-color: var(--forest); }
.pagination .page-numbers.dots { border: 0; }

/* Contact form error */
.form-error { margin-top: 20px; padding: 16px 18px; border-radius: var(--radius-sm); background: #FDECEA; color: #B42318; font-weight: 600; }
.form-card .hp { position: absolute; left: -9999px; }

/* Editor content inside .prose / .legal */
.prose ul, .prose ol { padding-left: 22px; margin: 12px 0; }
.prose ul { list-style: disc; }
.prose a { text-decoration: underline; }
.prose h3 { font-size: 21px; margin: 28px 0 12px; }
.prose img { border-radius: var(--radius-sm); height: auto; }
.prose blockquote { border-left: 4px solid var(--lime-dark); padding: 6px 0 6px 18px; margin: 18px 0; color: var(--ink); }
.prose .alignwide, .prose .alignfull { max-width: 100%; }
.legal .updated + h2, .legal .updated + p { margin-top: 28px; }

/* Blog cards (not in the design, built from its card system) */
.post-card .listing-body > p { margin-bottom: 18px; }
.post-meta { font-size: 13px; color: var(--muted); margin-bottom: 8px; }

/* Comments */
.comments-area { margin-top: 50px; }
.comment-list { margin: 20px 0; }
.comment-list li { padding: 18px 0; border-bottom: 1px solid var(--line); }
.comment-list .children { padding-left: 24px; }
.comment-form p { margin-bottom: 14px; }
.comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url], .comment-form textarea { width: 100%; padding: 13px 14px; border-radius: var(--radius-sm); border: 1px solid var(--line); }
.comment-form .submit { background: var(--forest); color: #fff; border: 0; padding: 14px 26px; border-radius: var(--radius-sm); font-family: var(--font-head); font-weight: 600; cursor: pointer; }

/* Search form */
.search-form { display: flex; gap: 10px; max-width: 520px; }
.search-form input[type=search] { flex: 1; padding: 13px 14px; border-radius: var(--radius-sm); border: 1px solid var(--line); }

/* Contact Form 7 inside the design card */
.form-card .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]), .form-card .wpcf7 select, .form-card .wpcf7 textarea { width: 100%; padding: 13px 14px; border-radius: var(--radius-sm); border: 1px solid var(--line); margin-top: 6px; }
.form-card .wpcf7 input[type=submit] { background: var(--forest); color: #fff; border: 0; padding: 14px 26px; border-radius: var(--radius-sm); font-family: var(--font-head); font-weight: 600; cursor: pointer; }

/* Property gallery with fewer than 5 photos */
.gallery--1 { grid-template-columns: 1fr; grid-template-rows: 480px; }
.gallery--1 img:first-child { grid-row: auto; }
.gallery--2 { grid-template-columns: 2fr 1fr; grid-template-rows: 480px; }
.gallery--2 img:first-child { grid-row: auto; }
.gallery--3 { grid-template-columns: 2fr 1fr; }
.gallery--4 { grid-template-columns: 2fr 1fr 1fr; }
.gallery--4 img:last-child { grid-column: span 2; }
@media (max-width: 1024px) {
  .gallery--1, .gallery--2 { grid-template-columns: 1fr; grid-template-rows: 300px; }
  .gallery--2 img:last-child { display: none; }
  .gallery--3, .gallery--4 { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 160px; }
  .gallery--4 { grid-template-rows: 260px 160px 160px; }
  .gallery--4 img:last-child { grid-column: span 2; }
}
