/* partner-band.css — the horizontal partner band.
   Markup comes from partner-band.js; both are single-source, so a change here
   reaches every page at once.

   Built to read as a strip, not a section. It sits above "How CarrierCheck
   Works" on the landing page and under Related Carriers on 2M profiles, so
   height is the thing that matters most. Three decisions keep it short:
     - the logo sits beside the name rather than above it
     - the description is one clamped line
     - the compensation disclosure is stated once in the footer, not under
       every card (each card still carries a "Sponsored" marker, so the label
       stays next to the thing it labels) */

.pband{box-sizing:border-box;max-width:1100px;margin:22px auto;padding:10px 12px 8px;background:#f7faf7;border:1px solid #1a6b3a;border-radius:9px;color:#19221c}
.pband *{box-sizing:border-box}

.pband-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 8px}
.pband-title{margin:0;font-size:12.5px;font-weight:700;line-height:1.3}
.pband-all{font-size:11px;font-weight:600;color:#176638;text-decoration:none;white-space:nowrap}
.pband-all:hover{text-decoration:underline}

.pband-body{display:flex;align-items:stretch;gap:7px}

/* A native scroller, not a JS carousel: swipe works on touch with no code, and
   the arrows drive the same scroll rather than a separate slide index. */
.pband-track{display:flex;gap:8px;margin:0;padding:1px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.pband-track::-webkit-scrollbar{display:none}
/* Centred ONLY when everything fits. justify-content:center on an overflowing
   flex scroller makes the first item unreachable in every browser, so JS
   applies this exactly when it is safe. */
.pband.is-centered .pband-track{justify-content:center}

.pband-item{flex:0 0 234px;scroll-snap-align:start;display:flex}
.pband-card{display:flex;flex-direction:column;width:100%;padding:9px 10px;background:#fff;border:1px solid #e2e8e2;border-radius:6px;text-align:left}

.pband-top{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.pband-logo{flex:0 0 auto;display:block;width:22px;height:22px;object-fit:contain;color:#176638;margin:0}
/* min-width:0 lets a long partner name ellipsis instead of widening the card. */
.pband-id{min-width:0}
.pband-name{margin:0;font-size:12.5px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pband-meta{margin:0;font-size:10px;line-height:1.35;color:#416351}
.pband-spon{color:#7a857d}

/* One line, clamped: a long description would otherwise set the height of the
   whole strip. Keep descriptions in partners-data.js short. */
.pband-desc{margin:0 0 8px;font-size:10.5px;line-height:1.4;color:#4d5850;flex:1 1 auto;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.pband-cta{display:block;padding:5px 8px;border:1px solid #1a6b3a;border-radius:4px;color:#176638;background:#fff;font-size:10.5px;font-weight:600;text-align:center;text-decoration:none}
.pband-cta:hover{background:#1a6b3a;color:#fff;text-decoration:none}

.pband-arrow{flex:0 0 auto;align-self:center;width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #1a6b3a;border-radius:50%;background:#1a6b3a;color:#fff;cursor:pointer}
.pband-arrow:hover:not(:disabled){background:#14522c}
.pband-arrow:disabled{opacity:.3;cursor:default}
/* Must follow the display:flex above, or the hidden attribute loses. */
.pband-arrow[hidden]{display:none}

.pband-foot{margin:8px 0 0;padding-top:6px;border-top:1px solid #dfe8df;text-align:center;font-size:10px;line-height:1.45;color:#667269}
.pband-foot a{font-weight:600;color:#176638;text-decoration:none}
.pband a:focus-visible,.pband button:focus-visible{outline:3px solid #1a6b3a;outline-offset:3px}

/* Small screens keep the same horizontal strip — one band, every partner in it,
   swipeable. Arrows stay for anyone on a narrow window with a mouse. */
@media(max-width:700px){
  .pband{margin:16px 12px;padding:9px 10px 7px;border-radius:8px}
  .pband-head{flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:7px}
  .pband-body{gap:4px}
  .pband-arrow{width:22px;height:22px}
  .pband-item{flex-basis:min(72vw,234px)}
}
@media(prefers-reduced-motion:reduce){.pband-track{scroll-behavior:auto}}
