/* ================= ADVERTISING PLANNER (extends invest.css) ================= */
.ad-label { margin: 22px 0 10px; font-size: 14px; font-weight: 700; color: #374151; }
.ad-label span { font-weight: 500; color: #9ca3af; }
.ad-label:first-of-type { margin-top: 0; }
.ad-formats .inv-model small { margin-top: 2px; }
.ad-soon { margin: -8px 0 0; font-size: 12.5px; color: #9ca3af; }
.ad-months { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ad-month {
  padding: 12px 8px; border-radius: 12px; border: 1px solid #e5e7eb; background: #fbfbfa; cursor: pointer;
  font: 600 14.5px 'Inter', sans-serif; color: #374151; transition: border-color .2s, background .2s;
}
.ad-month:hover { border-color: #f5c518; }
.ad-month.is-active { border: 2px solid #f4b400; padding: 11px 7px; background: #fffaf0; color: #111; }
.ad-areas { display: flex; flex-wrap: wrap; gap: 8px; }
.ad-areas label { position: relative; cursor: pointer; }
.ad-areas input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ad-areas span {
  display: inline-block; padding: 9px 14px; border-radius: 999px; border: 1px solid #e5e7eb; background: #fbfbfa;
  font-size: 13.5px; font-weight: 600; color: #4b5563; transition: all .2s;
}
.ad-areas input:checked + span { background: #111; border-color: #111; color: #fff; }
.ad-areas input:focus-visible + span { box-shadow: 0 0 0 3px rgba(244,180,0,.35); }
.ad-page .inv-sum-rows strong { text-align: right; }
@media (max-width: 600px) {
  .ad-months { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ad-formats { grid-template-columns: 1fr; }
}
html[data-theme="dark"] .ad-label { color: #d1d5db; }
html[data-theme="dark"] .ad-month, html[data-theme="dark"] .ad-areas span { background: #14161b; border-color: #2e333c; color: #d1d5db; }
html[data-theme="dark"] .ad-month.is-active { background: #221e12; border-color: #f4b400; color: #fff; }
html[data-theme="dark"] .ad-areas input:checked + span { background: #ffcc00; border-color: #ffcc00; color: #111; }

/* minimal format tiles (no price line) */
.ad-formats .inv-model b { font-size: 15px; color: #111; }
.ad-formats .inv-model small { font-size: 12.5px; }
.ad-month.is-active { border: 1.5px solid #111; padding: 11.5px 7.5px; background: #fff; }
html[data-theme="dark"] .ad-formats .inv-model b { color: #f3f4f6; }
html[data-theme="dark"] .ad-month.is-active { border-color: #ffcc00; background: #14161b; }

/* ---- refinement ---- */
.ad-formats .inv-model small { margin-top: 4px; }
.ad-formats .inv-model b { font-size: 15.5px; color: #111; font-weight: 700; }
.ad-month { background: #ffffff; border-color: #e7e5df; }
.ad-month.is-active { border: 1px solid #111; box-shadow: 0 0 0 1px #111; padding: 12px 8px; background: #ffffff; }
.ad-areas span { background: #ffffff; border-color: #e7e5df; }
html[data-theme="dark"] .ad-formats .inv-model b { color: #f3f4f6; }
html[data-theme="dark"] .ad-month.is-active { border-color: #ffcc00; box-shadow: 0 0 0 1px #ffcc00; background: #14161b; }
