*,
    *::before,
    *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box
    }

    body {
      font-family: 'DM Sans', sans-serif;
      background: #ffffff;
      color: #2a2a2a;
      line-height: 1.7;
      -webkit-font-smoothing: antialiased
    }

    a {
      color: inherit;
      text-decoration: none
    }

    /* === HEADER === */
    .vp-header {
      background: linear-gradient(135deg, #8b1a4a 0%, #d4145a 60%, #ff6b8a 100%);
      padding: 12px 24px
    }

    .vp-header-inner {
      max-width: 780px;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      align-items: center
    }

    .vp-logo {
      color: #fff;
      font-size: 18px;
      font-weight: 800;
      letter-spacing: -.3px
    }

    .vp-logo em {
      font-style: normal;
      color: #ffb3cc;
      font-weight: 400
    }

    /* === CONTENT === */
    .vp-wrap {
      max-width: 780px;
      margin: 0 auto;
      padding: 28px 20px 48px
    }

    /* === URGENCY BAR === */
    .vp-urgency {
      background: #fff0f0;
      border: 1px solid #ffcccc;
      border-radius: 8px;
      padding: 14px 16px;
      margin-bottom: 22px;
      text-align: center;
      font-size: 13px;
      font-weight: 700;
      color: #b91c1c;
      line-height: 1.4
    }

    .vp-urgency em {
      font-style: normal;
      color: #dc2626
    }

    /* === HEADLINE === */
    .vp-headline {
      font-family: 'Crimson Pro', serif;
      font-size: clamp(24px, 4.5vw, 38px);
      font-weight: 800;
      line-height: 1.2;
      color: #1a1a1a;
      margin-bottom: 18px
    }

    .vp-headline em {
      color: #d4145a;
      font-style: normal
    }

    /* === META === */
    .vp-meta {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 12px;
      color: #888;
      margin-bottom: 24px;
      padding-bottom: 16px;
      border-bottom: 2px solid #eee
    }

    .vp-meta-avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      object-fit: cover;
      border: 2px solid #d4145a
    }

    /* === VIDEO CARD === */
    .vp-video-card {
      background: #fff;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 4px 20px rgba(0, 0, 0, .1);
      margin-bottom: 20px;
      position: relative;
      display: block
    }

    .vp-video-card img {
      width: 100%;
      height: auto;
      display: block
    }

    .vp-video-card:hover {
      box-shadow: 0 8px 32px rgba(212, 20, 90, .2)
    }

    /* === CTA === */
    .vp-cta {
      display: block;
      background: linear-gradient(135deg, #d4145a, #ff6b8a);
      color: #fff;
      text-align: center;
      padding: 18px 24px;
      font-size: 16px;
      font-weight: 800;
      border-radius: 10px;
      margin: 24px 0 8px;
      box-shadow: 0 6px 24px rgba(212, 20, 90, .3);
      transition: transform .15s, box-shadow .15s;
      line-height: 1.3;
      letter-spacing: .3px;
      animation: ctaPulse 2s ease-in-out infinite
    }

    .vp-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 32px rgba(212, 20, 90, .4)
    }

    @keyframes ctaPulse {

      0%,
      100% {
        transform: scale(1)
      }

      50% {
        transform: scale(1.015)
      }
    }

    .vp-cta span {
      display: block;
      font-size: 12px;
      font-weight: 400;
      opacity: .85;
      margin-top: 5px
    }

    /* === COUNTER BAR === */
    .counter-bar {
      background: #fef2f2;
      border: 1px solid #fecaca;
      border-radius: 8px;
      padding: 10px 16px;
      text-align: center;
      font-size: 13px;
      font-weight: 700;
      color: #991b1b;
      margin: 0 0 28px;
      line-height: 1.4
    }

    .counter-bar .cnt {
      color: #dc2626;
      font-size: 18px;
      font-weight: 900
    }

    /* === PROSE === */
    .vp-prose p {
      font-family: 'Crimson Pro', serif;
      font-size: 18px;
      margin-bottom: 20px;
      color: #333;
      line-height: 1.85
    }

    .vp-prose strong {
      font-weight: 700;
      color: #1a1a1a
    }

    .vp-prose em {
      font-style: italic;
      color: #555
    }

    /* === CELEBRITY CALLOUT === */
    .celeb-box {
      background: #fffbeb;
      border: 2px solid #f59e0b;
      border-radius: 10px;
      padding: 18px 20px;
      margin: 24px 0;
      display: flex;
      align-items: center;
      gap: 14px
    }

    .celeb-box img {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
      border: 2px solid #f59e0b
    }

    .celeb-box .celeb-txt {
      flex: 1
    }

    .celeb-box .celeb-name {
      font-weight: 800;
      font-size: 14px;
      color: #92400e
    }

    .celeb-box .celeb-quote {
      font-family: 'Crimson Pro', serif;
      font-size: 15px;
      color: #78350f;
      font-style: italic;
      line-height: 1.6;
      margin-top: 4px
    }

    /* === FACEBOOK COMMENTS === */
    .fbx {
      margin: 24px 0;
      border: 1px solid #dddfe2;
      border-radius: 8px;
      background: #fff;
      overflow: hidden
    }

    .fbx-head {
      background: #f6f7f8;
      border-bottom: 1px solid #dddfe2;
      padding: 10px 16px;
      display: flex;
      align-items: center;
      justify-content: space-between
    }

    .fbx-brand {
      display: flex;
      align-items: center;
      gap: 8px
    }

    .fbx-fb-icon {
      width: 20px;
      height: 20px;
      background: #1877f2;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center
    }

    .fbx-fb-icon svg {
      width: 12px;
      height: 12px;
      fill: #fff
    }

    .fbx-plugin-label {
      font-size: 11px;
      color: #65676b;
      font-weight: 600
    }

    .fbx-head-right {
      display: flex;
      align-items: center;
      gap: 12px
    }

    .fbx-count {
      font-size: 12px;
      color: #65676b;
      font-weight: 600
    }

    .fbx-sort-btn {
      font-size: 11px;
      color: #1877f2;
      font-weight: 600;
      cursor: pointer;
      background: none;
      border: 1px solid #dddfe2;
      border-radius: 4px;
      padding: 4px 10px
    }

    .fbx-body {
      padding: 16px
    }

    .fbx-c {
      display: flex;
      gap: 10px;
      margin: 0 0 16px
    }

    .fbx-c.fbx-r {
      margin-left: 52px
    }

    .fbx-av {
      flex: 0 0 40px;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      overflow: hidden;
      background: #e4e6eb
    }

    .fbx-c.fbx-r .fbx-av {
      flex: 0 0 32px;
      width: 32px;
      height: 32px
    }

    .fbx-av img {
      width: 100%;
      height: 100%;
      object-fit: cover
    }

    .fbx-right {
      flex: 1;
      min-width: 0
    }

    .fbx-bubble {
      background: #f0f2f5;
      border-radius: 18px;
      padding: 10px 14px;
      display: inline-block;
      max-width: 100%
    }

    .fbx-nm {
      margin: 0 0 2px;
      font-size: 13px;
      font-weight: 700;
      color: #050505;
      line-height: 1.2
    }

    .fbx-nm .fbx-author-badge {
      display: inline-block;
      background: #1877f2;
      color: #fff;
      font-size: 9px;
      font-weight: 800;
      padding: 1px 5px;
      border-radius: 3px;
      margin-left: 6px;
      vertical-align: middle
    }

    .fbx-tx {
      margin: 0;
      font-size: 14px;
      line-height: 1.45;
      color: #050505;
      word-wrap: break-word
    }

    .fbx-actions {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 4px 0 0 14px;
      font-size: 12px
    }

    .fbx-act {
      color: #65676b;
      font-weight: 700;
      cursor: pointer
    }

    .fbx-act:hover {
      text-decoration: underline
    }

    .fbx-act.like {
      color: #1877f2
    }

    .fbx-time {
      color: #65676b;
      font-weight: 400
    }

    .fbx-reactions {
      display: inline-flex;
      align-items: center;
      gap: 2px;
      margin-left: auto;
      background: #fff;
      border: 1px solid #e4e6eb;
      border-radius: 99px;
      padding: 2px 6px 2px 2px;
      font-size: 12px;
      color: #65676b;
      box-shadow: 0 1px 2px rgba(0, 0, 0, .1)
    }

    .fbx-reactions .r-icons {
      display: flex
    }

    .fbx-reactions .r-icons span {
      width: 18px;
      height: 18px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 13px;
      margin-right: -4px
    }

    .fbx-more {
      text-align: center;
      padding: 8px 0 0;
      border-top: 1px solid #e4e6eb;
      margin-top: 4px
    }

    .fbx-more a {
      font-size: 13px;
      color: #1877f2;
      font-weight: 600;
      cursor: pointer
    }

    /* === CLOSE BOX === */
    .vp-close {
      background: #fafafa;
      border: 2px solid #d4145a;
      border-radius: 12px;
      padding: 28px 24px;
      margin-top: 32px;
      text-align: center
    }

    .vp-close h3 {
      font-family: 'Crimson Pro', serif;
      font-size: 24px;
      font-weight: 800;
      color: #8b1a4a;
      margin-bottom: 12px;
      line-height: 1.3
    }

    .vp-close p {
      font-family: 'Crimson Pro', serif;
      font-size: 16px;
      color: #555;
      margin-bottom: 14px;
      line-height: 1.7
    }

    /* === FEAR LINE === */
    .fear-line {
      text-align: center;
      font-size: 13px;
      color: #999;
      margin-top: 14px;
      font-style: italic
    }

    .fear-line a {
      color: #999;
      text-decoration: underline
    }

    /* === FOOTER === */
    .vp-footer {
      background: #1a1a1a;
      color: #777;
      padding: 28px 20px;
      text-align: center;
      font-size: 10px;
      line-height: 2
    }

    .vp-footer a {
      color: #999;
      text-decoration: underline
    }

    .vp-footer-disc {
      max-width: 680px;
      margin: 12px auto 0;
      font-size: 9px;
      color: #555;
      line-height: 1.6;
      text-align: justify
    }

    /* === RESPONSIVE === */
    @media(max-width:600px) {
      .vp-header {
        padding: 10px 16px
      }

      .vp-wrap {
        padding: 20px 16px 36px
      }

      .vp-headline {
        font-size: clamp(22px, 5.5vw, 30px)
      }

      .vp-prose p {
        font-size: 16px
      }

      .vp-cta {
        font-size: 15px;
        padding: 16px 20px
      }

      .vp-close {
        padding: 22px 18px
      }

      .vp-close h3 {
        font-size: 20px
      }

      .celeb-box {
        flex-direction: column;
        text-align: center;
        gap: 10px
      }

      .celeb-box img {
        margin: 0 auto
      }
    }
