/* AxonAuto promotions: uses existing Carbon Performance variables. */
.promotions-page { padding-top: 12px; }
.promotion-card h2 a { color: var(--text); }
.promotion-card h2 a:hover { color: var(--accent); }
.promotion-excerpt { color: var(--muted); white-space: pre-line; }
.promotion-date { color: var(--accent); font-weight: 700; margin-top: 18px; }
.promotion-detail { max-width: 920px; margin: 22px auto; padding: clamp(24px, 5vw, 60px); }
.promotion-detail h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
.promotion-body { line-height: 1.85; }
.promotion-body p { margin-bottom: 1.1rem; white-space: pre-wrap; }
.promotion-fieldset { border: 1px solid var(--border-2); border-radius: var(--radius-sm); padding: 16px; margin-bottom: 20px; }
.promotion-fieldset legend { color: var(--accent); padding: 0 8px; font-weight: 700; }
.promotions-home .promotion-card { height: 100%; }

/* Active offers above the hero heading */
.hero-promotion-strip { display:flex; align-items:center; gap:14px; width:100%; margin-bottom:clamp(28px,4vw,48px); position:relative; z-index:1; }
.hero-promotion-viewport { flex:1; min-width:0; overflow:hidden; border:1px solid rgba(255,90,31,.38); border-radius:10px; background:rgba(10,11,13,.83); }
.hero-promotion-track { display:flex; transition:transform 650ms cubic-bezier(.2,.7,.2,1); }
.hero-promotion-slide { flex:0 0 100%; min-width:0; display:flex; align-items:center; gap:14px; padding:13px 17px; color:var(--text); text-decoration:none; }
.hero-promotion-slide:hover { color:var(--text); background:rgba(255,90,31,.07); }
.hero-promotion-tag { flex:none; font:700 .68rem var(--font-mono); color:var(--accent); text-transform:uppercase; letter-spacing:.09em; }
.hero-promotion-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; font-size:.91rem; }
.hero-promotion-arrow { flex:none; margin-left:auto; color:var(--accent); }
.hero-promotion-count { flex:none; font:600 .72rem var(--font-mono); color:var(--muted); }
@media (max-width:600px) {
  .hero-promotion-strip { gap:8px; }
  .hero-promotion-slide { gap:9px; padding:11px; }
  .hero-promotion-tag { font-size:.61rem; }
  .hero-promotion-name { font-size:.78rem; }
  .hero-promotion-count { font-size:.65rem; }
}
@media (prefers-reduced-motion:reduce) { .hero-promotion-track { transition:none; } }

/* Promotional image carousel — editorial banner variant */
.hero-promotions-heading { position:relative; z-index:1; margin:0 0 -7px 14px; }
.hero-promotions-heading span { display:inline-block; padding:8px 25px 11px; background:#f65319; color:#fff; font:700 clamp(1.4rem,3vw,2.2rem)/1.1 'Oswald',sans-serif; text-transform:uppercase; transform:skewX(-13deg); box-shadow:6px 5px 0 rgba(0,0,0,.4); }
.hero-promotion-strip { margin-bottom:clamp(26px,4vw,44px); }
.hero-promotion-viewport { border-color:rgba(245,245,245,.6); border-radius:14px; background:linear-gradient(105deg,#0c1723 0%,#142b3e 55%,#070b10 100%); }
.hero-promotion-slide { position:relative; min-height:112px; padding:26px 24px; isolation:isolate; }
.hero-promotion-slide::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,8,13,.92),rgba(5,8,13,.56) 58%,rgba(5,8,13,.16)); }
.hero-promotion-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.hero-promotion-tag { background:#f65319; color:white; border-radius:5px; padding:7px 10px; font-size:.72rem; }
.hero-promotion-name { font:700 clamp(1.05rem,2vw,1.45rem)/1.25 'Oswald',sans-serif; text-transform:uppercase; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.hero-promotion-arrow { font-size:1.5rem; color:white; }
.promotion-image-preview img { display:block; width:min(100%,420px); height:auto; margin:12px 0; border-radius:8px; }
@media(max-width:600px) { .hero-promotions-heading span { padding:8px 18px; } .hero-promotion-slide { min-height:105px; padding:22px 12px; gap:8px; } .hero-promotion-name { font-size:1rem; } }

.hero-promotion-copy { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.hero-promotion-name { display:block; }
.hero-promotion-short { display:block; color:#f1f3f6; font-size:clamp(.76rem,1.2vw,.94rem); font-weight:600; line-height:1.3; text-shadow:0 1px 3px rgba(0,0,0,.9); }
@media(max-width:600px) { .hero-promotion-short { font-size:.72rem; } }

/* The first authored line is the offer highlight; following text stays white. */
.hero-promotion-short { display:flex; flex-direction:column; align-items:flex-start; gap:3px; color:#f1f3f6; }
.hero-promotion-highlight { color:#ff5a1f; font-size:clamp(.9rem,1.45vw,1.12rem); font-weight:800; line-height:1.25; }
.hero-promotion-support { color:#f1f3f6; font-size:clamp(.76rem,1.2vw,.94rem); font-weight:600; line-height:1.3; }
@media(max-width:600px) {
  .hero-promotion-highlight { font-size:.88rem; }
  .hero-promotion-support { font-size:.72rem; }
}


/* Mobile promotion banner: stack the copy instead of squeezing it beside the tag. */
@media (max-width:600px) {
  .hero-promotion-slide {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-content:start;
    align-items:start;
    gap:7px;
    min-height:190px;
    padding:54px 14px 16px;
  }
  .hero-promotion-tag {
    position:absolute;
    top:12px;
    left:14px;
    width:max-content;
    padding:6px 9px;
    font-size:.62rem;
  }
  .hero-promotion-copy {
    width:100%;
    min-width:0;
    gap:5px;
  }
  .hero-promotion-name {
    display:block;
    max-width:calc(100% - 28px);
    overflow:visible;
    white-space:normal;
    font-size:1rem;
    line-height:1.2;
  }
  .hero-promotion-short {
    width:100%;
    font-size:.76rem;
    line-height:1.3;
  }
  .hero-promotion-highlight { font-size:.9rem; }
  .hero-promotion-support {
    font-size:.76rem;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .hero-promotion-arrow {
    position:absolute;
    top:10px;
    right:13px;
    margin:0;
    font-size:1.2rem;
  }
  .hero-promotion-image { object-position:center; }
}
