/* South Denver Market Letter. Everything is scoped under .sdg-ml so nothing leaks into Astra.
   Palette and layout from the approved package (light only; the site is light only).
   Fonts are inherited from the theme. */
.sdg-ml{
  --sdg-ml-bg:#f3f5f2; --sdg-ml-paper:#ffffff; --sdg-ml-ink:#1b2620; --sdg-ml-muted:#5b6a61; --sdg-ml-line:#d8ded8;
  --sdg-ml-pine:#2c6a4b; --sdg-ml-pine-soft:#e3efe7; --sdg-ml-gold:#a8711c; --sdg-ml-gold-soft:#f7ecd8;
  --sdg-ml-warn:#9a3b1f; --sdg-ml-warn-soft:#f8e5de;
  color:var(--sdg-ml-ink); line-height:1.55; font-size:15px;
}
.sdg-ml *,.sdg-ml *::before,.sdg-ml *::after{box-sizing:border-box}
.sdg-ml p{margin:0}
.sdg-ml a{color:var(--sdg-ml-pine)}
.sdg-ml .sdg-ml-h1,.sdg-ml .sdg-ml-h3{line-height:1.2;margin:0;text-wrap:balance;color:var(--sdg-ml-ink)}
.sdg-ml .sdg-ml-h1{font-size:1.6rem;font-weight:650}
.sdg-ml .sdg-ml-h3{font-size:1.3rem;font-weight:650}
.sdg-ml .sdg-ml-title{font-size:1.3rem;font-weight:650;line-height:1.2;margin:0;text-wrap:balance;color:var(--sdg-ml-ink)}
.sdg-ml .sdg-ml-eyebrow{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--sdg-ml-muted);font-weight:600}
.sdg-ml .sdg-ml-fine{font-size:.74rem;color:var(--sdg-ml-muted);line-height:1.45}
.sdg-ml .sdg-ml-ink{color:var(--sdg-ml-ink);font-size:.85rem}
.sdg-ml .sdg-ml-strong{font-weight:600}
.sdg-ml .sdg-ml-muted{color:var(--sdg-ml-muted);max-width:60ch}
.sdg-ml .sdg-ml-input{font:inherit;padding:10px 12px;border:1px solid var(--sdg-ml-line);border-radius:8px;background:var(--sdg-ml-bg);color:var(--sdg-ml-ink);width:100%;margin:0;box-shadow:none}
.sdg-ml .sdg-ml-textarea{resize:vertical;min-height:90px}
.sdg-ml .sdg-ml-btn{font:inherit;font-weight:700;background:var(--sdg-ml-pine);color:var(--sdg-ml-paper);border:0;border-radius:8px;padding:10px 14px;cursor:pointer;text-decoration:none;display:inline-block;line-height:1.3}
.sdg-ml .sdg-ml-btn:hover,.sdg-ml .sdg-ml-btn:focus{background:var(--sdg-ml-pine);color:var(--sdg-ml-paper);filter:brightness(1.08)}
.sdg-ml .sdg-ml-btn.sdg-ml-ghost{background:transparent;color:var(--sdg-ml-pine);border:1px solid var(--sdg-ml-pine)}
.sdg-ml button:focus-visible,.sdg-ml a:focus-visible,.sdg-ml input:focus-visible,.sdg-ml textarea:focus-visible{outline:2px solid var(--sdg-ml-pine);outline-offset:2px}
.sdg-ml .sdg-ml-row{display:flex;gap:8px;flex-wrap:wrap}
.sdg-ml .sdg-ml-row .sdg-ml-input{flex:1 1 220px;min-width:0;width:auto}
.sdg-ml .sdg-ml-hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.sdg-ml .sdg-ml-is-error{color:var(--sdg-ml-warn)}
.sdg-ml .sdg-ml-is-ok{color:var(--sdg-ml-pine)}
.sdg-ml [hidden]{display:none!important}

/* Boxes in content */
.sdg-ml.sdg-ml-slot{margin:1.75em 0;clear:both}
.sdg-ml .sdg-ml-box{border-radius:12px;padding:20px;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0}
.sdg-ml .sdg-ml-box-dining{background:var(--sdg-ml-gold-soft);border:1px solid rgba(168,113,28,.35)}
.sdg-ml .sdg-ml-box-dining .sdg-ml-eyebrow{color:var(--sdg-ml-gold)}
.sdg-ml .sdg-ml-box-mover{background:var(--sdg-ml-pine-soft);border:1px solid rgba(44,106,75,.35)}
.sdg-ml .sdg-ml-box-mover .sdg-ml-eyebrow{color:var(--sdg-ml-pine)}
.sdg-ml .sdg-ml-box-sara{background:var(--sdg-ml-paper);border:1px solid var(--sdg-ml-line)}
.sdg-ml .sdg-ml-fields{display:grid;gap:6px}
.sdg-ml .sdg-ml-label{font-weight:600;font-size:.85rem}

/* Footer band */
.sdg-ml.sdg-ml-band{background:var(--sdg-ml-pine-soft);padding:16px max(16px,4vw)}
.sdg-ml .sdg-ml-band-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.sdg-ml .sdg-ml-band-text{font-weight:600}
.sdg-ml .sdg-ml-band-actions{display:flex;gap:8px;flex-wrap:wrap}
.sdg-ml .sdg-ml-band-form{max-width:1200px;margin:12px auto 0;display:grid;gap:8px}

/* Phones: Shareaholic's floating share bar is hidden while a box, the band or the planner is on
   screen, so it never covers a box button (planner.js sets the class on html). */
html.sdg-ml-cover-share .shareaholic-floated.shareaholic-mobile{visibility:hidden!important;pointer-events:none!important}

/* Preview tag */
.sdg-ml.sdg-ml-preview-tag{position:fixed;left:12px;bottom:12px;z-index:99999;background:var(--sdg-ml-gold-soft);color:var(--sdg-ml-gold);border:1px solid var(--sdg-ml-gold);border-radius:999px;padding:4px 12px;font-weight:600;font-size:.8rem;pointer-events:none}

/* Planner */
.sdg-ml.sdg-ml-planner{background:var(--sdg-ml-paper);border:1px solid var(--sdg-ml-line);border-radius:12px;overflow:hidden;margin:24px auto;max-width:1080px}
.sdg-ml-planner-page{padding:0 16px}
.sdg-ml .sdg-ml-pl{padding:22px 20px;display:grid;gap:18px}
.sdg-ml .sdg-ml-pl-hero{display:grid;gap:6px}
.sdg-ml .sdg-ml-qgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
@media (max-width:620px){.sdg-ml .sdg-ml-qgrid{grid-template-columns:minmax(0,1fr)}}
.sdg-ml .sdg-ml-fs{border:0;margin:0;padding:0;display:grid;gap:8px;min-width:0}
.sdg-ml .sdg-ml-fs legend{font-weight:600;margin-bottom:6px;padding:0;font-size:1rem}
.sdg-ml .sdg-ml-chips{display:flex;flex-wrap:wrap;gap:6px;position:relative}
.sdg-ml .sdg-ml-chips input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:0}
.sdg-ml .sdg-ml-chips label{border:1px solid var(--sdg-ml-line);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:.88rem;background:var(--sdg-ml-bg);color:var(--sdg-ml-ink);margin:0}
.sdg-ml .sdg-ml-chips input:checked+label{background:var(--sdg-ml-pine);border-color:var(--sdg-ml-pine);color:var(--sdg-ml-paper)}
.sdg-ml .sdg-ml-chips input:focus-visible+label{outline:2px solid var(--sdg-ml-pine);outline-offset:2px}
.sdg-ml .sdg-ml-example-wrap{display:grid;align-content:end;gap:6px}
.sdg-ml .sdg-ml-example-tag{font-size:.75rem;color:var(--sdg-ml-gold);font-weight:600}
.sdg-ml .sdg-ml-matches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:6px}
@media (max-width:760px){.sdg-ml .sdg-ml-matches{grid-template-columns:minmax(0,1fr)}}
.sdg-ml .sdg-ml-m{border:1px solid var(--sdg-ml-line);border-radius:10px;padding:14px;display:grid;gap:8px;align-content:start;background:var(--sdg-ml-bg)}
.sdg-ml .sdg-ml-m .sdg-ml-h3{font-size:1.15rem}
.sdg-ml .sdg-ml-rank{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.75rem;color:var(--sdg-ml-pine)}
.sdg-ml .sdg-ml-price{font-size:1.4rem;font-variant-numeric:tabular-nums;font-weight:600}
.sdg-ml .sdg-ml-m dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:.82rem}
.sdg-ml .sdg-ml-m dt{color:var(--sdg-ml-muted);font-weight:400;margin:0}
.sdg-ml .sdg-ml-m dd{margin:0;font-variant-numeric:tabular-nums}
.sdg-ml .sdg-ml-m dd.sdg-ml-normal{font-variant-numeric:normal}
.sdg-ml .sdg-ml-why{margin:0;padding-left:16px;display:grid;gap:2px;font-size:.85rem}
.sdg-ml .sdg-ml-why li{margin:0}
.sdg-ml .sdg-ml-stretch{font-size:.75rem;background:var(--sdg-ml-gold-soft);color:var(--sdg-ml-gold);border-radius:4px;padding:1px 6px;width:max-content}
.sdg-ml .sdg-ml-gate{position:relative;border:1px solid var(--sdg-ml-line);border-radius:10px;overflow:hidden}
.sdg-ml .sdg-ml-gate-body{padding:16px;display:grid;gap:12px}
.sdg-ml .sdg-ml-gate.sdg-ml-locked .sdg-ml-gate-body{filter:blur(5px);user-select:none;pointer-events:none}
.sdg-ml .sdg-ml-gate-form{position:absolute;inset:0;display:grid;place-items:center;padding:12px;background:rgba(255,255,255,.55)}
.sdg-ml .sdg-ml-gate:not(.sdg-ml-locked) .sdg-ml-gate-form{display:none}
.sdg-ml .sdg-ml-gform{background:var(--sdg-ml-paper);border:1px solid var(--sdg-ml-line);border-radius:10px;padding:16px;display:grid;gap:10px;width:min(420px,100%);box-shadow:0 8px 28px rgba(0,0,0,.12);margin:0}
.sdg-ml .sdg-ml-gform .sdg-ml-h3{font-size:1.05rem}
.sdg-ml .sdg-ml-err{color:var(--sdg-ml-warn)}
.sdg-ml .sdg-ml-check{display:flex;gap:8px;align-items:flex-start;font-size:.85rem}
.sdg-ml .sdg-ml-check input{margin-top:3px}
.sdg-ml .sdg-ml-negrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:560px){.sdg-ml .sdg-ml-negrow{grid-template-columns:minmax(0,1fr)}}
.sdg-ml .sdg-ml-neg{border-radius:8px;background:var(--sdg-ml-bg);padding:10px 12px;display:grid;gap:2px}
.sdg-ml .sdg-ml-neg span{font-size:.78rem;color:var(--sdg-ml-muted)}
.sdg-ml .sdg-ml-neg b{font-size:1.35rem;font-variant-numeric:tabular-nums}
.sdg-ml .sdg-ml-tip{font-size:.9rem}
.sdg-ml .sdg-ml-dom{display:grid;gap:6px}
.sdg-ml .sdg-ml-dombar{display:grid;grid-template-columns:70px minmax(0,1fr) 40px;gap:8px;align-items:center;font-size:.82rem}
.sdg-ml .sdg-ml-dombar i{display:block;height:10px;border-radius:5px;background:var(--sdg-ml-pine)}
.sdg-ml .sdg-ml-num{font-variant-numeric:tabular-nums}
.sdg-ml .sdg-ml-disclose{font-size:.74rem;color:var(--sdg-ml-muted);border-top:1px solid var(--sdg-ml-line);padding-top:10px}
.sdg-ml .sdg-ml-thanks{background:var(--sdg-ml-pine-soft);color:var(--sdg-ml-pine);border-radius:8px;padding:10px 12px;font-weight:600;font-size:.9rem}
@media (prefers-reduced-motion:no-preference){.sdg-ml .sdg-ml-m{transition:transform .2s}.sdg-ml .sdg-ml-m:hover{transform:translateY(-2px)}}
