/*
Theme Name: Defense Forward
Author: Defense Forward
Description: A minimal freight brokerage website with shared navigation, responsive page layouts and local brand assets. Content is imported separately.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: defense-forward
*/
body { margin: 0; }
.df-site { min-height: 100vh; overflow-wrap: break-word; }
.df-site #df-main:focus { outline: none; }
.df-site .df-menu-list { list-style: none; margin: 0; padding: 0; }
.df-site .df-desktop-nav > .df-menu-list { display: flex; align-items: center; gap: 26px; }
.df-site .df-desktop-nav li { margin: 0; padding: 0; }
.df-site .df-desktop-nav a { display: block; }
.df-site .df-desktop-nav .current-menu-item > a::after,
.df-site .df-desktop-nav a[aria-current="page"]::after { width: 100%; }
.df-site .df-policy-links { display: flex; flex-wrap: wrap; gap: 14px 25px; padding-top: 20px; font-size: 12px; }
.df-site .df-policy-links a { text-decoration: underline; text-underline-offset: 4px; }
.df-site .df-content h1 { font-size: clamp(36px, 5vw, 60px); line-height: 1.12; margin-bottom: 25px; }
.df-site .df-content article { margin-bottom: 45px; }
.df-site .wp-block-shortcode { max-width: 850px; margin-inline: auto; }
.df-site .wpcf7 { width: min(850px, calc(100% - 40px)); margin: 0 auto 60px; }
.df-site .wpcf7 p { margin: 0 0 20px; }
.df-site .wpcf7 label { display: block; }
.df-site .wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.df-site .wpcf7 textarea, .df-site .wpcf7 select { font: inherit; width: 100%; max-width: 100%; padding: 12px; border: 1px solid #b7babd; border-radius: 0; background: #fff; color: var(--df-ink); }
.df-site .wpcf7 input[type="checkbox"], .df-site .wpcf7 input[type="radio"] { width: 18px; height: 18px; margin-right: 10px; vertical-align: middle; }
.df-site .wpcf7 .wpcf7-list-item { margin: 0; }
.df-site .wpcf7 input[type="submit"] { font: inherit; font-weight: 700; border: 0; padding: 16px 24px; background: var(--df-red); color: #fff; cursor: pointer; }
.df-site .wpcf7 a { color: var(--df-red); text-decoration: underline; }
.df-site .wpcf7 input:focus-visible, .df-site .wpcf7 textarea:focus-visible, .df-site .wpcf7 select:focus-visible { outline: 3px solid var(--df-red); outline-offset: 3px; }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; overflow: hidden; position: absolute !important; white-space: nowrap; }
@media (max-width: 1180px) { .df-site .df-desktop-nav > .df-menu-list { gap: 17px; } }
@media (max-width: 980px) {
  .df-site .df-mobile-menu[open] > nav { display: block; }
  .df-site .df-mobile-menu .df-menu-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 25px; }
  .df-site .df-mobile-menu nav > a:not(.df-button), .df-site .df-mobile-menu li a { display: block; padding-block: 12px; font-size: 13px; border-bottom: 1px solid var(--df-line); }
  .df-site .df-mobile-menu nav > .df-button { display: flex; width: fit-content; }
}
@media (max-width: 420px) { .df-site .df-mobile-menu .df-menu-list { grid-template-columns: 1fr; } }
