/* Only this optional ad variant loads these overrides. App styles stay unchanged. */
.ad-slot.ledger-ad {
  display: block;
  padding: 7px 0 10px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: center;
  overflow: visible;
}
.ad-slot.ledger-ad > .ledger-ad-label {
  display: block;
  margin-bottom: 6px;
  color: #788079;
  font-size: 10px;
  line-height: 14px;
  letter-spacing: .1em;
}
.ledger-ad-frame { min-height: 50px; width: 100%; overflow: visible; }
/* Retain blank space without lasting inline state. If Google changes status
   later (including responsive handling), this selector stops matching. */
.ledger-ad-frame > .adsbygoogle[data-ad-status="unfilled"] { visibility: hidden; }
/* Reserve the height that matches the PHP page's official inline sizing rules.
   Actual ad-unit sizes live in the inline <style>, as required by Google. */
@media (min-width: 600px) { .ledger-ad-frame { min-height: 60px; } }
@media (min-width: 900px) { .ledger-ad-frame { min-height: 90px; } }
.ad-privacy-summary { margin: 18px 0 24px; color: #788079; font-size: 10px; line-height: 1.9; }
.ad-privacy-summary a, .ledger-privacy a { text-underline-offset: 3px; }
.ledger-privacy { max-width: 1104px; margin: 24px auto; padding: 20px 0; border-top: 1px solid #e0e4da; scroll-margin-top: 18px; }
.ledger-privacy h2 { margin-bottom: 13px; font-size: 14px; }
.ledger-privacy p { margin-bottom: 11px; color: #66726a; font-size: 11px; line-height: 1.9; }
@media (min-width: 1500px) { .ledger-privacy { max-width: 1150px; } }
@media (max-width: 1180px) { .ledger-privacy { margin-left: 30px; margin-right: 30px; } }
@media (max-width: 760px) { .ledger-privacy { margin-left: 20px; margin-right: 20px; } }
@media (max-width: 540px) { .ledger-privacy { margin-left: 16px; margin-right: 16px; } }
@media (max-width: 360px) { .ledger-privacy { margin-left: 11px; margin-right: 11px; } }
@media print { .ledger-ad, .ad-privacy-summary, .ledger-privacy { display: none !important; } }
