/* BLUE SPORT - OPIS PRODUKTU AI v0.7 */
  
  .bs-product-description {
      --bs-blue: #2c97ca;
      --bs-blue-dark: #187aa8;
      --bs-blue-light: #edf8fc;
      --bs-text: #25282b;
      --bs-muted: #606970;
      --bs-border: #e1e7eb;
      --bs-bg: #f7f9fa;
      --bs-white: #ffffff;
  
      width: calc(100% - 40px);
      max-width: 1400px;
      margin: 0 auto;
      padding: 0;
  
      color: var(--bs-text);
      font-family: inherit;
      font-size: 17px;
      line-height: 1.7;
      box-sizing: border-box;
  }
  
  .bs-product-description *,
  .bs-product-description *::before,
  .bs-product-description *::after {
      box-sizing: border-box;
  }
  
  .bs-product-description h2,
  .bs-product-description h3 {
      color: #202427;
      line-height: 1.25;
      margin-top: 0;
  }
  
  .bs-product-description h2 {
      font-size: clamp(25px, 2.4vw, 34px);
      margin-bottom: 15px;
  }
  
  .bs-product-description h3 {
      font-size: clamp(20px, 1.8vw, 24px);
      margin-bottom: 12px;
  }
  
  .bs-product-description p {
      margin: 0 0 16px;
  }
  
  .bs-product-description a {
      color: var(--bs-blue-dark);
      text-decoration: underline;
      text-underline-offset: 3px;
  }
  
  .bs-product-description a:hover {
      color: var(--bs-blue);
  }
  
  
  /* =========================================================
     WPROWADZENIE
     ========================================================= */
  
  .bs-product-intro {
      width: 100%;
      padding: clamp(26px, 4vw, 46px);
      margin-bottom: 28px;
  
      border: 1px solid var(--bs-border);
      border-radius: 14px;
  
      background:
          linear-gradient(
              120deg,
              #ffffff 0%,
              #ffffff 58%,
              #f0f9fd 100%
          );
  }
  
  .bs-product-label {
      display: inline-block;
      margin-bottom: 12px;
  
      color: var(--bs-blue-dark);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .7px;
      text-transform: uppercase;
  }
  
  .bs-product-lead {
      max-width: 1050px;
      margin-bottom: 24px !important;
  
      color: #434a4f;
      font-size: clamp(17px, 1.4vw, 19px);
      line-height: 1.7;
  }
  
  
  /* =========================================================
     NAJWAŻNIEJSZE PARAMETRY
     ========================================================= */
  
  .bs-product-stats {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
  
      max-width: 980px;
      margin-top: 24px;
  }
  
  .bs-product-stat {
      min-height: 94px;
      padding: 17px 16px;
  
      border: 1px solid #dbe8ee;
      border-radius: 11px;
  
      background: rgba(255, 255, 255, .9);
  }
  
  .bs-product-stat strong {
      display: block;
      margin-bottom: 3px;
  
      color: var(--bs-blue-dark);
      font-size: 21px;
      line-height: 1.25;
  }
  
  .bs-product-stat span {
      display: block;
  
      color: var(--bs-muted);
      font-size: 14px;
      line-height: 1.4;
  }
  
  
  /* =========================================================
     GŁÓWNE SEKCJE
     ========================================================= */
  
  .bs-product-section {
      width: 100%;
      margin-bottom: 28px;
      padding: clamp(24px, 3.5vw, 38px);
  
      border: 1px solid var(--bs-border);
      border-radius: 14px;
  
      background: var(--bs-white);
  }
  
  .bs-section-head {
      max-width: 950px;
      margin-bottom: 24px;
  }
  
  .bs-section-head p {
      color: var(--bs-muted);
  }

  /* =========================================================
     DRUGI BLOK - narracja / najważniejsze odczucia z jazdy
     ========================================================= */

  /*
   * .bs-story-section działa dla nowych opisów.
   * Selektor nth-of-type(2) jest fallbackiem dla opisów wygenerowanych
   * przed dodaniem dedykowanej klasy - dzięki temu tło pojawi się bez
   * ponownego generowania starego opisu.
   */
  .bs-story-section,
  .bs-product-description > .bs-product-section:nth-of-type(2) {
      background: #f7fbfd;
      border-color: #dceaf0;
  }

  .bs-story-section p,
  .bs-product-description > .bs-product-section:nth-of-type(2) p {
      color: #343b40;
  }

  .bs-story-section p strong,
  .bs-product-description > .bs-product-section:nth-of-type(2) p strong {
      color: #252a2d;
      font-weight: 700;
      text-decoration: none;
  }
  
  
  /* =========================================================
     CECHY I KORZYŚCI - bez grafik i ikon
     ========================================================= */

  .bs-feature-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
  }

  .bs-feature {
      position: relative;
      padding: 22px 22px 22px 54px;
      border: 1px solid var(--bs-border);
      border-radius: 11px;
      background: #ffffff;
      transition:
          border-color .2s ease,
          box-shadow .2s ease,
          transform .2s ease;
  }

  .bs-feature::before {
      content: "✓";
      position: absolute;
      top: 21px;
      left: 20px;
      display: flex;
      width: 24px;
      height: 24px;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: var(--bs-blue-light);
      color: var(--bs-blue-dark);
      font-size: 15px;
      font-weight: 800;
      line-height: 1;
  }

  .bs-feature:hover {
      border-color: #c9e3ef;
      box-shadow: 0 7px 20px rgba(33, 74, 94, .07);
      transform: translateY(-1px);
  }

  .bs-feature h3 {
      margin-bottom: 9px;
      font-size: 18px;
  }

  .bs-feature p {
      margin: 0;
      color: var(--bs-muted);
      font-size: 16px;
      line-height: 1.65;
  }

  .bs-feature p strong {
      color: #30363a;
  }

  /* =========================================================
     ZASTOSOWANIE
     ========================================================= */
  
  .bs-use-section {
      background: var(--bs-bg);
  }
  
  .bs-use-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
  }
  
  .bs-use-card {
      padding: 21px;
  
      border: 1px solid var(--bs-border);
      border-radius: 11px;
  
      background: #ffffff;
  }
  
  .bs-use-card strong {
      display: block;
      margin-bottom: 7px;
  
      color: #252a2d;
      font-size: 17px;
  }
  
  .bs-use-card p {
      margin: 0;
  
      color: var(--bs-muted);
      font-size: 15.5px;
      line-height: 1.6;
  }
  
  
  /* =========================================================
     BOX EKSPERCKI
     ========================================================= */
  
  .bs-expert-box {
      width: 100%;
  
      margin-bottom: 28px;
      padding: clamp(24px, 3.5vw, 36px);
  
      border-left: 4px solid var(--bs-blue);
      border-radius: 0 12px 12px 0;
  
      background: var(--bs-blue-light);
  }
  
  .bs-expert-box h3 {
      margin-bottom: 10px;
  }
  
  .bs-expert-box p:last-child {
      margin-bottom: 0;
  }
  
  
  /* =========================================================
     SPECYFIKACJA
     ========================================================= */
  
  .bs-spec-container {
      width: 100%;
      max-width: 1050px;
  }
  
  .bs-spec-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
  
      overflow: hidden;
  
      border: 1px solid var(--bs-border);
      border-radius: 11px;
  
      background: #ffffff;
  }
  
  .bs-spec-item {
      display: grid;
      grid-template-columns: 155px 1fr;
      gap: 12px;
  
      padding: 14px 17px;
  
      border-bottom: 1px solid var(--bs-border);
  }
  
  .bs-spec-item:nth-child(odd) {
      border-right: 1px solid var(--bs-border);
  }
  
  .bs-spec-item:nth-last-child(-n+2) {
      border-bottom: 0;
  }
  
  .bs-spec-name {
      color: var(--bs-muted);
      font-size: 14px;
  }
  
  .bs-spec-value {
      color: #252a2d;
      font-size: 14.5px;
      font-weight: 600;
  }
  
  
  /* =========================================================
     FAQ
     ========================================================= */
  
  .bs-faq {
      width: 100%;
      max-width: 1050px;
  }
  
  .bs-faq details {
      margin-bottom: 10px;
  
      border: 1px solid var(--bs-border);
      border-radius: 10px;
  
      background: #ffffff;
  }
  
  .bs-faq details:last-child {
      margin-bottom: 0;
  }
  
  .bs-faq summary {
      position: relative;
  
      padding: 17px 48px 17px 18px;
  
      cursor: pointer;
      list-style: none;
  
      color: #252a2d;
      font-size: 16px;
      font-weight: 700;
  }
  
  .bs-faq summary::-webkit-details-marker {
      display: none;
  }
  
  .bs-faq summary::after {
      content: "+";
  
      position: absolute;
      top: 50%;
      right: 18px;
  
      width: 25px;
      height: 25px;
  
      transform: translateY(-50%);
  
      border-radius: 50%;
  
      background: var(--bs-blue-light);
  
      color: var(--bs-blue-dark);
      text-align: center;
      font-size: 19px;
      line-height: 24px;
  }
  
  .bs-faq details[open] summary::after {
      content: "−";
  }
  
  .bs-faq-answer {
      padding: 0 18px 18px;
  
      color: var(--bs-muted);
      font-size: 16px;
  }
  
  .bs-faq-answer p {
      margin: 0;
  }
  
  
  /* =========================================================
     LINKOWANIE WEWNĘTRZNE
     ========================================================= */
  
  .bs-product-links {
      width: 100%;
  
      padding: 20px 24px;
      margin-bottom: 10px;
  
      border-radius: 11px;
  
      background: var(--bs-bg);
  
      color: var(--bs-muted);
      font-size: 15px;
  }
  
  .bs-product-links p {
      margin: 0;
  }
  
  
  /* =========================================================
     TABLET
     ========================================================= */
  
  @media (max-width: 900px) {
  
      .bs-product-description {
          width: calc(100% - 30px);
      }
  
      .bs-product-stats {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
  
      .bs-feature-grid {
          grid-template-columns: 1fr;
      }
  
      .bs-use-grid {
          grid-template-columns: 1fr;
      }
  
      .bs-spec-grid {
          grid-template-columns: 1fr;
      }
  
      .bs-spec-item:nth-child(odd) {
          border-right: 0;
      }
  
      .bs-spec-item:nth-last-child(-n+2) {
          border-bottom: 1px solid var(--bs-border);
      }
  
      .bs-spec-item:last-child {
          border-bottom: 0;
      }
  }
  
  
  /* =========================================================
     TELEFONY
     ========================================================= */
  
  @media (max-width: 650px) {
  
      .bs-product-description {
          width: calc(100% - 20px);
          margin-left: auto;
          margin-right: auto;
  
          font-size: 16px;
          line-height: 1.65;
      }
  
      .bs-product-intro,
      .bs-product-section {
          margin-bottom: 20px;
          padding: 21px 17px;
  
          border-radius: 11px;
      }
  
      .bs-product-description h2 {
          font-size: 24px;
          line-height: 1.25;
      }
  
      .bs-product-description h3 {
          font-size: 19px;
      }
  
      .bs-product-lead {
          font-size: 16px;
      }
  
      .bs-product-stats {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 9px;
      }
  
      .bs-product-stat {
          min-height: 86px;
          padding: 14px 12px;
      }
  
      .bs-product-stat strong {
          font-size: 19px;
      }
  
      .bs-product-stat span {
          font-size: 13px;
      }
  
      .bs-feature-grid {
          gap: 11px;
      }
  
      .bs-feature {
          padding: 18px 15px 18px 48px;
      }

      .bs-feature::before {
          top: 18px;
          left: 15px;
          width: 22px;
          height: 22px;
          font-size: 14px;
      }
  
      .bs-feature p {
          font-size: 15px;
      }
  
      .bs-use-card {
          padding: 17px;
      }
  
      .bs-expert-box {
          margin-bottom: 20px;
          padding: 21px 17px;
  
          border-radius: 0 10px 10px 0;
      }
  
      .bs-spec-item {
          grid-template-columns: 1fr;
          gap: 3px;
  
          padding: 13px 15px;
      }
  
      .bs-faq summary {
          padding: 15px 46px 15px 15px;
          font-size: 15px;
      }
  
      .bs-faq-answer {
          padding: 0 15px 16px;
          font-size: 15px;
      }
  
      .bs-product-links {
          padding: 17px;
      }
  }
  
  
  /* =========================================================
     BARDZO MAŁE TELEFONY
     ========================================================= */
  
  @media (max-width: 420px) {
  
      .bs-product-description {
          width: calc(100% - 16px);
      }
  
      .bs-product-stats {
          grid-template-columns: 1fr;
      }
  
      .bs-product-stat {
          min-height: auto;
      }
  }
