/* Featured Equipment slider styles — shared across home + AC+ Series pages. */
    /* Featured Equipment slider — split-panel layout matching the corporate
       AWP-vendor mock: left side text + specs, right side product photo on a
       light card with a clipped top-right corner. Slides come from store
       settings (web.featuredproductids); arrows + dots cycle, auto-rotate
       every 6s and pauses on hover/focus. */
    .featured-slider-wrap { margin: 64px 0 56px; }
    .fp-intro { text-align: center; max-width: 820px; margin: 0 auto 36px; }
    .fp-intro .section-title { margin-bottom: 12px; }
    .fp-intro p { color: var(--gray-700); font-size: 17px; line-height: 1.7; }
    .fp-stage { position: relative; }
    .fp-viewport { overflow: hidden; border-radius: 18px; }
    .fp-track { display: flex; transition: transform .55s cubic-bezier(.4,0,.2,1); }
    .fp-slide {
      flex: 0 0 100%; display: grid; grid-template-columns: 1.05fr 1fr; gap: 32px; align-items: center;
      background: var(--gray-50, #f5f7fa); padding: 56px 56px;
    }
    .fp-slide .fp-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--primary); margin-bottom: 10px; }
    .fp-slide h3 { font-size: clamp(28px, 4vw, 44px); line-height: 1.1; margin: 0 0 14px; color: var(--dark); }
    .fp-slide .fp-badge { display: inline-block; background: var(--primary); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 2px; padding: 6px 14px; border-radius: 4px; margin-bottom: 18px; text-transform: uppercase; }
    .fp-slide .fp-desc { color: var(--gray-700); line-height: 1.7; margin: 0 0 24px; }
    .fp-attrs { list-style: none; padding: 0; margin: 0 0 28px; }
    .fp-attrs li { display: flex; gap: 12px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--gray-200); font-size: 15px; }
    .fp-attrs li:last-child { border-bottom: 0; }
    .fp-attrs .k { font-weight: 700; font-style: italic; color: var(--dark); min-width: 0; }
    .fp-attrs .sep { color: var(--primary); font-weight: 700; }
    .fp-attrs .v { color: var(--gray-800); }
    .fp-actions { display: flex; gap: 14px; flex-wrap: wrap; }
    .fp-actions .btn-primary { background: var(--primary); color: #fff; padding: 14px 28px; border-radius: 4px; font-weight: 700; letter-spacing: 1.5px; font-size: 13px; text-transform: uppercase; text-decoration: none; transition: background .2s; }
    .fp-actions .btn-primary:hover { background: #d8540a; }
    .fp-actions .btn-outline { border: 2px solid var(--dark); color: var(--dark); padding: 12px 28px; border-radius: 4px; font-weight: 700; letter-spacing: 1.5px; font-size: 13px; text-transform: uppercase; text-decoration: none; transition: background .2s, color .2s; background: #fff; }
    .fp-actions .btn-outline:hover { background: var(--dark); color: #fff; }
    .fp-visual {
      position: relative; background: #e4e7eb; padding: 32px;
      min-height: 420px; display: flex; align-items: center; justify-content: center;
      /* Diagonal-cut top-right corner — gives the muted card the same notched
         silhouette the screenshot uses. */
      clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%);
    }
    .fp-visual img { max-width: 100%; max-height: 360px; object-fit: contain; }
    .fp-arrow {
      position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
      width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255,255,255,0.95);
      box-shadow: 0 4px 14px rgba(0,0,0,0.12); color: var(--gray-700); font-size: 16px;
      cursor: pointer; transition: background .2s, color .2s, transform .2s;
    }
    .fp-arrow:hover { background: var(--primary); color: #fff; transform: translateY(-50%) scale(1.08); }
    .fp-prev { left: -10px; }
    .fp-next { right: -10px; }
    .fp-dots { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
    .fp-dot { width: 10px; height: 10px; border-radius: 50%; border: 0; background: var(--gray-300); cursor: pointer; padding: 0; transition: background .2s, transform .2s; }
    .fp-dot.active { background: var(--primary); transform: scale(1.3); }
    @media (max-width: 880px) {
      .fp-slide { grid-template-columns: 1fr; padding: 36px 24px; gap: 24px; }
      .fp-visual { min-height: 280px; padding: 20px; }
      .fp-arrow { width: 40px; height: 40px; }
      .fp-prev { left: 4px; } .fp-next { right: 4px; }
    }

    /* ─── Editorial slides — full-bleed banner style with outline title +
       solid sub. Different layout variants share these base rules. */
    .fp-editorial { position: relative; padding: 64px 56px; background: var(--gray-50, #f5f7fa); min-height: 440px;
      display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center;
    }
    .fp-editorial.layout-image-right { grid-template-columns: 1fr 1.1fr; }
    .fp-editorial.layout-image-left  { grid-template-columns: 1.1fr 1fr; }
    .fp-editorial.layout-split       { grid-template-columns: 1fr 1fr 1fr; text-align: center; }
    .fp-ed-pill { display: inline-block; background: var(--primary); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 2px; padding: 8px 18px; border-radius: 4px; text-transform: uppercase; margin-bottom: 22px; }
    .fp-ed-title { font-size: clamp(34px, 5vw, 56px); line-height: 1.05; margin: 0 0 18px; font-weight: 900; letter-spacing: -0.5px; }
    .fp-ed-title .outline { -webkit-text-stroke: 2px var(--dark); color: transparent; display: block; }
    .fp-ed-title .solid { color: var(--dark); display: block; }
    .fp-ed-sub { color: var(--gray-700); font-size: 18px; line-height: 1.6; margin: 0 0 28px; max-width: 480px; }
    .fp-ed-cta { display: inline-block; background: var(--primary); color: #fff; padding: 14px 32px; font-weight: 700; letter-spacing: 2px; font-size: 13px; text-transform: uppercase; text-decoration: none; transition: background .2s; }
    .fp-ed-cta:hover { background: #d8540a; }
    .fp-ed-img { display: flex; align-items: center; justify-content: center; }
    .fp-ed-img img { max-width: 100%; max-height: 380px; object-fit: contain; }
    .fp-ed-imgs { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
    .fp-ed-imgs img { max-height: 360px; object-fit: contain; flex: 1; min-width: 0; }

    /* T-Series specialised layout — left text + chips, right large multi-machine lineup */
    .fp-ed-tseries .fp-ed-eyebrow { font-size: clamp(34px, 4.5vw, 52px); font-weight: 900; color: var(--dark); margin-bottom: 4px; display: flex; align-items: baseline; gap: 14px; }
    .fp-ed-tseries .fp-ed-eyebrow .tlogo { color: var(--primary); font-style: italic; font-size: 1.1em; }
    .fp-ed-tseries h3 { font-size: clamp(28px, 3.8vw, 44px); margin: 0 0 16px; font-weight: 900; }
    .fp-ed-tseries .fp-ed-spec { color: var(--gray-700); font-size: 17px; margin-bottom: 18px; }
    .fp-ed-chips { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
    .fp-ed-chip { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 4px; color: #fff; font-weight: 700; font-size: 14px; }
    .fp-ed-chip.engine   { background: var(--primary); }
    .fp-ed-chip.electric { background: #2e8540; }
    .fp-ed-chip.hybrid   { background: #4aa9d6; }
    .fp-ed-features { background: var(--primary); color: #fff; padding: 18px 22px; border-radius: 4px; margin-bottom: 22px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; font-size: 12px; line-height: 1.4; }
    .fp-ed-features .ft { text-align: center; }
    .fp-ed-features .ft i { font-size: 26px; display: block; margin-bottom: 8px; }

    @media (max-width: 880px) {
      .fp-editorial, .fp-editorial.layout-image-right, .fp-editorial.layout-image-left, .fp-editorial.layout-split {
        grid-template-columns: 1fr; padding: 36px 22px; gap: 24px; text-align: left; min-height: 0;
      }
      .fp-ed-features { grid-template-columns: repeat(2, 1fr); }
      .fp-ed-imgs { gap: 8px; }
    }

