{"product_id":"dirtdog-seat-defender","title":"DirtDog Seat Defender – Cars, Trucks \u0026 SUVs","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003cmeta name=\"description\" content=\"DirtDog Seat Defender dog car hammock with side flaps, anti-slip backing, machine-washable construction and universal fit for cars, trucks and SUVs.\"\u003e\n  \u003ctitle\u003eDirtDog Seat Defender\u003c\/title\u003e\n\n  \u003cstyle\u003e\n    .bosveld-rod-section {\n      --olive-dark: #26351f;\n      --olive: #556b2f;\n      --olive-medium: #718447;\n      --olive-light: #a8b486;\n      --cream: #f6f2e7;\n      --white: #ffffff;\n      --gold: #d4af37;\n      --text: #252a22;\n      --muted: #535c4d;\n      --border: rgba(85, 107, 47, 0.18);\n\n      position: relative;\n      width: 100%;\n      overflow: hidden;\n      padding: 72px 20px;\n      color: var(--text);\n      font-family: Arial, Helvetica, sans-serif;\n      background:\n        radial-gradient(\n          circle at 10% 10%,\n          rgba(113, 132, 71, 0.18),\n          transparent 32%\n        ),\n        radial-gradient(\n          circle at 90% 80%,\n          rgba(85, 107, 47, 0.14),\n          transparent 30%\n        ),\n        var(--cream);\n    }\n\n    .bosveld-rod-section,\n    .bosveld-rod-section * {\n      box-sizing: border-box;\n    }\n\n    .bosveld-rod-container {\n      position: relative;\n      z-index: 2;\n      width: min(100%, 860px);\n      margin: 0 auto;\n    }\n\n    .bosveld-decoration {\n      position: absolute;\n      border-radius: 50%;\n      pointer-events: none;\n      animation: bosveld-float 7s ease-in-out infinite;\n    }\n\n    .bosveld-decoration--one {\n      top: 40px;\n      right: 4%;\n      width: 130px;\n      height: 130px;\n      border: 2px solid rgba(85, 107, 47, 0.18);\n    }\n\n    .bosveld-decoration--two {\n      bottom: 100px;\n      left: 3%;\n      width: 84px;\n      height: 84px;\n      background: rgba(113, 132, 71, 0.1);\n      animation-delay: -3s;\n    }\n\n    .bosveld-eyebrow {\n      margin: 0 0 14px;\n      color: var(--olive);\n      font-size: 0.8rem;\n      font-weight: 900;\n      letter-spacing: 2.2px;\n      text-transform: uppercase;\n      animation: bosveld-fade-up 0.7s ease both;\n    }\n\n    .bosveld-title {\n      max-width: 100%;\n      margin: 0;\n      color: var(--olive-dark);\n      font-size: clamp(2.7rem, 8vw, 5.4rem);\n      line-height: 0.95;\n      letter-spacing: -0.055em;\n      overflow-wrap: normal;\n      word-break: normal;\n      animation: bosveld-fade-up 0.8s 0.1s ease both;\n    }\n\n    .bosveld-title span {\n      display: block;\n      color: var(--olive-medium);\n    }\n\n    .bosveld-tagline {\n      margin: 22px 0 0;\n      color: #9a7637;\n      font-size: clamp(1.05rem, 2vw, 1.35rem);\n      font-weight: 900;\n      line-height: 1.4;\n      animation: bosveld-fade-up 0.8s 0.15s ease both;\n    }\n\n    .bosveld-intro {\n      max-width: 760px;\n      margin: 18px 0 36px;\n      color: #3f4939;\n      font-size: 1.05rem;\n      line-height: 1.75;\n      animation: bosveld-fade-up 0.8s 0.2s ease both;\n    }\n\n    .bosveld-product-visual {\n      position: relative;\n      display: grid;\n      width: 100%;\n      min-height: 480px;\n      margin-bottom: 38px;\n      overflow: hidden;\n      place-items: center;\n      border: 1px solid var(--border);\n      border-radius: 26px;\n      background:\n        radial-gradient(\n          circle at center,\n          rgba(168, 180, 134, 0.25),\n          transparent 46%\n        ),\n        linear-gradient(150deg, #ffffff, #e8eddc);\n      box-shadow: 0 22px 48px rgba(38, 53, 31, 0.14);\n    }\n\n    .bosveld-product-visual::before {\n      position: absolute;\n      width: 430px;\n      height: 430px;\n      border-radius: 50%;\n      background: rgba(113, 132, 71, 0.1);\n      content: \"\";\n      animation: bosveld-halo 5s ease-in-out infinite;\n    }\n\n    .bosveld-product-badge {\n      position: absolute;\n      top: 22px;\n      right: 22px;\n      z-index: 4;\n      display: grid;\n      width: 96px;\n      height: 96px;\n      place-items: center;\n      border-radius: 50%;\n      color: #dce7be;\n      text-align: center;\n      background: var(--olive-dark);\n      box-shadow: 0 14px 30px rgba(38, 53, 31, 0.25);\n    }\n\n    .bosveld-product-badge strong {\n      display: block;\n      font-size: 0.95rem;\n      line-height: 1.1;\n    }\n\n    .bosveld-product-badge span {\n      display: block;\n      margin-top: 5px;\n      color: rgba(255, 255, 255, 0.68);\n      font-size: 0.5rem;\n      font-weight: 900;\n      letter-spacing: 0.08em;\n      text-transform: uppercase;\n    }\n\n    .bosveld-rod-bag {\n      position: relative;\n      z-index: 3;\n      width: min(650px, 86%);\n      height: 290px;\n      animation: bosveld-product-float 4s ease-in-out infinite;\n    }\n\n    .bosveld-bag-body {\n      position: absolute;\n      inset: 28px 48px 28px 32px;\n      overflow: hidden;\n      border: 8px solid #151915;\n      border-radius: 32px 18px 18px 32px;\n      background:\n        repeating-linear-gradient(\n          90deg,\n          rgba(255, 255, 255, 0.025) 0 5px,\n          rgba(0, 0, 0, 0.035) 5px 10px\n        ),\n        linear-gradient(145deg, #333a33, #181c18 70%);\n      box-shadow:\n        inset 10px 10px 18px rgba(255, 255, 255, 0.035),\n        inset -14px -14px 24px rgba(0, 0, 0, 0.3),\n        0 26px 38px rgba(34, 40, 31, 0.22);\n    }\n\n    .bosveld-bag-tip {\n      position: absolute;\n      top: 88px;\n      right: 0;\n      width: 88px;\n      height: 118px;\n      border: 8px solid #151915;\n      border-left: 0;\n      border-radius: 0 64px 64px 0;\n      background: linear-gradient(145deg, #2d332d, #151915);\n    }\n\n    .bosveld-strap {\n      position: absolute;\n      top: 0;\n      left: 125px;\n      width: 350px;\n      height: 92px;\n      border: 18px solid #2b312b;\n      border-bottom: 0;\n      border-radius: 50% 50% 0 0;\n      box-shadow: inset 0 0 0 4px #454d44;\n      transform: rotate(-4deg);\n    }\n\n    .bosveld-zip-line {\n      position: absolute;\n      z-index: 2;\n      top: 66px;\n      left: 60px;\n      right: 62px;\n      height: 4px;\n      border-radius: 999px;\n      background: #737c6c;\n      box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.18);\n    }\n\n    .bosveld-pocket {\n      position: absolute;\n      z-index: 2;\n      bottom: 52px;\n      height: 72px;\n      border: 4px solid #121612;\n      border-radius: 14px;\n      background: linear-gradient(145deg, #3b4339, #232923);\n    }\n\n    .bosveld-pocket::before {\n      position: absolute;\n      top: 11px;\n      left: 14px;\n      right: 14px;\n      height: 3px;\n      border-radius: 999px;\n      background: #717a69;\n      content: \"\";\n    }\n\n    .bosveld-pocket--one {\n      left: 90px;\n      width: 180px;\n    }\n\n    .bosveld-pocket--two {\n      left: 292px;\n      width: 150px;\n    }\n\n    .bosveld-brand-mark {\n      position: absolute;\n      z-index: 4;\n      top: 111px;\n      left: 50%;\n      width: 160px;\n      padding: 12px 14px;\n      border: 2px solid rgba(228, 236, 205, 0.55);\n      color: #f0f3e7;\n      font-size: 0.78rem;\n      font-weight: 900;\n      letter-spacing: 0.14em;\n      text-align: center;\n      text-transform: uppercase;\n      background: #3a462c;\n      transform: translateX(-50%) rotate(-2deg);\n      box-shadow: 0 14px 28px rgba(32, 39, 28, 0.2);\n    }\n\n    .bosveld-section {\n      width: 100%;\n      margin-bottom: 36px;\n      padding: clamp(24px, 5vw, 40px);\n      border: 1px solid var(--border);\n      border-radius: 22px;\n      background: rgba(255, 255, 255, 0.94);\n      box-shadow: 0 14px 35px rgba(38, 53, 31, 0.08);\n    }\n\n    .bosveld-section--dark {\n      color: var(--white);\n      background: var(--olive-dark);\n      box-shadow: 0 20px 45px rgba(38, 53, 31, 0.18);\n    }\n\n    .bosveld-section-heading {\n      max-width: 100%;\n      margin: 0 0 10px;\n      color: var(--olive-dark);\n      font-size: clamp(1.65rem, 4vw, 2.45rem);\n      line-height: 1.15;\n      letter-spacing: -0.03em;\n    }\n\n    .bosveld-section--dark .bosveld-section-heading {\n      color: var(--white);\n    }\n\n    .bosveld-section-intro {\n      max-width: 680px;\n      margin: 0 0 24px;\n      color: var(--muted);\n      line-height: 1.65;\n    }\n\n    .bosveld-section--dark .bosveld-section-intro {\n      color: rgba(255, 255, 255, 0.72);\n    }\n\n    .bosveld-benefit-grid,\n    .bosveld-feature-grid,\n    .bosveld-spec-grid,\n    .bosveld-review-grid {\n      display: grid;\n      width: 100%;\n      gap: 16px;\n    }\n\n    .bosveld-benefit-grid {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .bosveld-feature-grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .bosveld-spec-grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .bosveld-review-grid {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .bosveld-benefit-card,\n    .bosveld-feature-card,\n    .bosveld-spec-card,\n    .bosveld-review-card {\n      position: relative;\n      overflow: hidden;\n      min-width: 0;\n      border-radius: 17px;\n      transition:\n        transform 0.35s ease,\n        box-shadow 0.35s ease,\n        border-color 0.35s ease,\n        background 0.35s ease;\n    }\n\n    .bosveld-benefit-card {\n      padding: 22px;\n      border: 1px solid rgba(255, 255, 255, 0.13);\n      background: rgba(255, 255, 255, 0.07);\n    }\n\n    .bosveld-benefit-card:hover {\n      border-color: rgba(255, 255, 255, 0.32);\n      background: rgba(255, 255, 255, 0.12);\n      transform: translateY(-6px);\n    }\n\n    .bosveld-benefit-icon {\n      display: grid;\n      width: 48px;\n      height: 48px;\n      margin-bottom: 14px;\n      place-items: center;\n      border-radius: 15px;\n      color: var(--olive-dark);\n      font-size: 1.3rem;\n      background: #dce7be;\n      animation: bosveld-icon-bob 3.3s ease-in-out infinite;\n    }\n\n    .bosveld-benefit-card:nth-child(2) .bosveld-benefit-icon {\n      animation-delay: 0.3s;\n    }\n\n    .bosveld-benefit-card:nth-child(3) .bosveld-benefit-icon {\n      animation-delay: 0.6s;\n    }\n\n    .bosveld-benefit-card strong,\n    .bosveld-feature-card strong,\n    .bosveld-spec-card strong {\n      display: block;\n      margin-bottom: 8px;\n      font-size: 0.96rem;\n    }\n\n    .bosveld-benefit-card p {\n      margin: 0;\n      color: rgba(255, 255, 255, 0.72);\n      font-size: 0.86rem;\n      line-height: 1.6;\n    }\n\n    .bosveld-feature-card,\n    .bosveld-spec-card {\n      padding: 20px;\n      border: 1px solid var(--border);\n      background: #f8faf3;\n    }\n\n    .bosveld-feature-card:hover,\n    .bosveld-spec-card:hover {\n      border-color: var(--olive-medium);\n      box-shadow: 0 18px 36px rgba(38, 53, 31, 0.12);\n      transform: translateY(-6px);\n    }\n\n    .bosveld-feature-card p,\n    .bosveld-spec-card p {\n      margin: 0;\n      color: var(--muted);\n      font-size: 0.86rem;\n      line-height: 1.6;\n    }\n\n    .bosveld-review-card {\n      padding: 24px;\n      border: 1px solid var(--border);\n      background: var(--white);\n      box-shadow: 0 12px 30px rgba(38, 53, 31, 0.07);\n      cursor: pointer;\n    }\n\n    .bosveld-review-card::before {\n      position: absolute;\n      top: 0;\n      left: -120%;\n      width: 70%;\n      height: 100%;\n      background: linear-gradient(\n        120deg,\n        transparent,\n        rgba(255, 255, 255, 0.8),\n        transparent\n      );\n      content: \"\";\n      transition: left 0.7s ease;\n    }\n\n    .bosveld-review-card:hover {\n      border-color: var(--olive-medium);\n      box-shadow: 0 24px 50px rgba(38, 53, 31, 0.16);\n      transform: translateY(-8px);\n    }\n\n    .bosveld-review-card:hover::before {\n      left: 150%;\n    }\n\n    .bosveld-review-stars {\n      position: relative;\n      z-index: 2;\n      margin-bottom: 14px;\n      color: var(--gold);\n      font-size: 1.2rem;\n      letter-spacing: 3px;\n      animation: bosveld-star-glow 2.2s ease-in-out infinite;\n    }\n\n    .bosveld-review-quote {\n      position: relative;\n      z-index: 2;\n      margin: 0 0 18px;\n      color: #3f473a;\n      font-size: 0.92rem;\n      font-style: italic;\n      line-height: 1.7;\n    }\n\n    .bosveld-reviewer-name {\n      position: relative;\n      z-index: 2;\n      display: block;\n      color: var(--olive-dark);\n      font-size: 0.92rem;\n      font-weight: 900;\n    }\n\n    .bosveld-reviewer-location {\n      position: relative;\n      z-index: 2;\n      display: block;\n      margin-top: 3px;\n      color: #70786a;\n      font-size: 0.78rem;\n    }\n\n    .bosveld-cta {\n      display: grid;\n      grid-template-columns: minmax(0, 1fr);\n      gap: 18px;\n      padding: clamp(24px, 5vw, 38px);\n      border-radius: 22px;\n      color: var(--white);\n      background: linear-gradient(135deg, var(--olive), var(--olive-dark));\n      box-shadow: 0 20px 45px rgba(38, 53, 31, 0.2);\n    }\n\n    .bosveld-cta h2 {\n      margin: 0 0 8px;\n      font-size: clamp(1.55rem, 4vw, 2.2rem);\n    }\n\n    .bosveld-cta p {\n      margin: 0;\n      color: rgba(255, 255, 255, 0.76);\n      line-height: 1.65;\n    }\n\n    .bosveld-button-group {\n      display: grid;\n      grid-template-columns: 1fr;\n      gap: 12px;\n    }\n\n    .bosveld-button {\n      position: relative;\n      display: inline-flex;\n      justify-content: center;\n      align-items: center;\n      min-height: 52px;\n      overflow: hidden;\n      padding: 0 22px;\n      border: 2px solid var(--white);\n      border-radius: 10px;\n      font-weight: 900;\n      text-align: center;\n      text-decoration: none;\n      transition:\n        transform 0.3s ease,\n        background 0.3s ease,\n        color 0.3s ease,\n        box-shadow 0.3s ease;\n    }\n\n    .bosveld-button:hover {\n      transform: translateY(-4px);\n      box-shadow: 0 12px 25px rgba(0, 0, 0, 0.18);\n    }\n\n    .bosveld-button--primary {\n      color: var(--olive-dark);\n      background: var(--white);\n    }\n\n    .bosveld-button--secondary {\n      color: var(--white);\n      background: transparent;\n    }\n\n    .bosveld-footer-tagline {\n      margin: 30px 0 0;\n      color: var(--olive-dark);\n      font-size: 0.86rem;\n      font-weight: 900;\n      letter-spacing: 2.3px;\n      text-align: center;\n      text-transform: uppercase;\n    }\n\n    .bosveld-reveal {\n      opacity: 0;\n      transform: translateY(28px);\n      transition:\n        opacity 0.75s ease,\n        transform 0.75s ease;\n    }\n\n    .bosveld-reveal.is-visible {\n      opacity: 1;\n      transform: translateY(0);\n    }\n\n    @keyframes bosveld-fade-up {\n      from {\n        opacity: 0;\n        transform: translateY(24px);\n      }\n\n      to {\n        opacity: 1;\n        transform: translateY(0);\n      }\n    }\n\n    @keyframes bosveld-float {\n      0%,\n      100% {\n        transform: translateY(0) rotate(0deg);\n      }\n\n      50% {\n        transform: translateY(-18px) rotate(8deg);\n      }\n    }\n\n    @keyframes bosveld-product-float {\n      0%,\n      100% {\n        transform: translateY(0) rotate(-1deg);\n      }\n\n      50% {\n        transform: translateY(-12px) rotate(1deg);\n      }\n    }\n\n    @keyframes bosveld-halo {\n      0%,\n      100% {\n        opacity: 0.75;\n        transform: scale(0.92);\n      }\n\n      50% {\n        opacity: 1;\n        transform: scale(1.06);\n      }\n    }\n\n    @keyframes bosveld-icon-bob {\n      0%,\n      100% {\n        transform: translateY(0) rotate(-2deg);\n      }\n\n      50% {\n        transform: translateY(-7px) rotate(2deg);\n      }\n    }\n\n    @keyframes bosveld-star-glow {\n      0%,\n      100% {\n        transform: scale(1);\n        text-shadow:\n          0 0 6px rgba(212, 175, 55, 0.45),\n          0 0 14px rgba(212, 175, 55, 0.22);\n      }\n\n      50% {\n        transform: scale(1.05);\n        text-shadow:\n          0 0 10px rgba(212, 175, 55, 0.85),\n          0 0 22px rgba(212, 175, 55, 0.46);\n      }\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-rod-section {\n        padding: 48px 16px;\n      }\n\n      .bosveld-title {\n        font-size: clamp(2.45rem, 13vw, 4rem);\n      }\n\n      .bosveld-product-visual {\n        min-height: 390px;\n      }\n\n      .bosveld-rod-bag {\n        width: min(500px, 90%);\n        height: 225px;\n      }\n\n      .bosveld-bag-body {\n        inset: 22px 38px 24px 24px;\n      }\n\n      .bosveld-bag-tip {\n        top: 68px;\n        width: 66px;\n        height: 92px;\n      }\n\n      .bosveld-strap {\n        left: 92px;\n        width: 270px;\n        height: 68px;\n        border-width: 14px;\n      }\n\n      .bosveld-zip-line {\n        top: 51px;\n        left: 45px;\n        right: 50px;\n      }\n\n      .bosveld-pocket {\n        bottom: 42px;\n        height: 56px;\n      }\n\n      .bosveld-pocket--one {\n        left: 66px;\n        width: 130px;\n      }\n\n      .bosveld-pocket--two {\n        left: 214px;\n        width: 105px;\n      }\n\n      .bosveld-brand-mark {\n        top: 84px;\n        width: 130px;\n        padding: 9px 11px;\n      }\n\n      .bosveld-benefit-grid,\n      .bosveld-feature-grid,\n      .bosveld-spec-grid,\n      .bosveld-review-grid {\n        grid-template-columns: 1fr;\n      }\n\n      .bosveld-product-badge {\n        top: 14px;\n        right: 14px;\n        width: 76px;\n        height: 76px;\n      }\n    }\n\n    @media screen and (max-width: 430px) {\n      .bosveld-rod-section {\n        padding-inline: 10px;\n      }\n\n      .bosveld-rod-container {\n        width: 100%;\n      }\n\n      .bosveld-title {\n        font-size: clamp(2.2rem, 14vw, 3.35rem);\n      }\n\n      .bosveld-intro {\n        font-size: 0.96rem;\n      }\n\n      .bosveld-product-visual {\n        min-height: 330px;\n        border-radius: 20px;\n      }\n\n      .bosveld-rod-bag {\n        width: 94%;\n        height: 190px;\n      }\n\n      .bosveld-bag-body {\n        inset: 20px 34px 20px 20px;\n        border-width: 6px;\n      }\n\n      .bosveld-bag-tip {\n        top: 60px;\n        width: 54px;\n        height: 74px;\n        border-width: 6px;\n      }\n\n      .bosveld-strap {\n        left: 70px;\n        width: 220px;\n        height: 58px;\n        border-width: 12px;\n      }\n\n      .bosveld-pocket {\n        display: none;\n      }\n\n      .bosveld-brand-mark {\n        top: 72px;\n        width: 110px;\n        font-size: 0.67rem;\n      }\n\n      .bosveld-product-badge {\n        width: 66px;\n        height: 66px;\n      }\n\n      .bosveld-section {\n        padding: 22px 17px;\n      }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      .bosveld-rod-section *,\n      .bosveld-rod-section *::before,\n      .bosveld-rod-section *::after {\n        animation-duration: 0.01ms !important;\n        animation-iteration-count: 1 !important;\n        transition-duration: 0.01ms !important;\n      }\n\n      .bosveld-reveal {\n        opacity: 1;\n        transform: none;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003cstyle\u003e\n    \/* Creative animation upgrade *\/\n    .bosveld-product-visual {\n      perspective: 1200px;\n    }\n\n    .bosveld-product-visual::after {\n      position: absolute;\n      left: 50%;\n      bottom: 30px;\n      width: 72%;\n      height: 34px;\n      border-radius: 50%;\n      background: rgba(34, 48, 29, 0.18);\n      filter: blur(18px);\n      content: \"\";\n      transform: translateX(-50%);\n      animation: bosveld-shadow-breathe 4s ease-in-out infinite;\n    }\n\n    .bosveld-water-ripple,\n    .bosveld-water-ripple::before,\n    .bosveld-water-ripple::after {\n      position: absolute;\n      left: 50%;\n      bottom: 42px;\n      border: 2px solid rgba(85, 107, 47, 0.16);\n      border-radius: 50%;\n      content: \"\";\n      pointer-events: none;\n      transform: translateX(-50%) scale(0.35);\n      animation: bosveld-ripple 4.8s ease-out infinite;\n    }\n\n    .bosveld-water-ripple {\n      z-index: 1;\n      width: 360px;\n      height: 74px;\n    }\n\n    .bosveld-water-ripple::before {\n      bottom: -2px;\n      width: 280px;\n      height: 58px;\n      animation-delay: 1.2s;\n    }\n\n    .bosveld-water-ripple::after {\n      bottom: -2px;\n      width: 210px;\n      height: 44px;\n      animation-delay: 2.4s;\n    }\n\n    .bosveld-floating-lure {\n      position: absolute;\n      top: 72px;\n      left: 8%;\n      z-index: 5;\n      display: grid;\n      width: 48px;\n      height: 48px;\n      place-items: center;\n      border-radius: 50% 50% 48% 52%;\n      color: var(--olive-dark);\n      font-size: 1.35rem;\n      background: rgba(255, 255, 255, 0.86);\n      box-shadow: 0 12px 28px rgba(38, 53, 31, 0.14);\n      animation: bosveld-lure-swing 4.6s ease-in-out infinite;\n    }\n\n    .bosveld-floating-lure::before {\n      position: absolute;\n      left: 50%;\n      bottom: 100%;\n      width: 1px;\n      height: 90px;\n      background: linear-gradient(\n        to top,\n        rgba(38, 53, 31, 0.34),\n        transparent\n      );\n      content: \"\";\n    }\n\n    .bosveld-rod-bag {\n      transform-style: preserve-3d;\n      will-change: transform;\n      transition: transform 0.28s ease;\n    }\n\n    .bosveld-brand-mark {\n      animation: bosveld-brand-pulse 3.4s ease-in-out infinite;\n    }\n\n    .bosveld-zip-line {\n      overflow: hidden;\n    }\n\n    .bosveld-zip-line::after {\n      position: absolute;\n      top: 0;\n      left: -40%;\n      width: 40%;\n      height: 100%;\n      border-radius: inherit;\n      background: linear-gradient(\n        90deg,\n        transparent,\n        rgba(255, 255, 255, 0.75),\n        transparent\n      );\n      content: \"\";\n      animation: bosveld-zip-shine 3.8s ease-in-out infinite;\n    }\n\n    .bosveld-product-badge {\n      animation:\n        bosveld-badge-float 3.5s ease-in-out infinite,\n        bosveld-badge-glow 2.8s ease-in-out infinite;\n    }\n\n    .bosveld-section {\n      isolation: isolate;\n    }\n\n    .bosveld-section::before {\n      position: absolute;\n      inset: 0;\n      z-index: -1;\n      border-radius: inherit;\n      background:\n        radial-gradient(\n          circle at 100% 0%,\n          rgba(168, 180, 134, 0.15),\n          transparent 30%\n        );\n      content: \"\";\n      opacity: 0;\n      transition: opacity 0.4s ease;\n    }\n\n    .bosveld-section:hover::before {\n      opacity: 1;\n    }\n\n    .bosveld-benefit-card,\n    .bosveld-feature-card,\n    .bosveld-spec-card,\n    .bosveld-review-card {\n      transform-style: preserve-3d;\n      will-change: transform;\n    }\n\n    .bosveld-benefit-card::after,\n    .bosveld-feature-card::after,\n    .bosveld-spec-card::after,\n    .bosveld-review-card::after {\n      position: absolute;\n      inset: 0;\n      border-radius: inherit;\n      background: linear-gradient(\n        135deg,\n        rgba(255, 255, 255, 0.16),\n        transparent 42%\n      );\n      content: \"\";\n      opacity: 0;\n      pointer-events: none;\n      transition: opacity 0.35s ease;\n    }\n\n    .bosveld-benefit-card:hover::after,\n    .bosveld-feature-card:hover::after,\n    .bosveld-spec-card:hover::after,\n    .bosveld-review-card:hover::after {\n      opacity: 1;\n    }\n\n    .bosveld-benefit-icon {\n      box-shadow:\n        0 10px 24px rgba(38, 53, 31, 0.18),\n        inset 0 0 0 1px rgba(255, 255, 255, 0.3);\n    }\n\n    .bosveld-review-card:nth-child(2) {\n      transition-delay: 0.04s;\n    }\n\n    .bosveld-review-card:nth-child(3) {\n      transition-delay: 0.08s;\n    }\n\n    .bosveld-button {\n      isolation: isolate;\n    }\n\n    .bosveld-button::before {\n      position: absolute;\n      top: 50%;\n      left: 50%;\n      z-index: -1;\n      width: 0;\n      height: 0;\n      border-radius: 50%;\n      background: rgba(168, 180, 134, 0.34);\n      content: \"\";\n      transform: translate(-50%, -50%);\n      transition:\n        width 0.45s ease,\n        height 0.45s ease;\n    }\n\n    .bosveld-button:hover::before {\n      width: 360px;\n      height: 360px;\n    }\n\n    .bosveld-button--primary:hover {\n      color: var(--olive-dark);\n      background: #edf1e1;\n    }\n\n    .bosveld-footer-tagline {\n      animation: bosveld-letter-breathe 4s ease-in-out infinite;\n    }\n\n    .bosveld-reveal {\n      filter: blur(7px);\n    }\n\n    .bosveld-reveal.is-visible {\n      filter: blur(0);\n    }\n\n    .bosveld-stagger \u003e * {\n      opacity: 0;\n      transform: translateY(18px);\n      transition:\n        opacity 0.6s ease,\n        transform 0.6s ease;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e * {\n      opacity: 1;\n      transform: translateY(0);\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(1) {\n      transition-delay: 0.08s;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(2) {\n      transition-delay: 0.16s;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(3) {\n      transition-delay: 0.24s;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(4) {\n      transition-delay: 0.32s;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(5) {\n      transition-delay: 0.40s;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(6) {\n      transition-delay: 0.48s;\n    }\n\n    @keyframes bosveld-ripple {\n      0% {\n        opacity: 0;\n        transform: translateX(-50%) scale(0.35);\n      }\n\n      20% {\n        opacity: 0.75;\n      }\n\n      100% {\n        opacity: 0;\n        transform: translateX(-50%) scale(1.35);\n      }\n    }\n\n    @keyframes bosveld-shadow-breathe {\n      0%,\n      100% {\n        opacity: 0.34;\n        transform: translateX(-50%) scaleX(0.85);\n      }\n\n      50% {\n        opacity: 0.18;\n        transform: translateX(-50%) scaleX(0.7);\n      }\n    }\n\n    @keyframes bosveld-lure-swing {\n      0%,\n      100% {\n        transform: translateY(0) rotate(-10deg);\n      }\n\n      50% {\n        transform: translateY(14px) rotate(10deg);\n      }\n    }\n\n    @keyframes bosveld-brand-pulse {\n      0%,\n      100% {\n        box-shadow: 0 14px 28px rgba(32, 39, 28, 0.2);\n      }\n\n      50% {\n        box-shadow:\n          0 16px 34px rgba(32, 39, 28, 0.28),\n          0 0 24px rgba(168, 180, 134, 0.22);\n      }\n    }\n\n    @keyframes bosveld-zip-shine {\n      0%,\n      45% {\n        left: -40%;\n      }\n\n      75%,\n      100% {\n        left: 120%;\n      }\n    }\n\n    @keyframes bosveld-badge-float {\n      0%,\n      100% {\n        transform: translateY(0) rotate(-2deg);\n      }\n\n      50% {\n        transform: translateY(-7px) rotate(2deg);\n      }\n    }\n\n    @keyframes bosveld-badge-glow {\n      0%,\n      100% {\n        box-shadow: 0 14px 30px rgba(38, 53, 31, 0.25);\n      }\n\n      50% {\n        box-shadow:\n          0 18px 38px rgba(38, 53, 31, 0.32),\n          0 0 25px rgba(168, 180, 134, 0.2);\n      }\n    }\n\n    @keyframes bosveld-letter-breathe {\n      0%,\n      100% {\n        letter-spacing: 2.3px;\n      }\n\n      50% {\n        letter-spacing: 3.2px;\n      }\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-floating-lure {\n        top: 58px;\n        left: 6%;\n        width: 42px;\n        height: 42px;\n        font-size: 1.1rem;\n      }\n\n      .bosveld-water-ripple {\n        width: 270px;\n        height: 56px;\n      }\n    }\n\n    @media screen and (max-width: 430px) {\n      .bosveld-floating-lure {\n        display: none;\n      }\n\n      .bosveld-water-ripple {\n        width: 210px;\n        height: 44px;\n      }\n\n      .bosveld-button:hover::before {\n        width: 260px;\n        height: 260px;\n      }\n    }\n\n    @media (hover: none) {\n      .bosveld-benefit-card,\n      .bosveld-feature-card,\n      .bosveld-spec-card,\n      .bosveld-review-card {\n        transform: none !important;\n      }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      .bosveld-reveal {\n        filter: none;\n      }\n\n      .bosveld-stagger \u003e * {\n        opacity: 1;\n        transform: none;\n      }\n\n      .bosveld-water-ripple,\n      .bosveld-floating-lure {\n        display: none;\n      }\n    }\n  \u003c\/style\u003e\n\n\n  \u003cstyle\u003e\n    \/* Alternate layouts while preserving the same section formatting *\/\n\n    .bosveld-feature-timeline {\n      position: relative;\n      display: grid;\n      gap: 16px;\n      margin-top: 24px;\n      padding-left: 26px;\n    }\n\n    .bosveld-feature-timeline::before {\n      position: absolute;\n      top: 10px;\n      bottom: 10px;\n      left: 9px;\n      width: 2px;\n      border-radius: 999px;\n      background: linear-gradient(\n        to bottom,\n        var(--olive-light),\n        var(--olive),\n        var(--olive-light)\n      );\n      content: \"\";\n      opacity: 0.65;\n    }\n\n    .bosveld-feature-step {\n      position: relative;\n      display: grid;\n      grid-template-columns: 42px minmax(0, 1fr);\n      gap: 14px;\n      align-items: start;\n      padding: 18px;\n      border: 1px solid var(--border);\n      border-radius: 17px;\n      background: #f8faf3;\n      transition:\n        transform 0.35s ease,\n        box-shadow 0.35s ease,\n        border-color 0.35s ease;\n    }\n\n    .bosveld-feature-step::before {\n      position: absolute;\n      top: 28px;\n      left: -23px;\n      width: 14px;\n      height: 14px;\n      border: 4px solid var(--cream);\n      border-radius: 50%;\n      background: var(--olive);\n      box-shadow: 0 0 0 3px rgba(85, 107, 47, 0.14);\n      content: \"\";\n      transition: transform 0.35s ease;\n    }\n\n    .bosveld-feature-step:hover {\n      border-color: var(--olive-medium);\n      box-shadow: 0 18px 36px rgba(38, 53, 31, 0.12);\n      transform: translateX(8px);\n    }\n\n    .bosveld-feature-step:hover::before {\n      transform: scale(1.25);\n    }\n\n    .bosveld-feature-step-number {\n      display: grid;\n      width: 42px;\n      height: 42px;\n      place-items: center;\n      border-radius: 13px;\n      color: var(--olive-dark);\n      font-size: 0.76rem;\n      font-weight: 900;\n      background: #dce7be;\n      box-shadow: 0 8px 18px rgba(38, 53, 31, 0.12);\n    }\n\n    .bosveld-feature-step strong {\n      display: block;\n      margin: 2px 0 6px;\n      color: var(--olive-dark);\n      font-size: 0.98rem;\n    }\n\n    .bosveld-feature-step p {\n      margin: 0;\n      color: var(--muted);\n      font-size: 0.86rem;\n      line-height: 1.62;\n    }\n\n    .bosveld-spec-table-wrap {\n      width: 100%;\n      margin-top: 24px;\n      overflow: hidden;\n      border: 1px solid var(--border);\n      border-radius: 18px;\n      background: var(--white);\n      box-shadow: 0 12px 28px rgba(38, 53, 31, 0.06);\n    }\n\n    .bosveld-spec-table {\n      width: 100%;\n      border-collapse: collapse;\n    }\n\n    .bosveld-spec-table tr {\n      transition: background 0.3s ease;\n    }\n\n    .bosveld-spec-table tr:hover {\n      background: #f1f5e5;\n    }\n\n    .bosveld-spec-table th,\n    .bosveld-spec-table td {\n      padding: 18px 20px;\n      border-bottom: 1px solid var(--border);\n      text-align: left;\n      vertical-align: top;\n    }\n\n    .bosveld-spec-table tr:last-child th,\n    .bosveld-spec-table tr:last-child td {\n      border-bottom: 0;\n    }\n\n    .bosveld-spec-table th {\n      width: 34%;\n      color: var(--olive-dark);\n      font-size: 0.86rem;\n      font-weight: 900;\n      letter-spacing: 0.02em;\n      background: rgba(168, 180, 134, 0.12);\n    }\n\n    .bosveld-spec-table td {\n      color: var(--muted);\n      font-size: 0.88rem;\n      line-height: 1.55;\n    }\n\n    .bosveld-review-showcase {\n      display: grid;\n      grid-template-columns: minmax(0, 1.15fr) minmax(250px, 0.85fr);\n      gap: 18px;\n      margin-top: 24px;\n    }\n\n    .bosveld-review-featured {\n      position: relative;\n      overflow: hidden;\n      padding: 30px;\n      border-radius: 20px;\n      color: var(--white);\n      background:\n        radial-gradient(\n          circle at 100% 0%,\n          rgba(168, 180, 134, 0.18),\n          transparent 36%\n        ),\n        linear-gradient(145deg, var(--olive), var(--olive-dark));\n      box-shadow: 0 20px 42px rgba(38, 53, 31, 0.16);\n      transition:\n        transform 0.35s ease,\n        box-shadow 0.35s ease;\n    }\n\n    .bosveld-review-featured:hover {\n      transform: translateY(-7px);\n      box-shadow: 0 28px 54px rgba(38, 53, 31, 0.24);\n    }\n\n    .bosveld-review-featured::before {\n      position: absolute;\n      top: 18px;\n      right: 22px;\n      color: rgba(255, 255, 255, 0.09);\n      font-family: Georgia, serif;\n      font-size: 7rem;\n      line-height: 1;\n      content: \"“\";\n    }\n\n    .bosveld-review-featured .bosveld-review-stars {\n      color: #f3d86b;\n    }\n\n    .bosveld-review-featured .bosveld-review-quote {\n      max-width: 92%;\n      color: rgba(255, 255, 255, 0.88);\n      font-size: 1rem;\n      line-height: 1.8;\n    }\n\n    .bosveld-review-featured .bosveld-reviewer-name {\n      color: var(--white);\n    }\n\n    .bosveld-review-featured .bosveld-reviewer-location {\n      color: rgba(255, 255, 255, 0.7);\n    }\n\n    .bosveld-review-mini-list {\n      display: grid;\n      gap: 14px;\n    }\n\n    .bosveld-review-mini {\n      position: relative;\n      overflow: hidden;\n      padding: 20px;\n      border: 1px solid var(--border);\n      border-radius: 17px;\n      background: var(--white);\n      box-shadow: 0 12px 28px rgba(38, 53, 31, 0.07);\n      transition:\n        transform 0.35s ease,\n        box-shadow 0.35s ease,\n        border-color 0.35s ease;\n    }\n\n    .bosveld-review-mini:hover {\n      border-color: var(--olive-medium);\n      box-shadow: 0 20px 40px rgba(38, 53, 31, 0.13);\n      transform: translateX(7px);\n    }\n\n    .bosveld-review-mini .bosveld-review-stars {\n      margin-bottom: 10px;\n      font-size: 1rem;\n    }\n\n    .bosveld-review-mini .bosveld-review-quote {\n      margin-bottom: 14px;\n      font-size: 0.86rem;\n      line-height: 1.62;\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-review-showcase {\n        grid-template-columns: 1fr;\n      }\n\n      .bosveld-feature-timeline {\n        padding-left: 20px;\n      }\n\n      .bosveld-feature-step {\n        grid-template-columns: 36px minmax(0, 1fr);\n      }\n\n      .bosveld-feature-step-number {\n        width: 36px;\n        height: 36px;\n      }\n\n      .bosveld-spec-table th,\n      .bosveld-spec-table td {\n        padding: 15px 14px;\n      }\n    }\n\n    @media screen and (max-width: 500px) {\n      .bosveld-spec-table,\n      .bosveld-spec-table tbody,\n      .bosveld-spec-table tr,\n      .bosveld-spec-table th,\n      .bosveld-spec-table td {\n        display: block;\n        width: 100%;\n      }\n\n      .bosveld-spec-table tr {\n        padding: 14px 0;\n        border-bottom: 1px solid var(--border);\n      }\n\n      .bosveld-spec-table tr:last-child {\n        border-bottom: 0;\n      }\n\n      .bosveld-spec-table th,\n      .bosveld-spec-table td {\n        border: 0;\n      }\n\n      .bosveld-spec-table th {\n        padding-bottom: 6px;\n      }\n\n      .bosveld-spec-table td {\n        padding-top: 0;\n      }\n\n      .bosveld-review-featured {\n        padding: 24px 20px;\n      }\n\n      .bosveld-review-featured .bosveld-review-quote {\n        max-width: 100%;\n      }\n    }\n  \u003c\/style\u003e\n\n\n  \u003cstyle\u003e\n    \/* Website-first desktop layout *\/\n    html,\n    body {\n      width: 100%;\n      max-width: 100%;\n      margin: 0;\n      overflow-x: hidden;\n    }\n\n    .bosveld-rod-section {\n      width: 100%;\n      padding: 64px 28px 80px;\n    }\n\n    .bosveld-rod-container {\n      width: min(1180px, 100%);\n      max-width: 1180px;\n      margin: 0 auto;\n    }\n\n    .bosveld-title,\n    .bosveld-tagline,\n    .bosveld-intro {\n      text-align: left;\n    }\n\n    .bosveld-title {\n      max-width: 1000px;\n      font-size: clamp(3.8rem, 6vw, 6.8rem);\n    }\n\n    .bosveld-intro {\n      max-width: 900px;\n    }\n\n    .bosveld-product-visual {\n      width: 100%;\n      min-height: 600px;\n    }\n\n    .bosveld-rod-bag {\n      width: min(760px, 82%);\n      height: 330px;\n    }\n\n    .bosveld-section {\n      width: 100%;\n      padding: 38px;\n    }\n\n    .bosveld-benefit-grid {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .bosveld-feature-timeline {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      padding-left: 0;\n    }\n\n    .bosveld-feature-timeline::before {\n      display: none;\n    }\n\n    .bosveld-feature-step::before {\n      display: none;\n    }\n\n    .bosveld-feature-step {\n      min-height: 150px;\n    }\n\n    .bosveld-spec-table th {\n      width: 28%;\n    }\n\n    .bosveld-review-showcase {\n      grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);\n    }\n\n    .bosveld-cta {\n      grid-template-columns: minmax(0, 1fr) minmax(300px, 0.55fr);\n      align-items: center;\n    }\n\n    .bosveld-button-group {\n      grid-template-columns: 1fr;\n    }\n\n    @media screen and (max-width: 980px) {\n      .bosveld-rod-container {\n        width: min(860px, 100%);\n      }\n\n      .bosveld-title {\n        font-size: clamp(3.2rem, 8vw, 5.4rem);\n      }\n\n      .bosveld-product-visual {\n        min-height: 520px;\n      }\n\n      .bosveld-feature-timeline {\n        grid-template-columns: 1fr;\n      }\n\n      .bosveld-review-showcase {\n        grid-template-columns: 1fr;\n      }\n\n      .bosveld-cta {\n        grid-template-columns: 1fr;\n      }\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-rod-section {\n        padding: 42px 16px 56px;\n      }\n\n      .bosveld-title {\n        font-size: clamp(2.65rem, 12vw, 4.2rem);\n      }\n\n      .bosveld-product-visual {\n        min-height: 400px;\n      }\n\n      .bosveld-benefit-grid,\n      .bosveld-feature-timeline,\n      .bosveld-review-showcase {\n        grid-template-columns: 1fr;\n      }\n\n      .bosveld-section {\n        padding: 26px 20px;\n      }\n    }\n\n    @media screen and (max-width: 430px) {\n      .bosveld-rod-section {\n        padding-inline: 10px;\n      }\n\n      .bosveld-title {\n        font-size: clamp(2.25rem, 13vw, 3.35rem);\n      }\n\n      .bosveld-product-visual {\n        min-height: 330px;\n      }\n\n      .bosveld-section {\n        padding: 22px 16px;\n      }\n    }\n  \u003c\/style\u003e\n\n\n  \u003cstyle\u003e\n    \/* Final single-column fix for every section *\/\n    .bosveld-benefit-grid,\n    .bosveld-feature-timeline,\n    .bosveld-feature-grid,\n    .bosveld-spec-grid,\n    .bosveld-review-grid,\n    .bosveld-review-showcase,\n    .bosveld-review-mini-list,\n    .bosveld-cta {\n      display: grid !important;\n      grid-template-columns: 1fr !important;\n      width: 100% !important;\n      gap: 16px !important;\n    }\n\n    .bosveld-benefit-card,\n    .bosveld-feature-step,\n    .bosveld-feature-card,\n    .bosveld-spec-card,\n    .bosveld-review-card,\n    .bosveld-review-featured,\n    .bosveld-review-mini {\n      width: 100% !important;\n      max-width: 100% !important;\n      min-width: 0 !important;\n    }\n\n    .bosveld-feature-timeline {\n      padding-left: 22px !important;\n    }\n\n    .bosveld-feature-timeline::before {\n      display: block !important;\n    }\n\n    .bosveld-feature-step::before {\n      display: block !important;\n    }\n\n    .bosveld-spec-table-wrap {\n      width: 100% !important;\n      overflow: hidden;\n    }\n\n    .bosveld-spec-table {\n      width: 100% !important;\n      table-layout: fixed;\n    }\n\n    .bosveld-spec-table th,\n    .bosveld-spec-table td {\n      width: auto !important;\n      overflow-wrap: anywhere;\n      word-break: normal;\n    }\n\n    .bosveld-review-showcase {\n      align-items: stretch;\n    }\n\n    .bosveld-review-featured,\n    .bosveld-review-mini {\n      display: block;\n    }\n\n    .bosveld-review-featured .bosveld-review-quote,\n    .bosveld-review-mini .bosveld-review-quote {\n      max-width: 100% !important;\n    }\n\n    .bosveld-section {\n      overflow: hidden;\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-feature-timeline {\n        padding-left: 20px !important;\n      }\n    }\n\n    @media screen and (max-width: 500px) {\n      .bosveld-spec-table,\n      .bosveld-spec-table tbody,\n      .bosveld-spec-table tr,\n      .bosveld-spec-table th,\n      .bosveld-spec-table td {\n        display: block;\n        width: 100% !important;\n      }\n\n      .bosveld-spec-table tr {\n        padding: 14px 0;\n        border-bottom: 1px solid var(--border);\n      }\n\n      .bosveld-spec-table tr:last-child {\n        border-bottom: 0;\n      }\n\n      .bosveld-spec-table th,\n      .bosveld-spec-table td {\n        border: 0;\n      }\n\n      .bosveld-spec-table th {\n        padding-bottom: 6px;\n      }\n\n      .bosveld-spec-table td {\n        padding-top: 0;\n      }\n    }\n  \u003c\/style\u003e\n\n\n\n\n  \n  \u003cstyle\u003e\n    \/* Earmuff case illustration overrides *\/\n    .bosveld-earmuff-case {\n      width: min(650px, 86%);\n      height: 330px;\n    }\n\n    .bosveld-earmuff-case .bosveld-case-shell {\n      inset: 42px 54px 34px;\n      border-radius: 72px 66px 60px 72px;\n    }\n\n    .bosveld-earmuff-case .bosveld-case-handle {\n      top: 5px;\n      left: 50%;\n      width: 235px;\n      height: 78px;\n      transform: translateX(-50%);\n    }\n\n    .bosveld-earmuff-case .bosveld-case-zip {\n      top: 65px;\n      left: 80px;\n      right: 80px;\n      height: 4px;\n    }\n\n    .bosveld-headband {\n      position: absolute;\n      z-index: 3;\n      top: 74px;\n      left: 50%;\n      width: 330px;\n      height: 155px;\n      border: 18px solid #242a24;\n      border-bottom: 0;\n      border-radius: 50% 50% 0 0;\n      transform: translateX(-50%);\n    }\n\n    .bosveld-earcup {\n      position: absolute;\n      z-index: 4;\n      top: 98px;\n      width: 96px;\n      height: 132px;\n      border: 10px solid #171b17;\n      border-radius: 46px;\n      background: linear-gradient(145deg, #454d44, #222722);\n      box-shadow: inset 0 0 0 6px rgba(255,255,255,.04);\n    }\n\n    .bosveld-earcup--left {\n      left: 126px;\n      transform: rotate(-7deg);\n    }\n\n    .bosveld-earcup--right {\n      right: 126px;\n      transform: rotate(7deg);\n    }\n\n    .bosveld-earmuff-case .bosveld-brand-mark {\n      top: 150px;\n      width: 190px;\n    }\n\n    .bosveld-earmuff-case .bosveld-case-pocket {\n      left: 50%;\n      bottom: 58px;\n      width: 280px;\n      height: 48px;\n      transform: translateX(-50%);\n    }\n\n    .bosveld-earmuff-case .bosveld-pocket--two,\n    .bosveld-earmuff-case .bosveld-bag-tip {\n      display: none;\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-earmuff-case {\n        width: min(500px, 92%);\n        height: 250px;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-shell {\n        inset: 34px 34px 28px;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-handle {\n        width: 175px;\n        height: 60px;\n        border-width: 14px;\n      }\n\n      .bosveld-headband {\n        top: 61px;\n        width: 245px;\n        height: 115px;\n        border-width: 14px;\n      }\n\n      .bosveld-earcup {\n        top: 77px;\n        width: 72px;\n        height: 100px;\n        border-width: 8px;\n      }\n\n      .bosveld-earcup--left { left: 78px; }\n      .bosveld-earcup--right { right: 78px; }\n\n      .bosveld-earmuff-case .bosveld-brand-mark {\n        top: 112px;\n        width: 145px;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-pocket {\n        bottom: 42px;\n        width: 210px;\n        height: 36px;\n        display: block;\n      }\n    }\n\n    @media screen and (max-width: 430px) {\n      .bosveld-earmuff-case {\n        width: 96%;\n        height: 205px;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-shell {\n        inset: 30px 18px 24px;\n        border-width: 6px;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-handle {\n        width: 138px;\n        height: 50px;\n        border-width: 11px;\n      }\n\n      .bosveld-headband {\n        top: 54px;\n        width: 188px;\n        height: 91px;\n        border-width: 11px;\n      }\n\n      .bosveld-earcup {\n        top: 65px;\n        width: 58px;\n        height: 80px;\n        border-width: 7px;\n      }\n\n      .bosveld-earcup--left { left: 47px; }\n      .bosveld-earcup--right { right: 47px; }\n\n      .bosveld-earmuff-case .bosveld-brand-mark {\n        top: 92px;\n        width: 118px;\n        font-size: .65rem;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-pocket {\n        bottom: 35px;\n        width: 165px;\n        height: 28px;\n        display: block;\n      }\n    }\n  \u003c\/style\u003e\n\n\n\n  \u003cstyle\u003e\n    \/* Bosveld tactical soft gun case illustration *\/\n    .bosveld-tactical-case {\n      position: relative;\n      z-index: 3;\n      width: min(820px, 92%);\n      height: 350px;\n      transform-style: preserve-3d;\n      animation: bosveld-product-float 4s ease-in-out infinite;\n    }\n\n    .tactical-case-body {\n      position: absolute;\n      inset: 58px 46px 42px 38px;\n      overflow: hidden;\n      border: 8px solid #3a2c1c;\n      border-radius: 26px 54px 54px 26px;\n      background:\n        repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 3px, rgba(0,0,0,.025) 3px 7px),\n        linear-gradient(145deg, #b38a56, #8a6238 72%);\n      box-shadow: inset 0 0 0 4px rgba(255,255,255,.05), 0 28px 38px rgba(62,44,25,.28);\n    }\n\n    .tactical-case-body::after {\n      position: absolute;\n      inset: 17px;\n      border: 2px dashed rgba(63,43,24,.42);\n      border-radius: 18px 42px 42px 18px;\n      content: \"\";\n    }\n\n    .tactical-case-zip {\n      position: absolute;\n      z-index: 4;\n      top: 79px;\n      left: 70px;\n      right: 82px;\n      height: 5px;\n      border-radius: 999px;\n      background: #4b3924;\n      box-shadow: 0 0 0 2px rgba(255,255,255,.1);\n      overflow: hidden;\n    }\n\n    .tactical-case-zip::after {\n      position: absolute;\n      top: 0;\n      left: -35%;\n      width: 34%;\n      height: 100%;\n      background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);\n      content: \"\";\n      animation: bosveld-zip-shine 3.8s ease-in-out infinite;\n    }\n\n    .tactical-handle {\n      position: absolute;\n      z-index: 2;\n      top: 19px;\n      left: 50%;\n      width: 250px;\n      height: 82px;\n      border: 20px solid #60462b;\n      border-bottom: 0;\n      border-radius: 50% 50% 0 0;\n      transform: translateX(-50%);\n      box-shadow: inset 0 0 0 4px rgba(255,255,255,.08);\n    }\n\n    .tactical-pocket {\n      position: absolute;\n      z-index: 5;\n      bottom: 67px;\n      height: 92px;\n      border: 6px solid #4a351f;\n      border-radius: 16px;\n      background: linear-gradient(145deg, #a47747, #75502d);\n      box-shadow: inset 0 0 0 3px rgba(255,255,255,.04), 0 10px 18px rgba(54,36,19,.18);\n    }\n\n    .tactical-pocket::before {\n      position: absolute;\n      top: 15px;\n      left: 15px;\n      right: 15px;\n      height: 4px;\n      border-radius: 999px;\n      background: #4b3621;\n      content: \"\";\n    }\n\n    .tactical-pocket--one { left: 86px; width: 210px; }\n    .tactical-pocket--two { left: 316px; width: 170px; }\n    .tactical-pocket--three { right: 92px; width: 155px; }\n\n    .tactical-webbing {\n      position: absolute;\n      z-index: 6;\n      left: 112px;\n      right: 115px;\n      bottom: 89px;\n      height: 18px;\n      border-top: 7px solid #49351f;\n      border-bottom: 7px solid #49351f;\n      opacity: .62;\n    }\n\n    .tactical-sling {\n      position: absolute;\n      z-index: 1;\n      top: 83px;\n      left: 160px;\n      width: 470px;\n      height: 210px;\n      border: 18px solid #52402b;\n      border-top: 0;\n      border-radius: 0 0 50% 50%;\n      transform: rotate(-4deg);\n      opacity: .92;\n    }\n\n    .tactical-brand {\n      position: absolute;\n      z-index: 7;\n      top: 132px;\n      left: 50%;\n      width: 170px;\n      padding: 12px 14px;\n      border: 2px solid rgba(255,244,221,.5);\n      color: #fff4dd;\n      font-size: .78rem;\n      font-weight: 900;\n      letter-spacing: .14em;\n      text-align: center;\n      text-transform: uppercase;\n      background: #594326;\n      transform: translateX(-50%) rotate(-1deg);\n      animation: bosveld-brand-pulse 3.4s ease-in-out infinite;\n    }\n\n    .tactical-colour-row {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 12px;\n      margin-top: 18px;\n    }\n\n    .tactical-colour {\n      display: inline-flex;\n      align-items: center;\n      gap: 9px;\n      padding: 10px 14px;\n      border: 1px solid var(--border);\n      border-radius: 999px;\n      color: var(--olive-dark);\n      font-size: .86rem;\n      font-weight: 900;\n      background: #fff;\n    }\n\n    .tactical-swatch {\n      width: 18px;\n      height: 18px;\n      border: 2px solid rgba(38,53,31,.18);\n      border-radius: 50%;\n      background: #a87943;\n    }\n\n    @media screen and (max-width:760px) {\n      .bosveld-tactical-case { width:min(600px,96%); height:280px; }\n      .tactical-case-body { inset:48px 25px 32px 22px; border-width:7px; }\n      .tactical-handle { width:190px; height:65px; border-width:16px; }\n      .tactical-case-zip { top:65px; left:50px; right:55px; }\n      .tactical-pocket { bottom:49px; height:73px; }\n      .tactical-pocket--one { left:52px; width:155px; }\n      .tactical-pocket--two { left:220px; width:130px; }\n      .tactical-pocket--three { right:58px; width:115px; }\n      .tactical-sling { left:110px; width:350px; height:160px; border-width:14px; }\n      .tactical-brand { top:106px; width:140px; }\n      .tactical-webbing { left:75px; right:78px; bottom:66px; }\n    }\n\n    @media screen and (max-width:430px) {\n      .bosveld-tactical-case { height:220px; }\n      .tactical-case-body { inset:42px 10px 25px 10px; border-width:6px; }\n      .tactical-handle { top:17px; width:140px; height:52px; border-width:12px; }\n      .tactical-case-zip { top:57px; left:30px; right:34px; }\n      .tactical-pocket { bottom:38px; height:56px; border-width:4px; }\n      .tactical-pocket--one { left:28px; width:112px; }\n      .tactical-pocket--two { left:149px; width:90px; }\n      .tactical-pocket--three { right:29px; width:82px; }\n      .tactical-pocket::before { top:10px; left:10px; right:10px; }\n      .tactical-brand { top:88px; width:112px; padding:9px; font-size:.65rem; }\n      .tactical-sling { display:none; }\n      .tactical-webbing { left:45px; right:45px; bottom:51px; height:12px; border-width:5px; }\n    }\n  \u003c\/style\u003e\n\n\n\n\n\n\n\n\n\n\u003csection class=\"bosveld-rod-section\"\u003e\n  \u003cspan class=\"bosveld-decoration bosveld-decoration--one\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"bosveld-decoration bosveld-decoration--two\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n\n  \u003cstyle\u003e\n    .dirtdog-product {\n      position: relative;\n      z-index: 3;\n      width: min(720px, 92%);\n      height: 400px;\n      animation: bosveld-product-float 4s ease-in-out infinite;\n      transform-style: preserve-3d;\n    }\n\n    .dirtdog-car {\n      position: absolute;\n      left: 50%;\n      bottom: 30px;\n      width: 520px;\n      height: 250px;\n      border: 10px solid #222922;\n      border-radius: 36px 36px 28px 28px;\n      background:\n        linear-gradient(145deg, rgba(255,255,255,.08), transparent 30%),\n        linear-gradient(145deg, #687267, #384137 72%);\n      box-shadow:\n        inset 0 0 0 5px rgba(255,255,255,.03),\n        0 30px 48px rgba(38,53,31,.22);\n      transform: translateX(-50%);\n      overflow: hidden;\n    }\n\n    .dirtdog-seat {\n      position: absolute;\n      bottom: 36px;\n      width: 165px;\n      height: 145px;\n      border: 8px solid #171b17;\n      border-radius: 30px 30px 18px 18px;\n      background: linear-gradient(145deg, #555e54, #2d342c);\n    }\n\n    .dirtdog-seat--left { left: 48px; }\n    .dirtdog-seat--right { right: 48px; }\n\n    .dirtdog-headrest {\n      position: absolute;\n      top: -52px;\n      left: 50%;\n      width: 90px;\n      height: 64px;\n      border: 7px solid #171b17;\n      border-radius: 22px;\n      background: linear-gradient(145deg, #596258, #2e352d);\n      transform: translateX(-50%);\n    }\n\n    .dirtdog-hammock {\n      position: absolute;\n      z-index: 6;\n      left: 50%;\n      top: 72px;\n      width: 380px;\n      height: 180px;\n      border: 8px solid #182018;\n      border-radius: 24px 24px 36px 36px;\n      background:\n        linear-gradient(145deg, rgba(255,255,255,.06), transparent 34%),\n        repeating-linear-gradient(\n          90deg,\n          #485544 0 24px,\n          #3d4939 24px 28px\n        );\n      box-shadow: 0 22px 34px rgba(27,34,24,.22);\n      transform: translateX(-50%);\n    }\n\n    .dirtdog-hammock::before,\n    .dirtdog-hammock::after {\n      position: absolute;\n      top: -74px;\n      width: 8px;\n      height: 90px;\n      border-radius: 999px;\n      background: #2b342a;\n      content: \"\";\n    }\n\n    .dirtdog-hammock::before { left: 54px; }\n    .dirtdog-hammock::after { right: 54px; }\n\n    .dirtdog-sideflap {\n      position: absolute;\n      top: 18px;\n      width: 82px;\n      height: 150px;\n      border: 7px solid #182018;\n      border-radius: 18px;\n      background: linear-gradient(145deg, #4a5745, #354132);\n    }\n\n    .dirtdog-sideflap--left { left: -56px; transform: rotate(-6deg); }\n    .dirtdog-sideflap--right { right: -56px; transform: rotate(6deg); }\n\n    .dirtdog-dog {\n      position: absolute;\n      z-index: 8;\n      left: 50%;\n      top: 98px;\n      font-size: 7rem;\n      transform: translateX(-50%);\n      filter: drop-shadow(0 16px 18px rgba(25,30,23,.18));\n    }\n\n    .dirtdog-brand {\n      position: absolute;\n      z-index: 10;\n      left: 50%;\n      bottom: 10px;\n      width: 220px;\n      padding: 11px 15px;\n      border: 2px solid rgba(236,242,225,.52);\n      border-radius: 999px;\n      color: #eff4e8;\n      font-size: .7rem;\n      font-weight: 900;\n      letter-spacing: .11em;\n      text-align: center;\n      text-transform: uppercase;\n      background: #35402f;\n      transform: translateX(-50%);\n      box-shadow: 0 14px 26px rgba(22,27,21,.22);\n    }\n\n    .dirtdog-grid {\n      display: grid !important;\n      grid-template-columns: 1fr !important;\n      gap: 14px;\n    }\n\n    .dirtdog-item {\n      display: grid;\n      grid-template-columns: 56px minmax(0,1fr);\n      gap: 15px;\n      align-items: center;\n      padding: 18px;\n      border: 1px solid var(--border);\n      border-radius: 16px;\n      background: #f8faf3;\n    }\n\n    .dirtdog-icon {\n      display: grid;\n      width: 56px;\n      height: 56px;\n      place-items: center;\n      border-radius: 16px;\n      font-size: 1.4rem;\n      background: #dce7be;\n    }\n\n    @media screen and (max-width:760px) {\n      .dirtdog-product { height:320px; }\n      .dirtdog-car { width:390px;height:215px;border-width:8px; }\n      .dirtdog-seat { width:122px;height:118px; }\n      .dirtdog-hammock { top:66px;width:290px;height:148px; }\n      .dirtdog-dog { top:88px;font-size:5.6rem; }\n      .dirtdog-brand { width:175px;font-size:.58rem; }\n    }\n\n    @media screen and (max-width:430px) {\n      .dirtdog-product { width:96%;height:250px; }\n      .dirtdog-car { width:285px;height:185px;border-width:6px; }\n      .dirtdog-seat { width:86px;height:96px;border-width:6px; }\n      .dirtdog-seat--left { left:26px; }\n      .dirtdog-seat--right { right:26px; }\n      .dirtdog-hammock { top:58px;width:220px;height:126px;border-width:6px; }\n      .dirtdog-sideflap { width:56px;height:108px;border-width:5px; }\n      .dirtdog-sideflap--left { left:-36px; }\n      .dirtdog-sideflap--right { right:-36px; }\n      .dirtdog-dog { top:78px;font-size:4.3rem; }\n      .dirtdog-brand { width:145px;padding:9px;font-size:.5rem;bottom:4px; }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"bosveld-rod-container\"\u003e\n    \u003cp class=\"bosveld-eyebrow\"\u003eFull back-seat protection for real adventures\u003c\/p\u003e\n\n    \u003ch1 class=\"bosveld-title\"\u003e\n      DirtDog\n      \u003cspan\u003eSeat Defender\u003c\/span\u003e\n    \u003c\/h1\u003e\n\n    \u003cp class=\"bosveld-tagline\"\u003eYour Dog Rides. Your Seats Survive.\u003c\/p\u003e\n\n    \u003cp class=\"bosveld-intro\"\u003e\n      DirtDog transforms your back seat into a secure, scratch-resistant travel zone\n      for your dog while protecting upholstery from mud, hair, sand and everyday mess.\n      Whether you're heading to the trail, the vet or the beach, your dog rides comfortably\n      and your vehicle stays cleaner.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"bosveld-product-visual\" data-parallax\u003e\n      \u003cdiv class=\"bosveld-water-ripple\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"bosveld-floating-lure\" aria-hidden=\"true\"\u003e🐾\u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-product-badge\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003eUniversal Fit\u003c\/strong\u003e\n          \u003cspan\u003eCars, trucks and SUVs\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dirtdog-product\" role=\"img\" aria-label=\"DirtDog dog hammock protecting a vehicle back seat\"\u003e\n        \u003cdiv class=\"dirtdog-car\"\u003e\n          \u003cdiv class=\"dirtdog-seat dirtdog-seat--left\"\u003e\u003cdiv class=\"dirtdog-headrest\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n          \u003cdiv class=\"dirtdog-seat dirtdog-seat--right\"\u003e\u003cdiv class=\"dirtdog-headrest\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"dirtdog-hammock\"\u003e\n          \u003cdiv class=\"dirtdog-sideflap dirtdog-sideflap--left\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"dirtdog-sideflap dirtdog-sideflap--right\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"dirtdog-dog\" aria-hidden=\"true\"\u003e🐕\u003c\/div\u003e\n        \u003cdiv class=\"dirtdog-brand\"\u003eDirtDog Seat Defender\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003csection class=\"bosveld-section bosveld-section--dark bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eAdventure-ready protection from seat to door\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Keep your dog contained, comfortable and off your upholstery while protecting\n        the areas that muddy paws reach most.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-benefit-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\n          \u003cdiv class=\"bosveld-benefit-icon\" aria-hidden=\"true\"\u003e🛡️\u003c\/div\u003e\n          \u003cstrong\u003eFull Back-Seat Coverage\u003c\/strong\u003e\n          \u003cp\u003eThe hammock design protects the seat base, seatbacks and the space between rows.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\n          \u003cdiv class=\"bosveld-benefit-icon\" aria-hidden=\"true\"\u003e🚪\u003c\/div\u003e\n          \u003cstrong\u003eSide Flap Protection\u003c\/strong\u003e\n          \u003cp\u003eExtended flaps help shield door panels and seat edges from mud, claws and hair.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\n          \u003cdiv class=\"bosveld-benefit-icon\" aria-hidden=\"true\"\u003e🐕\u003c\/div\u003e\n          \u003cstrong\u003eMore Secure Travel\u003c\/strong\u003e\n          \u003cp\u003eThe hammock layout helps reduce movement into the footwell during normal driving.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\" id=\"features\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eBuilt for real adventures\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Practical protection for muddy trails, sandy beaches and everyday car journeys.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-feature-timeline bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e01\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eHammock + Seat Cover in One\u003c\/strong\u003e\u003cp\u003eCreates a full protective barrier across the back seat and footwell area.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e02\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eIntegrated Side Flaps\u003c\/strong\u003e\u003cp\u003eProvides wider coverage with fewer exposed gaps around the doors.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e03\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eAnti-Scratch Surface\u003c\/strong\u003e\u003cp\u003eHelps protect leather and fabric upholstery from claws and rough movement.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e04\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eNon-Slip Backing\u003c\/strong\u003e\u003cp\u003eDesigned to reduce shifting on both leather and fabric seats.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e05\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eMachine Washable\u003c\/strong\u003e\u003cp\u003eRemove the cover and wash it after muddy, sandy or wet trips.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e06\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eUniversal Vehicle Fit\u003c\/strong\u003e\u003cp\u003eCompatible with many cars, bakkies, trucks and SUVs with adjustable headrests.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003ePerfect for\u003c\/h2\u003e\n      \u003cdiv class=\"dirtdog-grid bosveld-stagger\"\u003e\n        \u003cdiv class=\"dirtdog-item\"\u003e\n\u003cdiv class=\"dirtdog-icon\"\u003e🥾\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eTrail \u0026amp; Hiking Trips\u003c\/strong\u003e\u003cp\u003eContain mud, grass and debris after outdoor adventures.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"dirtdog-item\"\u003e\n\u003cdiv class=\"dirtdog-icon\"\u003e🏖️\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBeach Days\u003c\/strong\u003e\u003cp\u003eHelp keep sand, salt and damp fur off your seats and doors.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"dirtdog-item\"\u003e\n\u003cdiv class=\"dirtdog-icon\"\u003e🏥\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eVet Visits\u003c\/strong\u003e\u003cp\u003eCreate a cleaner, more secure travel space for routine trips.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"dirtdog-item\"\u003e\n\u003cdiv class=\"dirtdog-icon\"\u003e🚗\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eEveryday Driving\u003c\/strong\u003e\u003cp\u003eProtect your back seat during errands, school runs and daily travel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eEasy on. Easy off.\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Installs in minutes with adjustable headrest straps — no tools required.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-feature-timeline bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e01\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003ePosition the Cover\u003c\/strong\u003e\u003cp\u003eLay the hammock across the back seat with the side flaps facing the doors.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e02\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eClip the Rear Straps\u003c\/strong\u003e\u003cp\u003eSecure the adjustable straps around the rear headrests.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e03\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eClip the Front Straps\u003c\/strong\u003e\u003cp\u003eAttach the remaining straps around the front-seat headrests.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e04\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eAdjust \u0026amp; Go\u003c\/strong\u003e\u003cp\u003eTighten the straps, position the side flaps and check that the cover sits securely.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eProduct specifications\u003c\/h2\u003e\n      \u003cdiv class=\"bosveld-spec-table-wrap\"\u003e\n        \u003ctable class=\"bosveld-spec-table\"\u003e\n          \u003ctbody\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eProduct Name\u003c\/th\u003e\n\u003ctd\u003eDirtDog Seat Defender\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eDesign\u003c\/th\u003e\n\u003ctd\u003eBack-seat hammock and protective seat cover\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eFit\u003c\/th\u003e\n\u003ctd\u003eUniversal fit for many cars, trucks, bakkies and SUVs\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSide Coverage\u003c\/th\u003e\n\u003ctd\u003eIntegrated protective side flaps\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eBacking\u003c\/th\u003e\n\u003ctd\u003eNon-slip backing\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCleaning\u003c\/th\u003e\n\u003ctd\u003eMachine washable\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eInstallation\u003c\/th\u003e\n\u003ctd\u003eAdjustable headrest straps; no tools required\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\" id=\"reviews\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eWhat South African dog owners are saying\u003c\/h2\u003e\n      \u003cdiv class=\"bosveld-review-showcase\"\u003e\n        \u003carticle class=\"bosveld-review-featured\"\u003e\n          \u003cdiv class=\"bosveld-review-stars\" aria-label=\"Five out of five stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cblockquote class=\"bosveld-review-quote\"\u003e\n            “Our Labrador brings half the beach home with him. This cover catches the sand and stays in place even on longer drives.”\n          \u003c\/blockquote\u003e\n          \u003cstrong class=\"bosveld-reviewer-name\"\u003eWarren J.\u003c\/strong\u003e\n          \u003cspan class=\"bosveld-reviewer-location\"\u003eGqeberha, Eastern Cape\u003c\/span\u003e\n        \u003c\/article\u003e\n\n        \u003cdiv class=\"bosveld-review-mini-list\"\u003e\n          \u003carticle class=\"bosveld-review-mini\"\u003e\n            \u003cdiv class=\"bosveld-review-stars\" aria-label=\"Five out of five stars\"\u003e★★★★★\u003c\/div\u003e\n            \u003cblockquote class=\"bosveld-review-quote\"\u003e\n              “The side flaps are the best part. No more muddy paw marks all over the doors after weekend hikes.”\n            \u003c\/blockquote\u003e\n            \u003cstrong class=\"bosveld-reviewer-name\"\u003eNomvula K.\u003c\/strong\u003e\n            \u003cspan class=\"bosveld-reviewer-location\"\u003ePietermaritzburg, KwaZulu-Natal\u003c\/span\u003e\n          \u003c\/article\u003e\n\n          \u003carticle class=\"bosveld-review-mini\"\u003e\n            \u003cdiv class=\"bosveld-review-stars\" aria-label=\"Five out of five stars\"\u003e★★★★★\u003c\/div\u003e\n            \u003cblockquote class=\"bosveld-review-quote\"\u003e\n              “Fits my Fortuner properly and takes less than two minutes to install. Much easier travelling with our German Shepherd now.”\n            \u003c\/blockquote\u003e\n            \u003cstrong class=\"bosveld-reviewer-name\"\u003eHennie C.\u003c\/strong\u003e\n            \u003cspan class=\"bosveld-reviewer-location\"\u003eKimberley, Northern Cape\u003c\/span\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cdiv class=\"bosveld-section bosveld-reveal\" style=\"padding:22px 24px;border-left:6px solid var(--olive);background:#edf1e1;\"\u003e\n      \u003cstrong\u003eSafety note:\u003c\/strong\u003e This cover is not a replacement for a suitable pet restraint.\n      Secure your dog using an appropriate harness or vehicle restraint system and confirm that\n      all straps are correctly fitted before driving.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n      \u003cdiv\u003e\n        \u003ch2\u003eReady for cleaner adventures?\u003c\/h2\u003e\n        \u003cp\u003e\n          Protect your seats, doors and footwell while giving your dog a more secure place to ride.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-button-group\"\u003e\n        \u003ca class=\"bosveld-button bosveld-button--primary\" href=\"#features\"\u003eView Product Features\u003c\/a\u003e\n        \u003cbutton type=\"button\" class=\"bosveld-button bosveld-button--secondary\" id=\"bosveld-add-to-cart\" data-bosveld-add-to-cart\u003e\n          🛒 Add to Cart\n        \u003c\/button\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"bosveld-footer-tagline\"\u003eProtected Seats. Happier Adventures.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  const revealItems = document.querySelectorAll(\".bosveld-reveal\");\n  if (\"IntersectionObserver\" in window) {\n    const observer = new IntersectionObserver(function(entries, revealObserver) {\n      entries.forEach(function(entry) {\n        if (!entry.isIntersecting) return;\n        entry.target.classList.add(\"is-visible\");\n        revealObserver.unobserve(entry.target);\n      });\n    }, { threshold: 0.14 });\n    revealItems.forEach(function(item) { observer.observe(item); });\n  } else {\n    revealItems.forEach(function(item) { item.classList.add(\"is-visible\"); });\n  }\n\n  document.querySelectorAll('.bosveld-rod-section a[href^=\"#\"]').forEach(function(link) {\n    link.addEventListener(\"click\", function(event) {\n      const target = document.querySelector(link.getAttribute(\"href\"));\n      if (!target) return;\n      event.preventDefault();\n      target.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n    });\n  });\n\n  const canHover = window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches;\n  if (canHover) {\n    const visual = document.querySelector(\"[data-parallax]\");\n    const product = document.querySelector(\".bosveld-tactical-case\");\n    if (visual \u0026\u0026 product) {\n      visual.addEventListener(\"mousemove\", function(event) {\n        const rect = visual.getBoundingClientRect();\n        const x = (event.clientX - rect.left) \/ rect.width - 0.5;\n        const y = (event.clientY - rect.top) \/ rect.height - 0.5;\n        product.style.animation = \"none\";\n        product.style.transform = \"rotateY(\" + x * 8 + \"deg) rotateX(\" + y * -6 + \"deg) translate3d(\" + x * 14 + \"px,\" + y * 10 + \"px,20px)\";\n      });\n      visual.addEventListener(\"mouseleave\", function() {\n        product.style.transform = \"\";\n        product.style.animation = \"bosveld-product-float 4s ease-in-out infinite\";\n      });\n    }\n  }\n\n  document.querySelectorAll(\".bosveld-section, .bosveld-cta\").forEach(function(section, index) {\n    section.style.transitionDelay = index * 0.04 + \"s\";\n  });\n});\n\u003c\/script\u003e\n\n\n\n\n\n\n\n\n\n\n\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  const buttons = document.querySelectorAll(\n    \"#bosveld-add-to-cart, [data-bosveld-add-to-cart]\"\n  );\n\n  if (!buttons.length) return;\n\n  function getSelectedVariantId() {\n    const productForms = document.querySelectorAll(\n      'form[action*=\"\/cart\/add\"], product-form form'\n    );\n\n    for (const form of productForms) {\n      const selectedVariant = form.querySelector(\n        'input[name=\"id\"]:checked, select[name=\"id\"], input[name=\"id\"]'\n      );\n\n      if (selectedVariant \u0026\u0026 selectedVariant.value) {\n        const variantId = Number(selectedVariant.value);\n        if (Number.isInteger(variantId) \u0026\u0026 variantId \u003e 0) return variantId;\n      }\n    }\n\n    const variantField = document.querySelector(\n      '[name=\"id\"][value], [data-variant-id]'\n    );\n\n    if (variantField) {\n      const rawValue =\n        variantField.value ||\n        variantField.getAttribute(\"data-variant-id\");\n\n      const variantId = Number(rawValue);\n      if (Number.isInteger(variantId) \u0026\u0026 variantId \u003e 0) return variantId;\n    }\n\n    for (const button of buttons) {\n      const manualId = Number(button.dataset.variantId);\n      if (Number.isInteger(manualId) \u0026\u0026 manualId \u003e 0) return manualId;\n    }\n\n    return null;\n  }\n\n  async function addToCart(button) {\n    const variantId = getSelectedVariantId();\n\n    if (!variantId) {\n      alert(\n        \"No Shopify variant could be detected. Place this section on the Shopify product page or add data-variant-id to the Add to Cart button.\"\n      );\n      return;\n    }\n\n    const originalText = button.innerHTML;\n\n    buttons.forEach(function (item) {\n      item.disabled = true;\n      item.setAttribute(\"aria-busy\", \"true\");\n      item.innerHTML = \"Adding…\";\n    });\n\n    try {\n      const root =\n        window.Shopify \u0026\u0026 window.Shopify.routes\n          ? window.Shopify.routes.root\n          : \"\/\";\n\n      const response = await fetch(root + \"cart\/add.js\", {\n        method: \"POST\",\n        headers: {\n          \"Content-Type\": \"application\/json\",\n          \"Accept\": \"application\/json\"\n        },\n        body: JSON.stringify({\n          items: [{ id: variantId, quantity: 1 }]\n        })\n      });\n\n      const result = await response.json();\n\n      if (!response.ok) {\n        throw new Error(\n          result.description ||\n          result.message ||\n          \"The product could not be added.\"\n        );\n      }\n\n      buttons.forEach(function (item) {\n        item.innerHTML = \"Added ✓\";\n        item.removeAttribute(\"aria-busy\");\n      });\n\n      document.documentElement.dispatchEvent(\n        new CustomEvent(\"cart:refresh\", { bubbles: true })\n      );\n\n      document.dispatchEvent(\n        new CustomEvent(\"cart:updated\", {\n          bubbles: true,\n          detail: result\n        })\n      );\n\n      setTimeout(function () {\n        window.location.href = root + \"cart\";\n      }, 450);\n    } catch (error) {\n      console.error(\"Bosveld Add to Cart:\", error);\n\n      buttons.forEach(function (item) {\n        item.disabled = false;\n        item.removeAttribute(\"aria-busy\");\n        item.innerHTML = originalText;\n      });\n\n      alert(error.message || \"Unable to add this product to the cart.\");\n    }\n  }\n\n  buttons.forEach(function (button) {\n    button.addEventListener(\"click\", function () {\n      addToCart(button);\n    });\n  });\n});\n\u003c\/script\u003e\n\n\u003c\/body\u003e","brand":"Bosveld Tactical","offers":[{"title":"Default Title","offer_id":48362142302361,"sku":null,"price":649.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPT_Image_Jul_25_2026_10_26_44_PM.png?v=1785011246","url":"https:\/\/bosveldtactical.co.za\/products\/dirtdog-seat-defender","provider":"Bosveld Tactical ","version":"1.0","type":"link"}