/* Styles for the MilCA additions (databases, resource lists, suggestion forms, events list).
   Matches the Impacto Patronus theme: navy #07203C, Barlow Condensed headings, Titillium Web body. */
.milca-section { padding: 80px 0; }
.milca-section.alt { background: #f4f4f4; }
.milca-wrap { max-width: 1170px; margin: 0 auto; padding: 0 20px; }
.milca-eyebrow { font-family: "Barlow Condensed", sans-serif; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: #07203C; font-size: 16px; margin-bottom: 8px; }
.milca-title { font-family: "Barlow Condensed", sans-serif; font-weight: 600; text-transform: uppercase; color: #07203C; font-size: 48px; line-height: 1.05; margin: 0 0 18px; }
.milca-lead { font-size: 17px; max-width: 760px; margin-bottom: 36px; }
.milca-controls { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; align-items: center; }
.milca-controls input[type="search"], .milca-controls select { flex: 1 1 200px; min-width: 0; padding: 14px 16px; border: 1px solid #d9d9d9; background: #fff; font: inherit; color: #333; }
.milca-check { display: flex; align-items: center; gap: 8px; font-size: 15px; }
.milca-count { font-size: 14px; color: #777; margin-bottom: 20px; }
.milca-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.milca-chip { font-family: "Barlow Condensed", sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; font-size: 14px; padding: 9px 16px; border: 2px solid #07203C; background: #fff; color: #07203C; cursor: pointer; }
.milca-chip[aria-pressed="true"] { background: #07203C; color: #fff; }
.milca-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; }
.milca-card { background: #fff; border: 1px solid #e3e3e3; border-top: 4px solid #07203C; padding: 26px 26px 24px; display: flex; flex-direction: column; }
.milca-card h3 { font-family: "Barlow Condensed", sans-serif; font-weight: 600; text-transform: uppercase; color: #07203C !important; font-size: 24px; line-height: 1.15; margin: 0 0 6px; }
.milca-provider { font-size: 14px; color: #888; margin-bottom: 12px; }
.milca-card p { font-size: 15px; line-height: 1.6; margin: 0 0 14px; }
.milca-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; margin-bottom: 18px; }
.milca-meta strong { color: #07203C; }
.milca-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; }
.milca-tag { font-size: 12px; background: #eef1f5; color: #07203C; padding: 3px 9px; }
.milca-card .milca-btn { margin-top: auto; align-self: flex-start; }
.milca-btn { display: inline-block; font-family: "Barlow Condensed", sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; font-size: 15px; background: #07203C; color: #fff !important; padding: 13px 26px; text-decoration: none; border: 0; cursor: pointer; }
.milca-btn:hover { background: #0e3a6b; }
.milca-empty { padding: 40px; background: #fff; border: 1px dashed #c9c9c9; text-align: center; }
.milca-form { background: #fff; padding: 34px; border: 1px solid #e3e3e3; max-width: 820px; }
.milca-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.milca-form .full { grid-column: 1 / -1; }
.milca-form label { display: block; font-size: 14px; color: #07203C; font-weight: 600; margin-bottom: 6px; }
.milca-form input, .milca-form select, .milca-form textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #d9d9d9; font: inherit; color: #333; background: #fff; }
.milca-form textarea { min-height: 120px; }
.milca-form label.milca-choice { font-weight: 400; color: #333; display: flex; align-items: center; gap: 10px; margin: 8px 0; }
.milca-form input[type="checkbox"], .milca-form input[type="radio"] { display: inline-block !important; width: 18px; height: 18px; padding: 0; margin: 0; flex: none; -webkit-appearance: auto; appearance: auto; }
.milca-note { font-size: 13px; color: #777; margin: 4px 0 18px; }
.milca-events { display: grid; gap: 18px; }
.milca-event { display: grid; grid-template-columns: 110px 1fr; gap: 24px; background: #fff; border: 1px solid #e3e3e3; padding: 22px; }
.milca-date { background: #07203C; color: #fff; text-align: center; padding: 14px 6px; font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; }
.milca-date .d { font-size: 40px; line-height: 1; font-weight: 700; }
@media (max-width: 767px) {
  .milca-section { padding: 50px 0; }
  .milca-title { font-size: 34px; }
  .milca-grid { grid-template-columns: 1fr; }
  .milca-form { padding: 22px; }
  .milca-form .row { grid-template-columns: 1fr; }
  .milca-event { grid-template-columns: 1fr; }
}

/* Full-bleed bands like the theme's own sections, and undo theme form defaults inside our controls */
.milca-section { width: 100vw; margin-left: calc(50% - 50vw); box-sizing: border-box; }
html, body { overflow-x: clip; }
.milca-controls input[type="search"], .milca-controls select { width: auto; margin: 0; }
.milca-check input[type="checkbox"] { appearance: auto; -webkit-appearance: checkbox; position: static; opacity: 1; width: 18px; height: 18px; margin: 0; display: inline-block; }
.milca-form ::placeholder, .milca-controls ::placeholder { text-transform: none; }
.milca-controls > input, .milca-controls > .select_container, .milca-controls > select { flex: 1 1 200px !important; width: auto !important; min-width: 0; margin: 0 !important; }
.milca-controls .select_container select { width: 100% !important; }
.milca-controls > .milca-check { flex: 1 1 100%; }
.milca-check input[type="checkbox"] { display: inline-block !important; }

/* Featured event band (e.g. All In for Education) */
.milca-feature { background: #07203C; color: #d9dee6; padding: 80px 0; }
.milca-feature .milca-wrap { display: grid; grid-template-columns: minmax(260px, 420px) 1fr; gap: 56px; align-items: center; }
.milca-feature img { width: 100%; height: auto; display: block; box-shadow: 0 20px 50px rgba(0,0,0,.45); }
.milca-feature .milca-eyebrow { color: #d4a94f; }
.milca-feature .milca-title { color: #fff; margin-bottom: 8px; }
.milca-feature .tagline { font-style: italic; font-size: 20px; color: #f1e3c2; margin: 0 0 24px; }
.milca-feature .facts { list-style: none; padding: 0; margin: 0 0 26px; font-size: 17px; line-height: 1.7; }
.milca-feature .facts strong { color: #fff; }
.milca-tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 26px; }
.milca-tier { border: 1px solid #d4a94f; padding: 14px 10px; text-align: center; }
.milca-tier .label { font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: 1px; color: #d4a94f; font-weight: 600; font-size: 15px; }
.milca-tier .price { font-family: "Barlow Condensed", sans-serif; font-weight: 700; color: #fff; font-size: 38px; line-height: 1.1; }
.milca-tier .what { font-size: 13px; line-height: 1.4; }
.milca-feature .milca-btn { background: #d4a94f; color: #07203C !important; font-size: 18px; padding: 16px 34px; }
.milca-feature .milca-btn:hover { background: #e6bf67; }
.milca-feature .small { font-size: 14px; margin-top: 18px; }
.milca-feature a:not(.milca-btn) { color: #f1e3c2; text-decoration: underline; }
@media (max-width: 860px) {
  .milca-feature { padding: 50px 0; }
  .milca-feature .milca-wrap { grid-template-columns: 1fr; gap: 32px; }
  .milca-feature img { max-width: 420px; margin: 0 auto; }
  .milca-tiers { grid-template-columns: 1fr; }
}
.milca-suggest-link { font-size: 15px; margin: -8px 0 22px; }
.milca-suggest-link a { color: #07203C; font-weight: 600; text-decoration: underline; }
/* Subscribe page (/subscribe/) */
.milca-dispatch-weeks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 22px; max-width: 980px; }
.milca-dispatch-weeks div { background: #fff; border: 1px solid #e3e3e3; border-top: 4px solid #07203C; padding: 16px 18px; }
.milca-dispatch-weeks b { display: block; font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: 1px; font-size: 13px; color: #b0873a; }
.milca-dispatch-weeks strong { display: block; font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; font-size: 22px; color: #07203C; margin: 2px 0 4px; }
.milca-dispatch-weeks span { font-size: 14px; line-height: 1.4; }
.milca-groups { border: 0; padding: 0; margin: 4px 0 14px; }
.milca-groups legend { font-size: 14px; color: #07203C; font-weight: 600; margin-bottom: 4px; padding: 0; }
.milca-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.milca-form-msg { margin-top: 1em; padding: .8em 1em; border: 2px solid #46b450; }
.milca-form-msg.err { border-color: #dc3232; }
@media (max-width: 767px) { .milca-dispatch-weeks { grid-template-columns: 1fr 1fr; } }
