/*
Theme Name: HPDL Data Logistics (CF7 Integrated)
Theme URI: https://hpdl.co.nz
Author: Tenison Edward Butcher
Author URI: https://hpdl.co.nz
Description: High Performance Data Logistics WordPress Theme with Contact Form 7 Native Integration
Version: 1.2
Text Domain: hpdl
*/

body { font-family: 'Inter', system-ui, sans-serif; scroll-behavior: smooth; }
.gradient-text { background: linear-gradient(135deg, #111 0%, #ef4444 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
:target { scroll-margin-top: 80px; }

/* Contact Form 7 — Tailwind reset */
.wpcf7 form .wpcf7-response-output { border-radius: 0.5rem; margin-top: 1.5rem; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output { border-color: #ef4444; color: #b91c1c; background: #fef2f2; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #22c55e; color: #15803d; background: #f0fdf4; }
.wpcf7-not-valid-tip { color: #dc2626; font-size: 0.875rem; margin-top: 0.25rem; }
.wpcf7 form label { display: block; }
.wpcf7-spinner { margin-left: 0.5rem; }

/* Long-form content. Tailwind's reset removes list markers, heading sizes and
   table borders, so page and post content needs its own typography. This is
   what makes bullets, numbers, quotes and tables survive the reset. */
.hpdl-prose > :first-child { margin-top: 0; }
.hpdl-prose > :last-child { margin-bottom: 0; }
.hpdl-prose p { margin: 0.85em 0; }
.hpdl-prose h1 { font-size: 2rem; font-weight: 800; line-height: 1.2; margin: 1.6em 0 0.5em; }
.hpdl-prose h2 { font-size: 1.65rem; font-weight: 800; line-height: 1.25; margin: 1.6em 0 0.5em; letter-spacing: -0.01em; }
.hpdl-prose h3 { font-size: 1.3rem; font-weight: 700; line-height: 1.3; margin: 1.5em 0 0.45em; }
.hpdl-prose h4 { font-size: 1.1rem; font-weight: 700; margin: 1.4em 0 0.4em; }
.hpdl-prose h5, .hpdl-prose h6 { font-size: 1rem; font-weight: 700; margin: 1.3em 0 0.4em; }
.hpdl-prose ul, .hpdl-prose ol { margin: 0.85em 0; padding-left: 1.6em; }
.hpdl-prose ul { list-style: disc; }
.hpdl-prose ol { list-style: decimal; }
.hpdl-prose ul ul { list-style: circle; }
.hpdl-prose ul ul ul { list-style: square; }
.hpdl-prose ol ol { list-style: lower-alpha; }
.hpdl-prose li { margin: 0.3em 0; padding-left: 0.15em; }
.hpdl-prose li > ul, .hpdl-prose li > ol { margin: 0.3em 0; }
.hpdl-prose li::marker { color: #dc2626; }
.hpdl-prose blockquote { border-left: 3px solid #dc2626; margin: 1.2em 0; padding: 0.2em 0 0.2em 1.1em; color: #4b5563; font-style: italic; }
.hpdl-prose hr { border: 0; border-top: 1px solid #e5e7eb; margin: 2em 0; }
.hpdl-prose a { color: #dc2626; text-decoration: underline; text-underline-offset: 2px; }
.hpdl-prose strong { font-weight: 700; color: #111827; }
.hpdl-prose em { font-style: italic; }
.hpdl-prose code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; background: #f3f4f6; padding: 0.12em 0.35em; border-radius: 4px; font-size: 0.9em; }
.hpdl-prose pre { background: #111827; color: #f9fafb; padding: 1rem; border-radius: 0.75rem; overflow: auto; margin: 1.2em 0; }
.hpdl-prose pre code { background: none; padding: 0; color: inherit; }
.hpdl-prose img { max-width: 100%; height: auto; border-radius: 0.75rem; margin: 1.2em 0; }
.hpdl-prose figure { margin: 1.4em 0; }
.hpdl-prose figcaption { font-size: 0.85rem; color: #6b7280; margin-top: 0.5em; }
.hpdl-prose table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: 0.95rem; }
.hpdl-prose th, .hpdl-prose td { border: 1px solid #e5e7eb; padding: 0.6em 0.8em; text-align: left; vertical-align: top; }
.hpdl-prose th { background: #f9fafb; font-weight: 700; }
.hpdl-prose details { margin: 1em 0; }
.hpdl-prose summary { cursor: pointer; font-weight: 600; }
.hpdl-prose iframe { max-width: 100%; border-radius: 0.75rem; }
