/* Page-specific polish (kept here so we don't fight overrides.css yet) */
  :root{ --ars-blue:#253d79; --ars-blue-hover:#1c2f5e; }

  /* =========================
     HERO (Commercial page only)
     ========================= */
  #blog{ min-height: 0; }

  #blog .parallax-overlay{
    min-height: 220px;   /* prevents hero collapsing */
    padding-top: 55px;
    padding-bottom: 25px;
    display: flex;
    align-items: center;
  }

  /* Commercial hero only: shift image up */
  #blog.parallax{
    background-attachment: scroll; /* disables fixed only for this hero */
    background-position: center 15%;
  }

  /* =========================
     INTRO BAND
     ========================= */
  .commercial-intro-band{
    padding: 50px 0 10px;
  }

  .commercial-intro-card{
    margin: 0;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 14px;
    overflow: hidden;
    background: transparent; /* same as page background */
    background-image: none;
    box-shadow: none;
  }

  .commercial-intro-copy{
    padding: 24px 28px;
  }

  .commercial-intro-copy h2{
    margin: 0 0 10px 0;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
    color: rgba(37,61,121,.85);
  }

  .commercial-intro-columns{
    display: flex;
    gap: 22px;
    align-items: flex-start;
  }

  .commercial-col{
    flex: 1 1 0;
    min-width: 0;
  }

  .commercial-col.aside{
    flex: 0 0 320px;
  }

  .commercial-lead{
    margin: 0 0 10px 0;
    font-size: 18px;
    line-height: 1.6;
    color: #59544c;
    padding-bottom: 18px;
  }

  .commercial-body{
    margin: 0 0 14px 0;
    font-size: 18px;
    line-height: 1.65;
    color: #59544c;
  }

  .commercial-intro-list{
    list-style: none;
    padding: 0;
    margin: 0 0 14px 0;
  }

  .commercial-intro-list li{
    margin: 0 0 8px 0;
    padding-left: 18px;
    position: relative;
    font-size: 15px;
    line-height: 1.55;
    font-weight: 500;
  }

  .commercial-intro-list li:before{
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--ars-blue, #253d79);
    font-weight: 900;
  }

.commercial-intro-chips{
    list-style: none;
    padding: 0;
    margin: 0 0 14px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }

  .commercial-intro-chips li{
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .2px;
    color: var(--ars-blue, #253d79);
    background: rgba(37,61,121,0.08);
    border: 1px solid rgba(37,61,121,0.14);
  }

  /* Call button */
  .commercial-intro-actions{
    margin-top: 10px;
    padding: 0;
  }

  .commercial-intro-actions .main-button{
    margin: 0;
  }

  /* override overrides.css button !important */
  .commercial-intro-actions a.main-button.accent-color{
    background-color: rgba(37,61,121,0.10) !important;
    border: 1px solid rgba(37,61,121,0.22) !important;
    color: rgba(37,61,121,0.90) !important;
  }

  .commercial-intro-actions a.main-button.accent-color:hover{
    background-color: rgba(37,61,121,0.14) !important;
    border-color: rgba(37,61,121,0.30) !important;
  }

  .commercial-intro-actions a.main-button.accent-color i{
    color: rgba(37,61,121,0.90) !important;
  }

  /* =========================
     LEAD TEXT ABOVE GRID
     ========================= */
  .page-lead{
    max-width: 900px;
    margin: 0 auto 22px;
    padding: 18px 0 0;
    font-size: 18px;
    line-height: 1.55;
    font-weight: 500;
    color: #59544c;
    text-align: center;
  }

  .page-lead .lead-em{
    font-size: inherit;
    font-weight: 700;
    color: rgba(37,61,121,.85);
  }

  /* =========================
     DUMPSTER GRID + CARDS
     ========================= */
  .dumpster-grid{
    padding-top: 10px;
    padding-bottom: 35px;
  }

  .dumpster-card{
    background:#fff;
    border: 1px solid rgba(0,0,0,0.10);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(0,0,0,0.08);
    margin-bottom: 28px;
    transition: transform 160ms ease, box-shadow 160ms ease;
  }

  .dumpster-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(0,0,0,0.12);
  }

  .dumpster-media{
    padding: 18px 18px 10px;
    text-align: center;
    background: linear-gradient(180deg, rgba(37,61,121,0.06), rgba(37,61,121,0));
  }

  .dumpster-media img{
    width: 100%;
    max-width: 300px;
    height: 240px;
    object-fit: contain;
    display: inline-block;
  }

  .dumpster-body{
    padding: 14px 16px 16px;
  }

  .dumpster-title{
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: 800;
    color: #253d79;
    text-align: center;
  }

  .dumpster-spec{
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 700;
    color: rgba(37,61,121,0.95);
    text-align: center;
  }

  .dumpster-desc{
    margin: 0;
    padding: 12px 12px;
    background: rgba(0,0,0,0.03);
    border: 1px solid rgba(0,0,0,0.07);
    border-radius: 10px;
    color: #4a4a4a;
    line-height: 1.55;
    font-size: 15px;
  }

  /* =========================
     PANEL WRAPPER
     ========================= */
  .dumpsters-panel{
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 14px 32px rgba(0,0,0,0.10);
  }

  .dumpsters-panel .panel-heading{
    background: rgba(37, 61, 121, 0.85);
    border: 0;
  }

  .dumpsters-panel .panel-title{
    color: #fff;
    font-weight: 800;
    font-size: 18px;
  }

  .dumpsters-panel .panel-body{
    padding: 22px;
  }

  /* =========================
     RESPONSIVE (ALL MEDIA QUERIES HERE)
     ========================= */

  /* Desktop-only: apply your alignment offsets */
  @media (min-width: 992px){

  /* Desktop: make both columns equal height so bottoms line up */
  .commercial-intro-columns{
    align-items: stretch;
  }

  /* Turn both columns into vertical stacks */
  .commercial-intro-columns > .commercial-col{
    display: flex;
    flex-direction: column;
  }

  /* Left column: push the pills down so they sit on the same row as the call button */
  .commercial-intro-columns > .commercial-col:not(.aside) .commercial-intro-chips{
    margin-top: auto;     /* <- key */
    padding-top: 18px;    /* keeps the same “breathing room” above pills */
  }

  /* Right column: push call button down and center it under the list */
  .commercial-col.aside .commercial-intro-actions{
    margin-top: auto;     /* <- key */
    padding-top: 18px;
    padding-left: 0;      /* removes the old offset that made it drift */
    display: flex;
    justify-content: center;
  }

  .commercial-col.aside .commercial-intro-actions .main-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* Tablet + down */
@media (max-width: 991px){
  .commercial-intro-copy{ padding: 18px; }
  .commercial-intro-columns{ flex-direction: column; }
  .commercial-col.aside{ flex: 1 1 auto; }
}


  /* Phones */
  @media (max-width: 767px){
    .page-lead{
      margin: 18px auto 18px;
      padding: 0 12px;
      font-size: 16px;
      text-align: left;
    }
    .dumpster-media img{ height: 170px; }
  }

 /* Commercial: call button matches Service Area page button */
.commercial-intro-actions .servicearea-call-btn{
  background: rgba(37, 61, 121, .85);
  border-color: rgba(37, 61, 121, .85);
  color: #fff !important;

  padding: 10px 16px;
  font-weight: 700;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  white-space: nowrap; /* never wrap mid-number */
}

.commercial-intro-actions .servicearea-call-btn:hover,
.commercial-intro-actions .servicearea-call-btn:focus{
  background: #274075;
  border-color: #274075;
  color: #fff !important;
}

.commercial-intro-actions .servicearea-call-btn:active,
.commercial-intro-actions .servicearea-call-btn.active{
  background: #20365f;
  border-color: #20365f;
  color: #fff !important;
}

/* ============================================================
   DESKTOP ALIGNMENT (992px and Up)
   ============================================================ */
@media (min-width: 992px) {
  /* Title wrapping prevention */
  .page-title {
    white-space: nowrap;
    overflow: visible; 
  }

  /* Equal height columns */
  .commercial-intro-columns {
    display: flex;
    align-items: stretch; 
  }

  .commercial-col {
    display: flex;
    flex-direction: column;
  }

  /* Push elements to bottom of card */
  .commercial-intro-chips,
  .commercial-intro-actions {
    margin-top: auto;
    margin-bottom: 0;
    padding-top: 18px;
  }

  /* Center button in right column */
  .commercial-intro-actions {
    display: flex;
    justify-content: center;
  }
}

/* Specific Tweak for Laptops/Large Tablets */
@media (min-width: 992px) and (max-width: 1199px) {
  .commercial-col.aside {
    padding-top: 40px;
    padding-left: 30px;
  }
}

/* ============================================================
   TABLET & MOBILE (991px and Down)
   ============================================================ */
@media (max-width: 991px) {
  .commercial-col.aside {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center; 
    align-items: center;    
    padding-top: 0; 
    gap: clamp(20px, 6vw, 120px); 
    width: 100%;            
  }

  .commercial-intro-list, 
  .commercial-intro-actions {
    margin: 0 !important;
  }

  .commercial-intro-list {
    text-align: left;
    flex-shrink: 0;
  }

  .commercial-intro-actions {
    flex-shrink: 0;
  }
}

/* SMALL PHONE (520px and Down) */
@media (max-width: 520px) {
  .commercial-col.aside {
    flex-direction: column;
    align-items: center; 
    padding-top: 0;
    width: 100%;
    margin: 0 auto;
    gap: 20px; 
  }

  .commercial-intro-list {
    padding-left: 0;
    margin-top: -10px !important; /* Pulls list closer to pills */
  }

  .commercial-intro-list li {
    text-align: left; /* Keeps bullets aligned while block is centered */
  }
}

/* EXTRA SMALL PHONE (361px and Down) */
@media (max-width: 361px) {
  .commercial-intro-list {
    display: none !important; /* Removes list */
  }

  .commercial-col.aside {
    padding-top: 10px;
    margin-top: 0;
  }

  .commercial-intro-actions {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 0 !important;
  }
}