/* VL-003 M6 — Rebate hub + the shared rebate callout band. Builds on city-landing.css. */

/* Shared callout band (city pages + xeriscape service page) */
.vl-rebate-callout{display:flex;gap:14px;align-items:center;background:#f1f7f3;border:1px solid #cfe0cf;border-left:5px solid var(--vl-green,#2f7d4f);border-radius:8px;padding:16px 18px;}
.vl-rebate-callout .vl-rb-ico{font-size:30px;line-height:1;}
.vl-rebate-callout .vl-rb-body{flex:1;}
.vl-rebate-callout .vl-rb-body strong{display:block;color:var(--vl-dark,#1f4d33);font-size:16px;margin-bottom:3px;}
.vl-rebate-callout .vl-rb-body span{font-size:13px;color:#4a5a51;}
.vl-rebate-callout .vl-rb-cta{background:#bb4e1a;color:#fff;text-decoration:none;font-weight:700;font-size:13px;padding:10px 14px;border-radius:6px;white-space:nowrap;}

/* Featured "$" callouts */
.vl-rebate-hub .vl-rb-feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;}
.vl-rebate-hub .vl-rb-feat{background:linear-gradient(135deg,#2f7d4f,#1f4d33);color:#fff;border-radius:10px;padding:18px;text-decoration:none;text-align:center;}
.vl-rebate-hub .vl-rb-feat strong{display:block;font-size:28px;line-height:1.1;}
.vl-rebate-hub .vl-rb-feat span{font-size:13px;opacity:.92;}

/* Filter bar */
.vl-rebate-hub .vl-rb-filter{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:0 0 18px;}
.vl-rebate-hub .vl-rb-filter select{padding:7px 10px;border:1px solid #cdd6d0;border-radius:6px;margin-left:6px;}
.vl-rebate-hub .vl-rb-turf-toggle{font-size:14px;color:#3a473f;}

/* Program cards */
.vl-rebate-hub .vl-rb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.vl-rebate-hub .vl-rb-card{border:1px solid #e3e9ec;border-radius:10px;padding:18px;background:#fff;}
/* The program cards are <article>, so phx style.css `#main article{padding-top:4em;padding-left:0}` (spec 101)
   clobbers the class rule (spec 20). Override at #main level (spec 110) to restore real card padding. */
#main .vl-rb-card{padding:20px 22px;}
.vl-rebate-hub .vl-rb-amt{display:inline-block;background:var(--vl-green,#2f7d4f);color:#fff;font-weight:700;border-radius:5px;padding:3px 10px;margin-bottom:8px;}
.vl-rebate-hub .vl-rb-card h3{margin:0 0 2px;color:var(--vl-dark,#1f4d33);font-size:18px;}
.vl-rebate-hub .vl-rb-prog{margin:0 0 10px;color:#5a6b61;font-size:14px;}
.vl-rebate-hub .vl-rb-reqs{margin:0 0 10px;padding-left:18px;}
.vl-rebate-hub .vl-rb-reqs li{font-size:13px;color:#3a473f;margin-bottom:4px;}
.vl-rebate-hub .vl-rb-turfflag{font-size:12px;font-weight:700;margin:0 0 8px;}
.vl-rebate-hub .vl-rb-turfflag.is-no{color:#9a3412;}
.vl-rebate-hub .vl-rb-turfflag.is-yes{color:#15803d;}
.vl-rebate-hub .vl-rb-note{font-size:12px;color:#777;font-style:italic;margin:0 0 8px;}
.vl-rebate-hub .vl-rb-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;}
.vl-rebate-hub .vl-rb-meta a{color:#bb4e1a;font-weight:700;text-decoration:none;}
.vl-rebate-hub .vl-rb-verified{color:#8a948d;font-size:12px;}
.vl-rebate-hub .vl-rb-empty{padding:18px;text-align:center;color:#5a6b61;}
.vl-rebate-hub .vl-rb-disclaimer{margin-top:18px;font-size:12px;color:#8a948d;line-height:1.5;}

@media(max-width:520px){
  .vl-rebate-callout{flex-direction:column;align-items:flex-start;}
}

/* Trust badges */
.vl-city .vl-trust-badges{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.25);}
.vl-city .vl-trust-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 10px;padding:0;}
.vl-city .vl-trust-item{font-size:13px;color:rgba(255,255,255,.92);display:flex;align-items:center;gap:5px;}
.vl-city .vl-trust-ico{font-size:15px;}
.vl-city .vl-trust-promise{font-size:13px;color:rgba(255,255,255,.85);margin:0;font-style:italic;}
@media(max-width:520px){
  .vl-city .vl-trust-list{flex-direction:column;gap:7px;}
}

/* Offers strip */
.vl-city .vl-offers-strip{background:#1f4d33;padding:10px 16px;}
.vl-city .vl-offers-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;padding:0;justify-content:center;}
.vl-city .vl-offer-item{display:flex;align-items:center;gap:7px;font-size:14px;color:#e9f2ec;padding:4px 0;}
.vl-city .vl-offer-ico{font-size:18px;line-height:1;}
/* JS-active: hide non-active items */
.vl-city .vl-offers-strip.js-active .vl-offer-item{display:none;}
.vl-city .vl-offers-strip.js-active .vl-offer-item.is-active{display:flex;}
@media(max-width:520px){
  .vl-city .vl-offers-list{flex-direction:column;align-items:flex-start;}
}
