/* =============================================================
   WordPress-specific additions on top of styles.css
   (admin bar, block-editor output, Contact Form 7, generic pages)
   ============================================================= */

/* Fixed header sits below the logged-in admin bar */
body.has-admin-bar .site-header { top: 32px; }
body.has-admin-bar .main-nav { top: calc(var(--header-height)); }
@media (max-width: 782px) { body.has-admin-bar .site-header { top: 46px; } }

/* Intro text in the dark page header (page content rendered as blocks) */
.page-hero-text p { color: rgba(255,255,255,0.8); font-size: 1.2rem; line-height: 1.7; margin-bottom: 16px; }
.page-hero-text p:last-child { margin-bottom: 0; }

/* Practice area body: paragraph + list blocks from the editor */
.practice-area-item ul { list-style: disc outside; padding-left: 1.25rem; margin: 0 0 24px; }
.practice-area-item li { padding-left: 0.25rem; margin-bottom: 6px; color: var(--color-text-light); }
.practice-area-item li::marker { color: var(--color-accent); }

/* Attorney bio (block content) */
.bio-content ul, .bio-content ol { padding-left: 1.25rem; margin: 0 0 22px; }
.bio-content ul { list-style: disc outside; }
.bio-content ol { list-style: decimal outside; }
.bio-content li::marker { color: var(--color-accent); }
.bio-content h2, .bio-content h3 { font-weight: 500; margin: 32px 0 12px; }
.bio-content h2 { font-size: 1.75rem; }
.bio-content h3 { font-size: 1.4rem; }

/* Generic page content (page.php / index.php) */
.entry-content { max-width: 780px; }
.entry-content p, .entry-content li { color: #444; line-height: 1.85; }
.entry-content p { margin-bottom: 22px; }
.entry-content h2, .entry-content h3 { font-weight: 500; margin: 36px 0 14px; }
.entry-content h2 { font-size: 2rem; }
.entry-content h3 { font-size: 1.5rem; }
.entry-content ul, .entry-content ol { padding-left: 1.25rem; margin: 0 0 22px; }
.entry-content ul { list-style: disc outside; }
.entry-content ol { list-style: decimal outside; }
.entry-content li::marker { color: var(--color-accent); }
.entry-content a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; }
.entry-content a:hover { color: var(--color-accent); }
.entry-content img { margin: 0 0 22px; }
.contact-extra p { color: var(--color-text-light); margin-bottom: 16px; }

/* Contact Form 7: same look as the built-in form */
.mh-cf7 .wpcf7-form-control-wrap { display: block; }
.mh-cf7 input[type="text"], .mh-cf7 input[type="email"], .mh-cf7 input[type="tel"], .mh-cf7 textarea {
  width: 100%; padding: 14px 16px; font-size: 1rem; color: var(--color-text);
  background: var(--color-white); border: 1px solid var(--color-border); border-radius: 4px; transition: var(--transition-fast);
}
.mh-cf7 input:focus, .mh-cf7 textarea:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(26,26,26,0.08); }
.mh-cf7 textarea { min-height: 140px; resize: vertical; }
.mh-cf7 .wpcf7-acceptance .wpcf7-list-item { display: flex; gap: 12px; align-items: flex-start; margin: 0; }
.mh-cf7 .wpcf7-acceptance input[type="checkbox"] { width: 18px; height: 18px; margin-top: 5px; flex-shrink: 0; accent-color: var(--color-primary); }
.mh-cf7 .wpcf7-acceptance .wpcf7-list-item-label { line-height: 1.5; color: var(--color-text-light); }
.mh-cf7 .wpcf7-submit { display: inline-flex; align-items: center; justify-content: center; padding: 16px 28px; font-size: 1rem; font-weight: 500; line-height: 1.2; border: 1px solid var(--color-primary); border-radius: 0; background: var(--color-primary); color: var(--color-white); cursor: pointer; transition: var(--transition-normal); }
.mh-cf7 .wpcf7-submit:hover { background: var(--color-secondary); border-color: var(--color-secondary); }
.mh-cf7 .wpcf7-submit:disabled { opacity: 0.6; cursor: wait; }
.mh-cf7 .wpcf7-spinner { margin-left: 12px; }
.mh-cf7 .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: 0.9rem; color: #9b2c2c; }
.mh-cf7 .wpcf7-response-output { margin: 24px 0 0; padding: 16px 20px; border: 1px solid var(--color-border); border-radius: 4px; }
.mh-cf7 .wpcf7-form.sent .wpcf7-response-output { background: #eaf8ef; border-color: #cde9d5; }
.mh-cf7 .wpcf7-form.invalid .wpcf7-response-output, .mh-cf7 .wpcf7-form.failed .wpcf7-response-output { background: #fdf1f1; border-color: #f0cfcf; }
@media (max-width: 768px) { .mh-cf7 .wpcf7-submit { width: 100%; } }

/* Built-in form extras */
.mh-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mh-form-error { margin-bottom: 20px; padding: 14px 18px; background: #fdf1f1; border: 1px solid #f0cfcf; border-radius: 4px; color: #7a2a2a; }
.mh-admin-notice { margin-bottom: 16px; padding: 10px 14px; background: #fff8e1; border: 1px solid #f0e6c8; font-size: 0.9rem; }

/* Pagination (fallback templates only) */
.pagination .nav-links { display: flex; gap: 12px; margin-top: 32px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
