{"id":2855,"date":"2025-03-04T03:20:57","date_gmt":"2025-03-04T03:20:57","guid":{"rendered":"https:\/\/trexiptv-8k.com\/?page_id=2855"},"modified":"2026-09-29T02:29:08","modified_gmt":"2026-09-29T02:29:08","slug":"3-mesi-di-abbonamento","status":"publish","type":"page","link":"https:\/\/trexiptv-8k.com\/it\/3-months-subscription\/","title":{"rendered":"Abbonamento a 3 mesi"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2855\" class=\"elementor elementor-2855\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c2180a8 e-flex e-con-boxed e-con e-parent\" data-id=\"c2180a8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4aefcd4 elementor-widget elementor-widget-html\" data-id=\"4aefcd4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"background-color: #fff3cd; color: #856404; padding: 10px; border: 1px solid #ffeeba; border-radius: 5px; margin-bottom: 20px;\">\r\n    \u26a0\ufe0f <strong>Note:<\/strong> Submitting this form does <u>not<\/u> complete your order. You will receive payment instructions by email. Your subscription will be activated only after we receive your payment.\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7b903c7a elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7b903c7a\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-35f04f70\" data-id=\"35f04f70\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4aefa927 elementor-widget elementor-widget-html\" data-id=\"4aefa927\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"pricing-card\" id=\"pricing-card\" data-no-dynamic-translation=\"1\">\r\n  <h3 id=\"plan-title\">3 Months \u2013 1 Connection<\/h3>\r\n  <p class=\"price\" id=\"main-price\">26.99&nbsp;\u20ac<\/p>\r\n  <ul class=\"features-list\">\r\n    <li><i class=\"fas fa-check-circle\"><\/i> +10,000 Channels<\/li>\r\n    <li><i class=\"fas fa-check-circle\"><\/i> +20,000 Films & Series<\/li>\r\n    <li><i class=\"fas fa-check-circle\"><\/i> 4K\/8K\/FHD\/HD\/SD Quality<\/li>\r\n    <li><i class=\"fas fa-check-circle\"><\/i> Adult +18<\/li>\r\n    <li><i class=\"fas fa-check-circle\"><\/i> Free & Auto Updates<\/li>\r\n   \r\n    <li><i class=\"fas fa-check-circle\"><\/i> TV Guide (EPG)<\/li>\r\n    <li><i class=\"fas fa-check-circle\"><\/i> Anti Buffering<\/li>\r\n    <li><i class=\"fas fa-check-circle\"><\/i> 24\/7 Support<\/li>\r\n     <li><i class=\"fas fa-times-circle\"><\/i> Free App Activation<\/li>\r\n  <\/ul>\r\n  <div id=\"discount-info\" style=\"display:none; text-align:center; margin-top:15px;\">\r\n    <p style=\"margin:0; font-size:18px; font-weight:600;\"><span id=\"old-price\" style=\"text-decoration: line-through; color:#999; font-size: 18px;\">25&nbsp;\u20ac<\/span> \u2192 <span style=\"color:green; font-size:20px; font-weight:700;\">\u20ac<span id=\"new-price\"><\/span> with Coupon \ud83c\udf89<\/span><\/p>\r\n    <p id=\"savings-text\" style=\"font-size:13px; color:#0073aa; margin-top:5px;\"><\/p>\r\n  <\/div>\r\n  <div class=\"plan-switcher-mini\">\r\n    <div class=\"divider\"><\/div>\r\n    <p class=\"switcher-text\">Prefer a different plan?\r\n      <a href=\"\/pricing\" target=\"_blank\" class=\"switcher-link\">\r\n        <span class=\"link-text\">Compare all plans<\/span>\r\n        <i class=\"fas fa-external-link-alt\"><\/i>\r\n      <\/a>\r\n    <\/p>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n\/\/ Price configuration (matches your order form)\r\nconst priceMap = { 1: 26.99, 2: 46.99, 3: 66.99, 4: 86.99 };\r\nconst couponFixedPrices = {\r\n  \"SAVE5\": { 1: 21.99, 2: 41.99, 3: 61.99, 4: 81.99 },\r\n  \/\/ Add more coupons here if needed\r\n};\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ DOM elements\r\n  const priceEl = document.getElementById(\"main-price\");\r\n  const titleEl = document.getElementById(\"plan-title\");\r\n  const discountInfo = document.getElementById(\"discount-info\");\r\n  const newPriceSpan = document.getElementById(\"new-price\");\r\n  const oldPriceEl = document.getElementById(\"old-price\");\r\n  const savingsText = document.getElementById(\"savings-text\");\r\n\r\n  \/\/ Get params from URL\r\n  const urlParams = new URLSearchParams(window.location.search);\r\n  let currentConn = parseInt(urlParams.get(\"conn\")) || 1;\r\n  const couponCode = urlParams.get(\"coupon\") || \"\";\r\n\r\nfunction updatePricing(conn, coupon = \"\") {\r\n  if (!priceMap[conn]) conn = 1;\r\n\r\n  const basePrice = priceMap[conn];\r\n  const upperCoupon = coupon.toUpperCase();\r\n  const discountedPrice = couponFixedPrices[upperCoupon]?.[conn];\r\n\r\n  \/\/ Update title\r\n  titleEl.textContent = `3 Months \u2013 ${conn} Connection${conn > 1 ? 's' : ''}`;\r\n\r\n  if (discountedPrice) {\r\n    priceEl.innerHTML = `\r\n      <div style=\"font-weight:600; font-size: 2rem; color: #198754;\">\r\n        <del style=\"color:#444; font-weight:500;\"> ${basePrice} \u20ac<\/del>\r\n        &nbsp;\u2192 <span style=\"font-weight:700;\">\ud83c\udf89 ${discountedPrice.toFixed(2)} \u20ac\r\n      <\/div>\r\n      <p style=\"font-size:14px; color:#0073aa; margin-top:4px;\">\r\n        You save \u20ac${(basePrice - discountedPrice).toFixed(2)}\r\n      <\/p>\r\n    `;\r\n  } else {\r\n    priceEl.innerHTML = `<span style=\"font-size: 2rem; font-weight: bold; color: #00aaff;\">${basePrice} \u20ac<\/span>`;\r\n\r\n  }\r\n\r\n  \/\/ Update URL\r\n  urlParams.set(\"conn\", conn);\r\n  if (coupon) {\r\n    urlParams.set(\"coupon\", coupon);\r\n  } else {\r\n    urlParams.delete(\"coupon\");\r\n  }\r\n  history.replaceState({}, \"\", `?${urlParams.toString()}`);\r\n}\r\n\r\n\r\n\r\n\r\n  \/\/ Expose update function globally to be called by order form\r\n  window.update3MonthPricingCard = updatePricing;\r\n\r\n  \/\/ Initialize on page load\r\n  updatePricing(currentConn, couponCode);\r\n\r\n  \/\/ Listen for events from order form\r\n  document.addEventListener('connectionChanged', function(e) {\r\n    updatePricing(e.detail.conn, e.detail.coupon);\r\n  });\r\n});\r\n<\/script>\r\n\r\n\r\n\r\n<style>\r\n#pricing-wrapper {\r\n  font-size: 20px;\r\n  margin: 10px 0;\r\n}\r\n#pricing-wrapper del {\r\n  color: #777;\r\n  font-size: 20px;\r\n}\r\n#discounted-price {\r\n  font-weight: bold;\r\n  color: green;\r\n}\r\n<\/style>\r\n\r\n\r\n<style>\r\n\/* Your existing styles plus these enhancements *\/\r\n.pricing-card {\r\n  position: relative;\r\n  padding-bottom: 5px; \/* Added bottom padding *\/\r\n}\r\n\r\n.plan-switcher-mini {\r\n  margin-top: 8px; \/* Increased from 5px *\/\r\n  padding: 12px 0 8px; \/* Added more vertical padding *\/\r\n}\r\n\r\n.divider {\r\n  height: 1px;\r\n  background: linear-gradient(90deg, transparent, #e0e0e0 20%, #e0e0e0 80%, transparent);\r\n  margin: 10px 0 12px; \/* Better balanced margins *\/\r\n}\r\n\r\n.switcher-link {\r\n  color: #2a7fdb;\r\n  text-decoration: none;\r\n  font-weight: 500;\r\n  display: inline-flex;\r\n  align-items: center;\r\n  gap: 5px;\r\n  padding: 4px 8px;\r\n  border-radius: 4px;\r\n  transition: all 0.25s ease;\r\n}\r\n\r\n.switcher-link:hover {\r\n  background-color: #f0f7ff;\r\n  text-decoration: none;\r\n  transform: translateY(-1px);\r\n}\r\n\r\n.switcher-link .link-text {\r\n  position: relative;\r\n}\r\n\r\n.switcher-link .link-text::after {\r\n  content: '';\r\n  position: absolute;\r\n  bottom: -1px;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 1px;\r\n  background-color: currentColor;\r\n  transform: scaleX(0);\r\n  transition: transform 0.25s ease;\r\n}\r\n\r\n.switcher-link:hover .link-text::after {\r\n  transform: scaleX(1);\r\n}\r\n\r\n.switcher-link i {\r\n  font-size: 11px;\r\n  transition: transform 0.2s ease;\r\n}\r\n\r\n.switcher-link:hover i {\r\n  transform: translateX(2px);\r\n}\r\n\r\n\/* Responsive adjustments *\/\r\n@media (max-width: 480px) {\r\n  .plan-switcher-mini {\r\n    padding: 10px 0;\r\n  }\r\n  \r\n  .switcher-link {\r\n    padding: 3px 6px;\r\n  }\r\n}\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-36df43a4\" data-id=\"36df43a4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2a1c088 elementor-widget elementor-widget-html\" data-id=\"2a1c088\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     TREX IPTV - 3 MONTHS ORDER FORM\n     Reusable structure for 1M \/ 3M \/ 6M \/ VIP\n     ========================================================= -->\n\n<div\n  id=\"trexiptv-form-wrapper\"\n  class=\"trex-order-wrapper\"\n  data-no-dynamic-translation=\"1\"\n  data-plan=\"3 Months Subscription\"\n  data-default-conn=\"1\"\n>\n\n  <!-- =======================================================\n       TOP SUCCESS \/ ERROR MESSAGE\n       ======================================================= -->\n  <div\n    id=\"form-response\"\n    class=\"trex-response\"\n    role=\"alert\"\n    aria-live=\"polite\"\n    aria-atomic=\"true\"\n  >\n    <div class=\"trex-response-icon\" id=\"response-icon\">\u2713<\/div>\n\n    <div class=\"trex-response-content\">\n      <div class=\"trex-response-title\" id=\"response-title\"><\/div>\n      <div class=\"trex-response-text\" id=\"response-text\"><\/div>\n    <\/div>\n\n    <button\n      type=\"button\"\n      class=\"trex-response-close\"\n      id=\"response-close\"\n      aria-label=\"Close message\"\n    >\n      \u00d7\n    <\/button>\n  <\/div>\n\n\n  <!-- =======================================================\n       HEADER\n       ======================================================= -->\n  <div class=\"trex-form-header\">\n\n    <div class=\"trex-form-kicker\">\n      <span class=\"trex-kicker-dot\"><\/span>\n      TREX IPTV\n    <\/div>\n\n    <h2 id=\"form-title\">\n      3 Months Subscription \u2013 1 Connection\n    <\/h2>\n\n    <p class=\"trex-form-subtitle\">\n      Choose the number of connections that suits you and complete your order below.\n    <\/p>\n\n    <div class=\"trex-trust-row\">\n      <span>\u2713 Fast Activation<\/span>\n      <span>\u2713 Stable Streaming<\/span>\n      <span>\u2713 Secure Order<\/span>\n    <\/div>\n\n  <\/div>\n\n\n  <!-- =======================================================\n       FORM\n       ======================================================= -->\n  <form id=\"trexiptv-form\" method=\"post\" novalidate>\n\n    <!-- Server-side values -->\n    <input\n      type=\"hidden\"\n      name=\"plan\"\n      id=\"trex-plan\"\n      value=\"3 Months Subscription\"\n    >\n\n    <input\n      type=\"hidden\"\n      name=\"refcode\"\n      id=\"trex-refcode\"\n      value=\"5\"\n    >\n\n    <input\n      type=\"hidden\"\n      name=\"conn\"\n      id=\"conn-count\"\n      value=\"1\"\n    >\n\n    <!-- Display\/helper value only.\n         The PHP must calculate the real price itself. -->\n    <input\n      type=\"hidden\"\n      name=\"final_price\"\n      id=\"final-price-value\"\n      value=\"26.99\"\n    >\n\n    <input\n      type=\"hidden\"\n      name=\"action\"\n      value=\"trexiptv_send_mail\"\n    >\n\n\n    <!-- =====================================================\n         CUSTOMER INFORMATION\n         ===================================================== -->\n    <div class=\"trex-section\">\n\n      <div class=\"trex-section-heading\">\n        <span class=\"trex-section-number\">1<\/span>\n        <div>\n          <strong>Your Information<\/strong>\n          <small>Enter your details to receive the order confirmation.<\/small>\n        <\/div>\n      <\/div>\n\n      <div class=\"trex-fields-grid\">\n\n        <div class=\"trex-field\">\n          <label for=\"trex-name\">\n            Name\n            <span class=\"required\">*<\/span>\n          <\/label>\n\n          <input\n            id=\"trex-name\"\n            type=\"text\"\n            name=\"name\"\n            autocomplete=\"name\"\n            placeholder=\"Your full name\"\n            required\n          >\n\n        <\/div>\n\n\n        <div class=\"trex-field\">\n          <label for=\"trex-email\">\n            Email\n            <span class=\"required\">*<\/span>\n          <\/label>\n\n          <input\n            id=\"trex-email\"\n            type=\"email\"\n            name=\"email\"\n            autocomplete=\"email\"\n            placeholder=\"you@example.com\"\n            required\n          >\n\n        <\/div>\n\n\n        <div class=\"trex-field trex-field-full\">\n          <label for=\"trex-country\">\n            Country\n            <span class=\"required\">*<\/span>\n          <\/label>\n\n          <input\n            id=\"trex-country\"\n            type=\"text\"\n            name=\"country\"\n            autocomplete=\"country-name\"\n            placeholder=\"Your country\"\n            required\n          >\n\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n\n\n    <!-- =====================================================\n         CONNECTION SELECTION\n         ===================================================== -->\n    <div class=\"trex-section\">\n\n      <div class=\"trex-section-heading\">\n        <span class=\"trex-section-number\">2<\/span>\n\n        <div>\n          <strong>Choose Connections<\/strong>\n          <small>Select how many devices you want to use.<\/small>\n        <\/div>\n      <\/div>\n\n\n      <div class=\"trex-current-selection\" id=\"current-selection\">\n        <span class=\"selection-label\">Current selection<\/span>\n\n        <span class=\"selection-value\">\n          <span id=\"current-conn-number\">1<\/span>\n          <span id=\"current-conn-label\">Connection<\/span>\n        <\/span>\n      <\/div>\n\n\n      <!-- ===================================================\n           CONNECTION CARDS\n           =================================================== -->\n      <div\n        class=\"pricing-grid\"\n        id=\"trex-pricing-grid\"\n        data-trex-pricing\n      >\n\n        <button\n          type=\"button\"\n          class=\"pricing-option active\"\n          data-conn=\"1\"\n          data-trex-buy-now=\"false\"\n        >\n          <span class=\"option-top\">\n            <span class=\"option-icon\">\u25a3<\/span>\n          <\/span>\n\n          <span class=\"conn-count\">1 Connection<\/span>\n          <span class=\"price\" data-price-for=\"1\">\u20ac26.99<\/span>\n\n          <span class=\"option-check\">\u2713<\/span>\n        <\/button>\n\n\n        <button\n          type=\"button\"\n          class=\"pricing-option\"\n          data-conn=\"2\"\n          data-trex-buy-now=\"false\"\n        >\n          <span class=\"option-top\">\n            <span class=\"option-icon\">\u25a3<\/span>\n          <\/span>\n\n          <span class=\"conn-count\">2 Connections<\/span>\n          <span class=\"price\" data-price-for=\"2\">\u20ac46.99<\/span>\n\n          <span class=\"option-check\">\u2713<\/span>\n        <\/button>\n\n\n        <button\n          type=\"button\"\n          class=\"pricing-option popular-option\"\n          data-conn=\"3\"\n          data-trex-buy-now=\"false\"\n        >\n          <span class=\"popular-badge\">POPULAR<\/span>\n\n          <span class=\"option-top\">\n            <span class=\"option-icon\">\u25a3<\/span>\n          <\/span>\n\n          <span class=\"conn-count\">3 Connections<\/span>\n          <span class=\"price\" data-price-for=\"3\">\u20ac66.99<\/span>\n\n          <span class=\"option-check\">\u2713<\/span>\n        <\/button>\n\n\n        <button\n          type=\"button\"\n          class=\"pricing-option\"\n          data-conn=\"4\"\n          data-trex-buy-now=\"false\"\n        >\n          <span class=\"option-top\">\n            <span class=\"option-icon\">\u25a3<\/span>\n          <\/span>\n\n          <span class=\"conn-count\">4 Connections<\/span>\n          <span class=\"price\" data-price-for=\"4\">\u20ac86.99<\/span>\n\n          <span class=\"option-check\">\u2713<\/span>\n        <\/button>\n\n      <\/div>\n\n\n      <!-- ===================================================\n           DESKTOP CONNECTION BUTTONS\n           =================================================== -->\n      <div id=\"connection-switcher\">\n\n        <button\n          type=\"button\"\n          class=\"conn-btn active\"\n          data-conn=\"1\"\n        >\n          <span class=\"conn-main\">1 Connection<\/span>\n          <span class=\"conn-price\">\u20ac26.99<\/span>\n        <\/button>\n\n\n        <button\n          type=\"button\"\n          class=\"conn-btn\"\n          data-conn=\"2\"\n        >\n          <span class=\"conn-main\">2 Connections<\/span>\n          <span class=\"conn-price\">\u20ac46.99<\/span>\n        <\/button>\n\n\n        <button\n          type=\"button\"\n          class=\"conn-btn\"\n          data-conn=\"3\"\n        >\n          <span class=\"conn-main\">3 Connections<\/span>\n          <span class=\"conn-price\">\u20ac66.99<\/span>\n          <span class=\"desktop-popular\">POPULAR<\/span>\n        <\/button>\n\n\n        <button\n          type=\"button\"\n          class=\"conn-btn\"\n          data-conn=\"4\"\n        >\n          <span class=\"conn-main\">4 Connections<\/span>\n          <span class=\"conn-price\">\u20ac86.99<\/span>\n        <\/button>\n\n      <\/div>\n\n    <\/div>\n\n\n    <!-- =====================================================\n         COUPON\n         ===================================================== -->\n    <div class=\"trex-section\">\n\n      <div class=\"trex-section-heading\">\n        <span class=\"trex-section-number\">3<\/span>\n\n        <div>\n          <strong>Have a Coupon?<\/strong>\n          <small>Enter your promotional code below.<\/small>\n        <\/div>\n      <\/div>\n\n\n      <div class=\"coupon-box\">\n\n        <div class=\"coupon-input-group\">\n\n          <div class=\"coupon-input-wrap\">\n\n            <span class=\"coupon-icon\">%<\/span>\n\n            <input\n              type=\"text\"\n              name=\"coupon\"\n              id=\"coupon-code\"\n              placeholder=\"Enter coupon code\"\n              autocomplete=\"off\"\n              spellcheck=\"false\"\n            >\n\n          <\/div>\n\n          <button\n            type=\"button\"\n            id=\"apply-coupon-btn\"\n            class=\"apply-coupon-btn\"\n          >\n            Apply\n          <\/button>\n\n        <\/div>\n\n\n        <div\n          id=\"coupon-message\"\n          class=\"coupon-message\"\n          aria-live=\"polite\"\n        ><\/div>\n\n        <div class=\"coupon-note\">\n          <span>\u2713<\/span>\n          SAVE5 is available for this 3-month plan.\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n\n\n    <!-- =====================================================\n         PRICE SUMMARY\n         ===================================================== -->\n    <div id=\"price-summary\" class=\"price-summary\">\n\n      <div class=\"summary-header\">\n        <span>Order Summary<\/span>\n        <span class=\"summary-lock\">\ud83d\udd12<\/span>\n      <\/div>\n\n\n      <div\n        id=\"original-price\"\n        class=\"summary-row\"\n        style=\"display:none;\"\n      >\n        <span>Original Price<\/span>\n        <span id=\"original-price-value\">\u20ac26.99<\/span>\n      <\/div>\n\n\n      <div\n        id=\"discount-amount\"\n        class=\"summary-row discount-row\"\n        style=\"display:none;\"\n      >\n        <span>Discount<\/span>\n        <span id=\"discount-value\">-\u20ac0<\/span>\n      <\/div>\n\n\n      <div class=\"summary-row selected-plan-row\">\n        <span>\n          <span id=\"summary-plan\">3 Months<\/span>\n          \u00b7\n          <span id=\"summary-connections\">1 Connection<\/span>\n        <\/span>\n\n        <span id=\"final-price-amount\" class=\"final-price\">\n          \u20ac26.99\n        <\/span>\n      <\/div>\n\n    <\/div>\n\n\n    <!-- =====================================================\n         ORDER BUTTON\n         ===================================================== -->\n    <button\n      type=\"submit\"\n      id=\"submit-btn\"\n      class=\"submit-btn\"\n      data-trex-buy-now\n    >\n      <span class=\"submit-icon\">\u2192<\/span>\n\n      <span class=\"submit-text\">\n        Order Now\n      <\/span>\n\n      <span class=\"submit-price\" id=\"submit-price\">\n        \u20ac26.99\n      <\/span>\n    <\/button>\n\n\n    <div class=\"secure-note\">\n      <span>\ud83d\udd12<\/span>\n      Your information is securely processed.\n    <\/div>\n\n  <\/form>\n\n<\/div>\n\n\n<style>\n\n\/* =========================================================\n   GLOBAL\n   ========================================================= *\/\n\n#trexiptv-form-wrapper,\n#trexiptv-form-wrapper * {\n  box-sizing: border-box;\n}\n\n\n#trexiptv-form-wrapper {\n  width: 100%;\n  max-width: 760px;\n  margin: 0 auto;\n  font-family: Inter, \"Segoe UI\", Roboto, Arial, sans-serif;\n  color: #1d2433;\n}\n\n\n\/* =========================================================\n   FORM HEADER\n   ========================================================= *\/\n\n.trex-form-header {\n  text-align: center;\n  margin-bottom: 24px;\n}\n\n\n.trex-form-kicker {\n  display: inline-flex;\n  align-items: center;\n  gap: 7px;\n  padding: 7px 13px;\n  margin-bottom: 10px;\n  border-radius: 999px;\n  background: #eef7ff;\n  color: #0073aa;\n  font-size: 12px;\n  font-weight: 800;\n  letter-spacing: .08em;\n}\n\n\n.trex-kicker-dot {\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  background: #20b26b;\n  box-shadow: 0 0 0 4px rgba(32,178,107,.12);\n}\n\n\n#form-title {\n  margin: 0;\n  font-size: clamp(25px, 4vw, 34px);\n  line-height: 1.2;\n  font-weight: 800;\n  letter-spacing: -.02em;\n  color: #111827;\n}\n\n\n.trex-form-subtitle {\n  margin: 10px auto 0;\n  max-width: 620px;\n  color: #6b7280;\n  font-size: 14px;\n  line-height: 1.6;\n}\n\n\n.trex-trust-row {\n  display: flex;\n  justify-content: center;\n  flex-wrap: wrap;\n  gap: 8px 16px;\n  margin-top: 14px;\n  font-size: 12px;\n  color: #4b5563;\n  font-weight: 600;\n}\n\n\n\/* =========================================================\n   RESPONSE BANNER\n   ========================================================= *\/\n\n.trex-response {\n  position: relative;\n  display: none;\n  align-items: center;\n  gap: 14px;\n  margin-bottom: 20px;\n  padding: 16px 48px 16px 16px;\n  border-radius: 14px;\n  overflow: hidden;\n  animation: trexResponseIn .35s ease;\n}\n\n\n.trex-response.show {\n  display: flex;\n}\n\n\n.trex-response.success {\n  background: linear-gradient(135deg, #e9fff2, #f7fffa);\n  border: 1px solid #9ce8bb;\n  color: #17643a;\n  box-shadow: 0 8px 25px rgba(23,100,58,.08);\n}\n\n\n.trex-response.error {\n  background: linear-gradient(135deg, #fff0f0, #fff9f9);\n  border: 1px solid #f2aaaa;\n  color: #9a2323;\n  box-shadow: 0 8px 25px rgba(154,35,35,.08);\n}\n\n\n.trex-response::after {\n  content: \"\";\n  position: absolute;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  height: 3px;\n  opacity: .65;\n  background: currentColor;\n}\n\n\n.trex-response-icon {\n  flex: 0 0 42px;\n  width: 42px;\n  height: 42px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 50%;\n  background: currentColor;\n  color: #fff;\n  font-size: 21px;\n  font-weight: 800;\n}\n\n\n.trex-response-title {\n  font-size: 16px;\n  font-weight: 800;\n  margin-bottom: 3px;\n}\n\n\n.trex-response-text {\n  font-size: 13px;\n  line-height: 1.5;\n  opacity: .9;\n}\n\n\n.trex-response-close {\n  position: absolute;\n  right: 13px;\n  top: 10px;\n  width: 28px;\n  height: 28px;\n  border: 0;\n  background: transparent;\n  color: currentColor;\n  font-size: 25px;\n  line-height: 1;\n  cursor: pointer;\n  opacity: .65;\n}\n\n\n.trex-response-close:hover {\n  opacity: 1;\n}\n\n\n@keyframes trexResponseIn {\n  from {\n    opacity: 0;\n    transform: translateY(-10px);\n  }\n\n  to {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n\n\/* =========================================================\n   FORM\n   ========================================================= *\/\n\n#trexiptv-form {\n  background: #fff;\n  padding: 28px;\n  border-radius: 18px;\n  border: 1px solid #e5e7eb;\n  box-shadow:\n    0 18px 50px rgba(15,23,42,.08),\n    0 2px 8px rgba(15,23,42,.03);\n}\n\n\n.trex-section {\n  margin-bottom: 26px;\n}\n\n\n.trex-section:last-of-type {\n  margin-bottom: 20px;\n}\n\n\n.trex-section-heading {\n  display: flex;\n  align-items: center;\n  gap: 11px;\n  margin-bottom: 16px;\n}\n\n\n.trex-section-number {\n  display: flex;\n  flex: 0 0 31px;\n  width: 31px;\n  height: 31px;\n  align-items: center;\n  justify-content: center;\n  border-radius: 50%;\n  background: #0073aa;\n  color: #fff;\n  font-size: 13px;\n  font-weight: 800;\n}\n\n\n.trex-section-heading strong {\n  display: block;\n  color: #111827;\n  font-size: 16px;\n}\n\n\n.trex-section-heading small {\n  display: block;\n  margin-top: 2px;\n  color: #8a94a6;\n  font-size: 12px;\n}\n\n\n\/* =========================================================\n   INPUTS\n   ========================================================= *\/\n\n.trex-fields-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 16px;\n}\n\n\n.trex-field-full {\n  grid-column: 1 \/ -1;\n}\n\n\n.trex-field label {\n  display: block;\n  margin-bottom: 7px;\n  color: #2f3747;\n  font-size: 13px;\n  font-weight: 700;\n}\n\n\n.required {\n  color: #dc3545;\n}\n\n\n.trex-field input {\n  width: 100%;\n  height: 49px;\n  padding: 0 14px;\n  border: 1px solid #d9dee7;\n  border-radius: 10px;\n  background: #fff;\n  color: #1f2937;\n  outline: none;\n  font-size: 14px;\n  transition:\n    border-color .2s,\n    box-shadow .2s,\n    background .2s;\n}\n\n\n.trex-field input::placeholder {\n  color: #a0a8b7;\n}\n\n\n.trex-field input:hover {\n  border-color: #bfc7d4;\n}\n\n\n.trex-field input:focus {\n  border-color: #0073aa;\n  box-shadow: 0 0 0 4px rgba(0,115,170,.10);\n  background: #fff;\n}\n\n\n\/* =========================================================\n   CURRENT SELECTION\n   ========================================================= *\/\n\n.trex-current-selection {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 15px;\n  margin-bottom: 13px;\n  padding: 11px 14px;\n  border-radius: 10px;\n  background: #f6f9fc;\n  border: 1px solid #e4edf5;\n}\n\n\n.selection-label {\n  color: #687386;\n  font-size: 13px;\n}\n\n\n.selection-value {\n  color: #0073aa;\n  font-size: 14px;\n  font-weight: 800;\n}\n\n\n\/* =========================================================\n   MOBILE PRICING CARDS\n   ========================================================= *\/\n\n.pricing-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 12px;\n}\n\n\n.pricing-option {\n  position: relative;\n  appearance: none;\n  border: 2px solid #dbe3ea;\n  border-radius: 14px;\n  padding: 16px 12px;\n  background: #fff;\n  color: #273244;\n  cursor: pointer;\n  text-align: center;\n  transition:\n    transform .18s ease,\n    border-color .18s ease,\n    background .18s ease,\n    box-shadow .18s ease;\n}\n\n\n.pricing-option:hover {\n  transform: translateY(-2px);\n  border-color: #74b4d4;\n  box-shadow: 0 10px 25px rgba(0,115,170,.10);\n}\n\n\n.pricing-option.active {\n  border-color: #0073aa;\n  background: linear-gradient(145deg, #0073aa, #00618f);\n  color: #fff;\n  box-shadow: 0 10px 26px rgba(0,115,170,.23);\n}\n\n\n.option-top {\n  display: flex;\n  justify-content: center;\n  margin-bottom: 6px;\n}\n\n\n.option-icon {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 32px;\n  height: 32px;\n  border-radius: 9px;\n  background: #eef7ff;\n  color: #0073aa;\n  font-size: 14px;\n}\n\n\n.pricing-option.active .option-icon {\n  background: rgba(255,255,255,.16);\n  color: #fff;\n}\n\n\n.conn-count {\n  display: block;\n  font-size: 13px;\n  font-weight: 700;\n}\n\n\n.price {\n  display: block;\n  margin-top: 6px;\n  font-size: 23px;\n  font-weight: 900;\n  letter-spacing: -.02em;\n}\n\n\n.option-check {\n  position: absolute;\n  top: 9px;\n  right: 9px;\n  width: 21px;\n  height: 21px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 50%;\n  background: rgba(255,255,255,.22);\n  color: #fff;\n  font-size: 12px;\n  font-weight: 900;\n  opacity: 0;\n  transform: scale(.75);\n  transition: .18s;\n}\n\n\n.pricing-option.active .option-check {\n  opacity: 1;\n  transform: scale(1);\n}\n\n\n.popular-badge {\n  position: absolute;\n  top: -9px;\n  right: 10px;\n  padding: 4px 8px;\n  border-radius: 999px;\n  background: #ffd54a;\n  color: #222;\n  font-size: 9px;\n  font-weight: 900;\n  letter-spacing: .05em;\n  box-shadow: 0 3px 8px rgba(0,0,0,.10);\n}\n\n\n\/* =========================================================\n   DESKTOP CONNECTION SWITCHER\n   ========================================================= *\/\n\n#connection-switcher {\n  display: none;\n  grid-template-columns: repeat(4, minmax(0, 1fr));\n  gap: 9px;\n}\n\n\n.conn-btn {\n  position: relative;\n  appearance: none;\n  min-height: 56px;\n  padding: 9px 10px;\n  border: 2px solid #dbe3ea;\n  border-radius: 11px;\n  background: #fff;\n  color: #334155;\n  cursor: pointer;\n  text-align: center;\n  transition:\n    border-color .18s,\n    background .18s,\n    transform .18s,\n    box-shadow .18s;\n}\n\n\n.conn-btn:hover {\n  border-color: #74b4d4;\n  transform: translateY(-1px);\n}\n\n\n.conn-btn.active {\n  background: #0073aa;\n  color: #fff;\n  border-color: #0073aa;\n  box-shadow: 0 8px 20px rgba(0,115,170,.20);\n}\n\n\n.conn-main {\n  display: block;\n  font-size: 13px;\n  font-weight: 800;\n}\n\n\n.conn-price {\n  display: block;\n  margin-top: 3px;\n  font-size: 12px;\n  font-weight: 700;\n  opacity: .82;\n}\n\n\n.desktop-popular {\n  position: absolute;\n  top: -8px;\n  right: 7px;\n  padding: 3px 6px;\n  border-radius: 999px;\n  background: #ffd54a;\n  color: #222;\n  font-size: 8px;\n  font-weight: 900;\n}\n\n\n\/* =========================================================\n   COUPON\n   ========================================================= *\/\n\n.coupon-box {\n  padding: 15px;\n  border: 1px solid #e4eaf0;\n  border-radius: 13px;\n  background: #f9fbfd;\n}\n\n\n.coupon-input-group {\n  display: flex;\n  gap: 9px;\n}\n\n\n.coupon-input-wrap {\n  position: relative;\n  flex: 1;\n}\n\n\n.coupon-icon {\n  position: absolute;\n  left: 13px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 22px;\n  height: 22px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 6px;\n  background: #e9f7ef;\n  color: #198754;\n  font-size: 12px;\n  font-weight: 900;\n}\n\n\n#coupon-code {\n  width: 100%;\n  height: 46px;\n  padding: 0 14px 0 43px;\n  border: 1px solid #d3dce6;\n  border-radius: 10px;\n  background: #fff;\n  outline: none;\n  font-size: 13px;\n  text-transform: uppercase;\n  transition: .2s;\n}\n\n\n#coupon-code:focus {\n  border-color: #0073aa;\n  box-shadow: 0 0 0 4px rgba(0,115,170,.08);\n}\n\n\n.apply-coupon-btn {\n  min-width: 100px;\n  height: 46px;\n  border: 0;\n  border-radius: 10px;\n  background: #198754;\n  color: #fff;\n  font-size: 13px;\n  font-weight: 800;\n  cursor: pointer;\n  transition: .2s;\n}\n\n\n.apply-coupon-btn:hover {\n  filter: brightness(.95);\n  transform: translateY(-1px);\n}\n\n\n.apply-coupon-btn.applied {\n  background: #157347;\n}\n\n\n.apply-coupon-btn.remove-mode {\n  background: #6c757d;\n}\n\n\n.coupon-message {\n  min-height: 20px;\n  margin-top: 7px;\n  font-size: 12px;\n  font-weight: 700;\n}\n\n\n.coupon-message.success {\n  color: #198754;\n}\n\n\n.coupon-message.error {\n  color: #dc3545;\n}\n\n\n.coupon-note {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  margin: 3px 0 0;\n  color: #7a8493;\n  font-size: 11px;\n}\n\n\n\/* =========================================================\n   PRICE SUMMARY\n   ========================================================= *\/\n\n.price-summary {\n  margin-top: 4px;\n  padding: 17px;\n  border: 1px solid #e2e8ef;\n  border-radius: 14px;\n  background: linear-gradient(145deg, #f8fafc, #fff);\n}\n\n\n.summary-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding-bottom: 10px;\n  margin-bottom: 3px;\n  border-bottom: 1px solid #e9edf2;\n  color: #3a4352;\n  font-size: 13px;\n  font-weight: 800;\n}\n\n\n.summary-lock {\n  font-size: 12px;\n}\n\n\n.summary-row {\n  display: flex;\n  justify-content: space-between;\n  gap: 15px;\n  padding: 7px 0;\n  color: #667085;\n  font-size: 13px;\n}\n\n\n.summary-row > span:last-child {\n  font-weight: 700;\n  color: #374151;\n}\n\n\n.discount-row > span:last-child {\n  color: #198754;\n}\n\n\n.selected-plan-row {\n  margin-top: 5px;\n  padding-top: 12px;\n  border-top: 1px dashed #dfe5ec;\n  color: #293241;\n  font-weight: 800;\n}\n\n\n.selected-plan-row > span:last-child {\n  color: #0073aa;\n}\n\n\n.final-price {\n  font-size: 22px !important;\n  font-weight: 900 !important;\n}\n\n\n\/* =========================================================\n   SUBMIT BUTTON\n   ========================================================= *\/\n\n.submit-btn {\n  position: relative;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 10px;\n  width: 100%;\n  min-height: 56px;\n  margin-top: 18px;\n  padding: 12px 18px;\n  border: 0;\n  border-radius: 12px;\n  background: linear-gradient(135deg, #0073aa, #005d89);\n  color: #fff;\n  font-size: 16px;\n  font-weight: 900;\n  cursor: pointer;\n  box-shadow: 0 12px 26px rgba(0,115,170,.20);\n  transition:\n    transform .18s,\n    box-shadow .18s,\n    opacity .18s;\n}\n\n\n.submit-btn:hover:not(:disabled) {\n  transform: translateY(-2px);\n  box-shadow: 0 16px 30px rgba(0,115,170,.25);\n}\n\n\n.submit-btn:active:not(:disabled) {\n  transform: translateY(0);\n}\n\n\n.submit-btn:disabled {\n  cursor: wait;\n  opacity: .72;\n}\n\n\n.submit-icon {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 24px;\n  height: 24px;\n  border-radius: 50%;\n  background: rgba(255,255,255,.16);\n  font-size: 15px;\n}\n\n\n.submit-price {\n  padding-left: 4px;\n  font-size: 15px;\n  opacity: .88;\n}\n\n\n.secure-note {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 6px;\n  margin-top: 10px;\n  color: #8993a3;\n  font-size: 11px;\n}\n\n\n\/* =========================================================\n   LOADING ANIMATION\n   ========================================================= *\/\n\n.trex-loading-dots {\n  display: inline-flex;\n  gap: 3px;\n}\n\n\n.trex-loading-dots span {\n  width: 5px;\n  height: 5px;\n  border-radius: 50%;\n  background: currentColor;\n  animation: trexDot 1s infinite ease-in-out;\n}\n\n\n.trex-loading-dots span:nth-child(2) {\n  animation-delay: .15s;\n}\n\n\n.trex-loading-dots span:nth-child(3) {\n  animation-delay: .30s;\n}\n\n\n@keyframes trexDot {\n  0%, 60%, 100% {\n    opacity: .35;\n    transform: translateY(0);\n  }\n\n  30% {\n    opacity: 1;\n    transform: translateY(-3px);\n  }\n}\n\n\n\/* =========================================================\n   RESPONSIVE\n   ========================================================= *\/\n\n@media (max-width: 767px) {\n\n  #trexiptv-form {\n    padding: 19px;\n    border-radius: 15px;\n  }\n\n\n  .trex-form-trust-row {\n    gap: 5px 10px;\n  }\n\n\n  .trex-fields-grid {\n    grid-template-columns: 1fr;\n  }\n\n\n  .trex-field-full {\n    grid-column: auto;\n  }\n\n\n  .coupon-input-group {\n    flex-direction: column;\n  }\n\n\n  .apply-coupon-btn {\n    width: 100%;\n  }\n\n}\n\n\n@media (min-width: 768px) {\n\n  .pricing-grid {\n    display: none;\n  }\n\n\n  #connection-switcher {\n    display: grid;\n  }\n\n}\n\n\n@media (max-width: 420px) {\n\n  #trexiptv-form {\n    padding: 16px;\n  }\n\n\n  #form-title {\n    font-size: 24px;\n  }\n\n\n  .trex-response {\n    align-items: flex-start;\n    padding: 14px 40px 14px 13px;\n  }\n\n\n  .trex-response-icon {\n    flex-basis: 36px;\n    width: 36px;\n    height: 36px;\n    font-size: 18px;\n  }\n\n\n  .trex-current-selection {\n    align-items: flex-start;\n    flex-direction: column;\n  }\n\n\n  .final-price {\n    font-size: 20px !important;\n  }\n\n}\n\n<\/style>\n\n\n<script>\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n\n  \/* =======================================================\n     CONFIGURATION\n     ======================================================= *\/\n\n  const CONFIG = {\n    plan: \"3 Months Subscription\",\n\n    prices: {\n      1: 26.99,\n      2: 46.99,\n      3: 66.99,\n      4: 86.99\n    },\n\n    coupons: {\n      \"SAVE5\": {\n        discount: 5\n      }\n    },\n\n    defaultConn: 1,\n    defaultRefcode: \"5\"\n  };\n\n\n  \/* =======================================================\n     ELEMENTS\n     ======================================================= *\/\n\n  const wrapper = document.getElementById(\"trexiptv-form-wrapper\");\n  const form = document.getElementById(\"trexiptv-form\");\n\n  if (!wrapper || !form) {\n    return;\n  }\n\n\n  const submitBtn = document.getElementById(\"submit-btn\");\n  const submitText = submitBtn.querySelector(\".submit-text\");\n  const submitPrice = document.getElementById(\"submit-price\");\n\n  const responseEl = document.getElementById(\"form-response\");\n  const responseIcon = document.getElementById(\"response-icon\");\n  const responseTitle = document.getElementById(\"response-title\");\n  const responseText = document.getElementById(\"response-text\");\n  const responseClose = document.getElementById(\"response-close\");\n\n  const planInput = document.getElementById(\"trex-plan\");\n  const refInput = document.getElementById(\"trex-refcode\");\n  const connInput = document.getElementById(\"conn-count\");\n  const finalPriceInput = document.getElementById(\"final-price-value\");\n\n  const formTitle = document.getElementById(\"form-title\");\n\n  const currentConnNumber = document.getElementById(\"current-conn-number\");\n  const currentConnLabel = document.getElementById(\"current-conn-label\");\n\n  const summaryPlan = document.getElementById(\"summary-plan\");\n  const summaryConnections = document.getElementById(\"summary-connections\");\n\n  const finalPriceDisplay = document.getElementById(\"final-price-amount\");\n\n  const originalPriceEl = document.getElementById(\"original-price\");\n  const originalPriceValue = document.getElementById(\"original-price-value\");\n\n  const discountEl = document.getElementById(\"discount-amount\");\n  const discountValue = document.getElementById(\"discount-value\");\n\n  const couponInput = document.getElementById(\"coupon-code\");\n  const couponMessage = document.getElementById(\"coupon-message\");\n  const applyBtn = document.getElementById(\"apply-coupon-btn\");\n\n  const connButtons = document.querySelectorAll(\".conn-btn\");\n  const pricingOptions = document.querySelectorAll(\".pricing-option\");\n\n\n  \/* =======================================================\n     STATE\n     ======================================================= *\/\n\n  let currentConn = CONFIG.defaultConn;\n  let currentCoupon = \"\";\n  let couponApplied = false;\n  let couponData = null;\n\n  let submitting = false;\n\n\n  \/* =======================================================\n     HELPERS\n     ======================================================= *\/\n\n  function money(value) {\n    return \"\u20ac\" + Number(value).toFixed(2);\n  }\n\n\n  function connectionLabel(conn) {\n    return Number(conn) === 1\n      ? \"Connection\"\n      : \"Connections\";\n  }\n\n\n  function planShortName(plan) {\n\n    return plan\n      .replace(\/subscription\/gi, \"\")\n      .replace(\/\\s+\/g, \" \")\n      .trim();\n\n  }\n\n\n  function showResponse(type, title, message) {\n\n    responseEl.classList.remove(\"success\", \"error\");\n\n    responseEl.classList.add(type, \"show\");\n\n    if (type === \"success\") {\n      responseIcon.textContent = \"\u2713\";\n    } else {\n      responseIcon.textContent = \"!\";\n    }\n\n    responseTitle.textContent = title;\n    responseText.textContent = message;\n\n    \/*\n     * Make absolutely sure the message is visible at the top\n     * of the form, especially on mobile.\n     *\/\n    setTimeout(function () {\n      wrapper.scrollIntoView({\n        behavior: \"smooth\",\n        block: \"start\"\n      });\n    }, 50);\n\n  }\n\n\n  function hideResponse() {\n\n    responseEl.classList.remove(\"show\");\n    responseEl.style.display = \"none\";\n\n    setTimeout(function () {\n      responseEl.style.display = \"\";\n    }, 10);\n\n  }\n\n\n  responseClose.addEventListener(\"click\", hideResponse);\n\n\n  \/* =======================================================\n     URL PARAMETERS\n     ======================================================= *\/\n\n  const urlParams = new URLSearchParams(window.location.search);\n\n\n  \/*\n   * ?conn=2\n   *\/\n\n  if (urlParams.has(\"conn\")) {\n\n    const requestedConn = parseInt(\n      urlParams.get(\"conn\"),\n      10\n    );\n\n    if (\n      Number.isInteger(requestedConn) &&\n      CONFIG.prices[requestedConn]\n    ) {\n      currentConn = requestedConn;\n    }\n\n  }\n\n\n  \/*\n   * ?coupon=SAVE5\n   *\/\n\n  if (urlParams.has(\"coupon\")) {\n\n    const requestedCoupon = (\n      urlParams.get(\"coupon\") || \"\"\n    ).trim().toUpperCase();\n\n    if (requestedCoupon) {\n\n      couponInput.value = requestedCoupon;\n\n    }\n\n  }\n\n\n  \/*\n   * ?ref=27\n   *\n   * Existing refcode logic preserved.\n   *\/\n\n  if (urlParams.has(\"ref\")) {\n\n    const requestedRef = (\n      urlParams.get(\"ref\") || \"\"\n    ).trim();\n\n    if (requestedRef) {\n      refInput.value = requestedRef;\n    }\n\n  } else {\n\n    refInput.value = CONFIG.defaultRefcode;\n\n  }\n\n\n  planInput.value = CONFIG.plan;\n\n\n  \/* =======================================================\n     PRICE CALCULATION\n     ======================================================= *\/\n\n  function getBasePrice() {\n\n    return Number(\n      CONFIG.prices[currentConn] || 0\n    );\n\n  }\n\n\n  function getFinalPrice() {\n\n    const basePrice = getBasePrice();\n\n    if (\n      couponApplied &&\n      couponData &&\n      Number(couponData.discount) > 0\n    ) {\n      return Math.max(\n        0,\n        basePrice - Number(couponData.discount)\n      );\n    }\n\n    return basePrice;\n\n  }\n\n\n  function updatePrices() {\n\n    const basePrice = getBasePrice();\n    const finalPrice = getFinalPrice();\n    const discount = basePrice - finalPrice;\n\n\n    \/*\n     * IMPORTANT:\n     *\n     * final_price is only sent as a convenience value.\n     * The PHP must calculate the final amount itself.\n     *\/\n\n    finalPriceInput.value = finalPrice.toFixed(2);\n\n\n    \/*\n     * Main total\n     *\/\n\n    finalPriceDisplay.textContent = money(finalPrice);\n\n    submitPrice.textContent = money(finalPrice);\n\n\n    \/*\n     * Summary\n     *\/\n\n    summaryPlan.textContent = planShortName(CONFIG.plan);\n\n    summaryConnections.textContent =\n      currentConn + \" \" + connectionLabel(currentConn);\n\n\n    \/*\n     * Original \/ discount rows\n     *\/\n\n    if (discount > 0) {\n\n      originalPriceEl.style.display = \"flex\";\n\n      discountEl.style.display = \"flex\";\n\n      originalPriceValue.textContent =\n        money(basePrice);\n\n      discountValue.textContent =\n        \"-\" + money(discount);\n\n    } else {\n\n      originalPriceEl.style.display = \"none\";\n\n      discountEl.style.display = \"none\";\n\n    }\n\n\n    \/*\n     * Update all pricing cards\n     *\/\n\n    pricingOptions.forEach(function (option) {\n\n      const conn = parseInt(\n        option.dataset.conn,\n        10\n      );\n\n      const priceElement =\n        option.querySelector(\".price\");\n\n      if (!priceElement) {\n        return;\n      }\n\n      let price = CONFIG.prices[conn];\n\n      if (\n        couponApplied &&\n        couponData\n      ) {\n        price = Math.max(\n          0,\n          price - Number(couponData.discount)\n        );\n      }\n\n      priceElement.textContent =\n        money(price);\n\n    });\n\n\n    \/*\n     * Desktop buttons\n     *\/\n\n    connButtons.forEach(function (button) {\n\n      const conn = parseInt(\n        button.dataset.conn,\n        10\n      );\n\n      const priceElement =\n        button.querySelector(\".conn-price\");\n\n      if (!priceElement) {\n        return;\n      }\n\n      let price = CONFIG.prices[conn];\n\n      if (\n        couponApplied &&\n        couponData\n      ) {\n        price = Math.max(\n          0,\n          price - Number(couponData.discount)\n        );\n      }\n\n      priceElement.textContent =\n        money(price);\n\n    });\n\n  }\n\n\n  \/* =======================================================\n     CONNECTION SELECTION\n     ======================================================= *\/\n\n  function updateSelection() {\n\n    currentConnNumber.textContent =\n      currentConn;\n\n    currentConnLabel.textContent =\n      connectionLabel(currentConn);\n\n\n    formTitle.textContent =\n      \"3 Months Subscription \u2013 \" +\n      currentConn +\n      \" \" +\n      connectionLabel(currentConn);\n\n\n    connInput.value =\n      currentConn;\n\n\n    pricingOptions.forEach(function (option) {\n\n      const conn =\n        parseInt(option.dataset.conn, 10);\n\n      option.classList.toggle(\n        \"active\",\n        conn === currentConn\n      );\n\n      option.setAttribute(\n        \"aria-pressed\",\n        conn === currentConn\n          ? \"true\"\n          : \"false\"\n      );\n\n    });\n\n\n    connButtons.forEach(function (button) {\n\n      const conn =\n        parseInt(button.dataset.conn, 10);\n\n      button.classList.toggle(\n        \"active\",\n        conn === currentConn\n      );\n\n      button.setAttribute(\n        \"aria-pressed\",\n        conn === currentConn\n          ? \"true\"\n          : \"false\"\n      );\n\n    });\n\n\n    updatePrices();\n\n\n    \/*\n     * Preserve compatibility with your other\n     * pricing-card scripts.\n     *\/\n\n    document.dispatchEvent(\n      new CustomEvent(\n        \"connectionChanged\",\n        {\n          detail: {\n            conn: currentConn,\n            coupon: currentCoupon || \"\"\n          }\n        }\n      )\n    );\n\n  }\n\n\n  pricingOptions.forEach(function (option) {\n\n    option.addEventListener(\n      \"click\",\n      function () {\n\n        if (submitting) {\n          return;\n        }\n\n        const conn =\n          parseInt(option.dataset.conn, 10);\n\n        if (\n          !Number.isInteger(conn) ||\n          !CONFIG.prices[conn]\n        ) {\n          return;\n        }\n\n        currentConn = conn;\n\n        updateSelection();\n\n      }\n    );\n\n  });\n\n\n  connButtons.forEach(function (button) {\n\n    button.addEventListener(\n      \"click\",\n      function () {\n\n        if (submitting) {\n          return;\n        }\n\n        const conn =\n          parseInt(button.dataset.conn, 10);\n\n        if (\n          !Number.isInteger(conn) ||\n          !CONFIG.prices[conn]\n        ) {\n          return;\n        }\n\n        currentConn = conn;\n\n        updateSelection();\n\n      }\n    );\n\n  });\n\n\n  \/* =======================================================\n     COUPON\n     ======================================================= *\/\n\n  function resetCoupon() {\n\n    currentCoupon = \"\";\n\n    couponApplied = false;\n\n    couponData = null;\n\n    couponInput.readOnly = false;\n\n    couponInput.value = \"\";\n\n    applyBtn.disabled = false;\n\n    applyBtn.classList.remove(\n      \"applied\",\n      \"remove-mode\"\n    );\n\n    applyBtn.textContent =\n      \"Apply\";\n\n    couponMessage.textContent =\n      \"\";\n\n    couponMessage.className =\n      \"coupon-message\";\n\n    updatePrices();\n\n  }\n\n\n  function applyCoupon() {\n\n    if (submitting) {\n      return;\n    }\n\n\n    \/*\n     * If already applied, clicking again removes it.\n     *\/\n\n    if (couponApplied) {\n\n      resetCoupon();\n\n      couponInput.focus();\n\n      return;\n\n    }\n\n\n    const code =\n      couponInput.value\n        .trim()\n        .toUpperCase();\n\n\n    if (!code) {\n\n      couponMessage.textContent =\n        \"Please enter a coupon code.\";\n\n      couponMessage.className =\n        \"coupon-message error\";\n\n      return;\n\n    }\n\n\n    if (!CONFIG.coupons[code]) {\n\n      couponMessage.textContent =\n        \"This coupon code is not valid for this plan.\";\n\n      couponMessage.className =\n        \"coupon-message error\";\n\n      return;\n\n    }\n\n\n    currentCoupon =\n      code;\n\n    couponApplied =\n      true;\n\n    couponData =\n      CONFIG.coupons[code];\n\n\n    couponInput.value =\n      code;\n\n    couponInput.readOnly =\n      true;\n\n\n    applyBtn.classList.add(\n      \"applied\",\n      \"remove-mode\"\n    );\n\n    applyBtn.textContent =\n      \"Remove\";\n\n\n    couponMessage.textContent =\n      \"\u2713 Coupon applied successfully.\";\n\n    couponMessage.className =\n      \"coupon-message success\";\n\n\n    updateSelection();\n\n  }\n\n\n  applyBtn.addEventListener(\n    \"click\",\n    applyCoupon\n  );\n\n\n  couponInput.addEventListener(\n    \"keydown\",\n    function (event) {\n\n      if (\n        event.key === \"Enter\"\n      ) {\n\n        event.preventDefault();\n\n        applyCoupon();\n\n      }\n\n    }\n  );\n\n\n  \/*\n   * Automatically apply ?coupon=SAVE5\n   *\/\n\n  if (\n    couponInput.value &&\n    CONFIG.coupons[\n      couponInput.value.toUpperCase()\n    ]\n  ) {\n\n    setTimeout(\n      function () {\n        applyCoupon();\n      },\n      120\n    );\n\n  }\n\n\n  \/* =======================================================\n     SUBMIT\n     ======================================================= *\/\n\n  form.addEventListener(\n    \"submit\",\n    function (event) {\n\n      event.preventDefault();\n\n\n      \/*\n       * Strong client-side double-submit protection.\n       *\/\n\n      if (submitting) {\n        return;\n      }\n\n\n      \/*\n       * Basic browser validation.\n       *\/\n\n      if (!form.checkValidity()) {\n\n        form.reportValidity();\n\n        showResponse(\n          \"error\",\n          \"Please check your information\",\n          \"Make sure all required fields are completed correctly.\"\n        );\n\n        return;\n\n      }\n\n\n      submitting = true;\n\n      submitBtn.disabled = true;\n\n\n      \/*\n       * Loading state.\n       *\/\n\n      submitText.textContent =\n        \"Processing\";\n\n      submitPrice.innerHTML =\n        '<span class=\"trex-loading-dots\">' +\n          '<span><\/span>' +\n          '<span><\/span>' +\n          '<span><\/span>' +\n        '<\/span>';\n\n\n      hideResponse();\n\n\n      \/*\n       * Build form data.\n       *\n       * The browser price is NOT trusted by PHP.\n       *\/\n\n      const formData =\n        new FormData(form);\n\n\n      formData.set(\n        \"plan\",\n        CONFIG.plan\n      );\n\n\n      formData.set(\n        \"conn\",\n        String(currentConn)\n      );\n\n\n      formData.set(\n        \"coupon\",\n        currentCoupon\n      );\n\n\n      const params =\n        new URLSearchParams();\n\n\n      formData.forEach(\n        function (value, key) {\n\n          params.append(\n            key,\n            value\n          );\n\n        }\n      );\n\n\n      \/*\n       * Always use the WordPress AJAX endpoint.\n       *\/\n\n      fetch(\n        \"\/wp-admin\/admin-ajax.php\",\n        {\n          method: \"POST\",\n\n          headers: {\n            \"Content-Type\":\n              \"application\/x-www-form-urlencoded; charset=UTF-8\"\n          },\n\n          body:\n            params.toString(),\n\n          credentials:\n            \"same-origin\"\n        }\n      )\n\n      .then(\n        function (response) {\n\n          if (!response.ok) {\n\n            throw new Error(\n              \"Server returned HTTP \" +\n              response.status\n            );\n\n          }\n\n          return response.json();\n\n        }\n      )\n\n      .then(\n        function (data) {\n\n          if (\n            data &&\n            data.success\n          ) {\n\n            \/*\n             * SUCCESS\n             *\/\n\n            showResponse(\n              \"success\",\n              \"Order received successfully!\",\n              \"Your confirmation email has been sent. Please check your Inbox and Spam\/Junk folder.\"\n            );\n\n\n            \/*\n             * Reset customer fields.\n             *\/\n\n            form.reset();\n\n\n            \/*\n             * Restore our required hidden values.\n             *\/\n\n            planInput.value =\n              CONFIG.plan;\n\n            refInput.value =\n              urlParams.has(\"ref\")\n                ? (\n                    urlParams.get(\"ref\") || \"\"\n                  ).trim() ||\n                  CONFIG.defaultRefcode\n                : CONFIG.defaultRefcode;\n\n\n            currentConn =\n              CONFIG.defaultConn;\n\n\n            currentCoupon =\n              \"\";\n\n            couponApplied =\n              false;\n\n            couponData =\n              null;\n\n\n            couponInput.readOnly =\n              false;\n\n            couponInput.value =\n              \"\";\n\n            couponMessage.textContent =\n              \"\";\n\n            couponMessage.className =\n              \"coupon-message\";\n\n\n            applyBtn.disabled =\n              false;\n\n            applyBtn.classList.remove(\n              \"applied\",\n              \"remove-mode\"\n            );\n\n            applyBtn.textContent =\n              \"Apply\";\n\n\n            updateSelection();\n\n\n          } else {\n\n            \/*\n             * SERVER-SIDE ERROR\n             *\/\n\n            const message =\n              (\n                data &&\n                data.message\n              )\n                ? data.message\n                : \"We could not process your order. Please try again.\";\n\n\n            showResponse(\n              \"error\",\n              \"Order could not be completed\",\n              message\n            );\n\n          }\n\n        }\n      )\n\n      .catch(\n        function (error) {\n\n          console.error(\n            \"Trex order error:\",\n            error\n          );\n\n\n          showResponse(\n            \"error\",\n            \"Something went wrong\",\n            \"We could not complete your request right now. Please try again.\"\n          );\n\n        }\n      )\n\n      .finally(\n        function () {\n\n          submitting =\n            false;\n\n\n          submitBtn.disabled =\n            false;\n\n\n          submitText.textContent =\n            \"Order Now\";\n\n\n          submitPrice.textContent =\n            money(\n              getFinalPrice()\n            );\n\n        }\n      );\n\n    }\n  );\n\n\n  \/* =======================================================\n     INITIALIZE\n     ======================================================= *\/\n\n  updateSelection();\n\n});\n\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-1dcac49 e-flex e-con-boxed e-con e-parent\" data-id=\"1dcac49\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6e2d8c3 elementor-widget elementor-widget-image\" data-id=\"6e2d8c3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"340\" height=\"148\" src=\"https:\/\/trexiptv-8k.com\/wp-content\/uploads\/2025\/06\/trust-pilot-orders.png\" class=\"attachment-large size-large wp-image-5601\" alt=\"trust-pilot-orders\" srcset=\"https:\/\/trexiptv-8k.com\/wp-content\/uploads\/2025\/06\/trust-pilot-orders.png 340w, https:\/\/trexiptv-8k.com\/wp-content\/uploads\/2025\/06\/trust-pilot-orders-300x131.png 300w, https:\/\/trexiptv-8k.com\/wp-content\/uploads\/2025\/06\/trust-pilot-orders-18x8.png 18w\" sizes=\"(max-width: 340px) 100vw, 340px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3ba6078 e-flex e-con-boxed e-con e-parent\" data-id=\"3ba6078\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7db2a02 elementor-widget elementor-widget-heading\" data-id=\"7db2a02\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How It Works<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7a255be e-flex e-con-boxed e-con e-parent\" data-id=\"7a255be\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-ccf134a e-grid e-con-full e-con e-child\" data-id=\"ccf134a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0598ba5 elementor-widget elementor-widget-html\" data-id=\"0598ba5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"text-align: center; padding: 30px;\">\r\n  <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: #2955FF; color: white; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold; margin: 0 auto 15px;\">\r\n    01\r\n  <\/div>\r\n  <h3 style=\"font-size: 20px; font-weight: 700; margin-bottom: 10px;\">Subscribe<\/h3>\r\n  <p style=\"font-size: 14px; color: #666;\">Choose any of our subscription plans \u2013 includes a 24-hour free trial to test the service before committing.<\/p>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7913956 elementor-widget elementor-widget-html\" data-id=\"7913956\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"text-align: center; padding: 30px;\">\r\n  <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: #2955FF; color: white; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold; margin: 0 auto 15px;\">\r\n    02\r\n  <\/div>\r\n  <h3 style=\"font-size: 20px; font-weight: 700; margin-bottom: 10px;\">Install<\/h3>\r\n  <p style=\"font-size: 14px; color: #666;\">Download your preferred IPTV app or contact our support team. We'll help you get everything set up step by step \u2013 for free.<\/p>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-db6b2b4 elementor-widget elementor-widget-html\" data-id=\"db6b2b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"text-align: center; padding: 30px;\">\r\n  <div style=\"width: 60px; height: 60px; border-radius: 50%; background-color: #2955FF; color: white; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold; margin: 0 auto 15px;\">\r\n    03\r\n  <\/div>\r\n  <h3 style=\"font-size: 20px; font-weight: 700; margin-bottom: 10px;\">Login<\/h3>\r\n  <p style=\"font-size: 14px; color: #666;\">Enter the login credentials we emailed to you and start watching instantly on your device.<\/p>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7030814 e-flex e-con-boxed e-con e-parent\" data-id=\"7030814\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-00385fb elementor-widget elementor-widget-heading\" data-id=\"00385fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"> What Our Customers Are Saying<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d48f8c4 e-grid e-con-boxed e-con e-parent\" data-id=\"d48f8c4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1419b90 elementor-widget elementor-widget-html\" data-id=\"1419b90\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"background: #fff; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 20px; text-align: center;\">\r\n  <div style=\"font-size: 22px; color: #2955FF; font-weight: bold; margin-bottom: 10px;\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n  <p style=\"font-size: 15px; color: #444;\">\u201cSuper smooth streaming and really helpful support. I was up and running in minutes.\u201d<\/p>\r\n  <div style=\"margin-top: 10px; font-weight: bold;\">Ahmed R.<\/div>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f4556f4 elementor-widget elementor-widget-html\" data-id=\"f4556f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"background: #fff; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 20px; text-align: center;\">\r\n  <div style=\"font-size: 22px; color: #2955FF; font-weight: bold; margin-bottom: 10px;\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n  <p style=\"font-size: 15px; color: #444;\">\u201cBest IPTV experience I\u2019ve had. Channels work without freezing. Highly recommended!\u201d<\/p>\r\n  <div style=\"margin-top: 10px; font-weight: bold;\">Laura D.<\/div>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4cd000c elementor-widget elementor-widget-html\" data-id=\"4cd000c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"background: #fff; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 20px; text-align: center;\">\r\n  <div style=\"font-size: 22px; color: #2955FF; font-weight: bold; margin-bottom: 10px;\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n  <p style=\"font-size: 15px; color: #444;\">\u201cThe 24-hour trial convinced me. Great value, and the support team is fast!\u201d<\/p>\r\n  <div style=\"margin-top: 10px; font-weight: bold;\">Khalid M.<\/div>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9aa6245 e-flex e-con-boxed e-con e-parent\" data-id=\"9aa6245\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b002bff elementor-widget elementor-widget-heading\" data-id=\"b002bff\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Why People Trust Us<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cbc1495 e-grid e-con-boxed e-con e-parent\" data-id=\"cbc1495\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0f45c71 elementor-widget elementor-widget-html\" data-id=\"0f45c71\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"text-align: center;\">\r\n  <img decoding=\"async\" src=\"https:\/\/img.icons8.com\/ios-filled\/50\/2955FF\/help.png\" alt=\"24\/7 Support\" width=\"40\" style=\"margin-bottom: 10px;\" \/>\r\n  <div style=\"font-size: 16px; font-weight: 600; color: #000;\">24\/7 Live Support<\/div>\r\n  <p style=\"font-size: 14px; color: #666; margin-top: 5px;\">Get help anytime via email, chat, or Telegram.<\/p>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-29f5672 elementor-widget elementor-widget-html\" data-id=\"29f5672\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"text-align: center;\">\r\n  <img decoding=\"async\" src=\"https:\/\/img.icons8.com\/ios-filled\/50\/2955FF\/refund.png\" alt=\"Money Back\" width=\"40\" style=\"margin-bottom: 10px;\" \/>\r\n  <div style=\"font-size: 16px; font-weight: 600; color: #000;\">7-Day Money-Back<\/div>\r\n  <p style=\"font-size: 14px; color: #666; margin-top: 5px;\">Not satisfied? Get a full refund within 7 days.<\/p>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-31042cf elementor-widget elementor-widget-html\" data-id=\"31042cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"text-align: center;\">\r\n  <img decoding=\"async\" src=\"https:\/\/img.icons8.com\/ios-filled\/50\/2955FF\/lock-2.png\" alt=\"Secure Payment\" width=\"40\" style=\"margin-bottom: 10px;\" \/>\r\n  <div style=\"font-size: 16px; font-weight: 600; color: #000;\">100% Secure & Private<\/div>\r\n  <p style=\"font-size: 14px; color: #666; margin-top: 5px;\">Your data is safe. We respect your privacy fully.<\/p>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1bc29c3 e-flex e-con-boxed e-con e-parent\" data-id=\"1bc29c3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f08e308 elementor-widget elementor-widget-html\" data-id=\"f08e308\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"text-align: center; margin: 0px 0;\">\r\n  <a href=\"#pricing-card\" style=\"\r\n    display: inline-block;\r\n    background: linear-gradient(135deg, #2955FF, #3B82F6);\r\n    color: #fff;\r\n    padding: 14px 32px;\r\n    font-size: 18px;\r\n    font-weight: 600;\r\n    border-radius: 8px;\r\n    text-decoration: none;\r\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\r\n    transition: all 0.3s ease;\r\n  \"\r\n  onmouseover=\"this.style.transform='scale(1.05)'\"\r\n  onmouseout=\"this.style.transform='scale(1)'\"\r\n  >\r\n    \ud83c\udf81 Get My IPTV Access Now\r\n  <\/a>\r\n  <p style=\"margin-top: 10px; font-size: 14px; color: #777;\">\r\n    Instant setup \u00b7 No credit card charged until confirmation\r\n  <\/p>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fa02f82 e-flex e-con-boxed e-con e-parent\" data-id=\"fa02f82\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-98cadc7 elementor-widget elementor-widget-heading\" data-id=\"98cadc7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Got Questions? We\u2019ve Got Answers<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7550a477 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7550a477\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-507fafda\" data-id=\"507fafda\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-c48da76 e-flex e-con-boxed e-con e-parent\" data-id=\"c48da76\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4abc0c9 elementor-widget elementor-widget-html\" data-id=\"4abc0c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- STICKY DOCK v5 \u2014 Free Trial \u2022 Devices (TV) \u2022 Telegram \u2022 Top -->\r\n<trex-sticky-dock-v5\r\n  threshold=\"200\"\r\n  bottom-desktop=\"170\"\r\n  bottom-mobile=\"250\"\r\n  right-desktop=\"16\"\r\n  right-mobile=\"16\"\r\n  label-hide-delay=\"4000\"\r\n  trial-href=\"https:\/\/t.co\/Oj37jqRMiD\"\r\n  tg-href=\"https:\/\/t.me\/TrexIPTV_Support\"\r\n  devices-href=\"\/devices\"\r\n    style=\"--devices:#FF7A00;\" \r\n><\/trex-sticky-dock-v5>\r\n\r\n<script>\r\n(() => {\r\n  if (customElements.get('trex-sticky-dock-v5')) return;\r\n\r\n  class TrexStickyDockV5 extends HTMLElement {\r\n    connectedCallback() {\r\n      if (this.shadowRoot) return;\r\n      const sr = this.attachShadow({ mode: 'open' });\r\n\r\n      const threshold   = +(this.getAttribute('threshold') || 200);\r\n      const bDesk       = +(this.getAttribute('bottom-desktop') || 170);\r\n      const bMob        = +(this.getAttribute('bottom-mobile')   || 250);\r\n      const rDesk       = +(this.getAttribute('right-desktop')  || 16);\r\n      const rMob        = +(this.getAttribute('right-mobile')    || 16);\r\n      const hideDelay   = +(this.getAttribute('label-hide-delay') || 4000);\r\n      const trialHref   = this.getAttribute('trial-href')    || '#';\r\n      const tgHref      = this.getAttribute('tg-href')       || '#';\r\n      const devicesHref = this.getAttribute('devices-href')  || '\/devices';\r\n\r\n      const style = document.createElement('style');\r\n      style.textContent = `\r\n        :host{\r\n          --gap: 10px;\r\n          --right: 16px;\r\n          --bottom: 170px;\r\n          --chip-bg: rgba(255,255,255,.94);\r\n          --chip-text: #0f172a;\r\n          --shadow: 0 10px 28px rgba(0,0,0,.16), 0 2px 6px rgba(0,0,0,.12);\r\n          --trial:   #7C3AED;\r\n          --devices: #0EA5E9;   \/* Devices button color *\/\r\n          --tg:      #229ED9;\r\n          --accent:  #df0e0e;   \/* Back to top *\/\r\n          position: fixed;\r\n          right: calc(var(--right) + env(safe-area-inset-right));\r\n          bottom: calc(var(--bottom) + env(safe-area-inset-bottom));\r\n          z-index: 2147483000;\r\n          pointer-events: none;\r\n          font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\r\n        }\r\n        .dock{ display:flex; flex-direction:column; gap:var(--gap); opacity:0; transform:translateY(8px);\r\n               transition:opacity .22s ease, transform .22s ease; pointer-events:auto; }\r\n        :host(.visible) .dock{ opacity:1; transform:translateY(0); }\r\n\r\n        .btn{ display:inline-flex; align-items:center; gap:10px; background:var(--chip-bg); color:var(--chip-text);\r\n              border:1px solid rgba(0,0,0,.06); border-radius:999px; padding:8px 12px; font-weight:700; font-size:14px;\r\n              text-decoration:none; box-shadow:var(--shadow); transition:transform .15s ease, box-shadow .15s ease, padding .15s ease; }\r\n        .btn:hover{ transform:translateY(-1px); }\r\n        .ico{ display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; flex:0 0 34px; position:relative; }\r\n        .trial .ico{   background:var(--trial); }\r\n        .devices .ico{ background:var(--devices); }\r\n        .tg .ico{      background:var(--tg); }\r\n        .top .ico{     background:var(--accent); }\r\n\r\n        \/* Breathing (clearer) *\/\r\n        @keyframes breathe{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.14)} }\r\n        @keyframes ring{ 0%{opacity:.18; transform:scale(1)} 50%{opacity:.06; transform:scale(1.34)} 100%{opacity:.18; transform:scale(1)} }\r\n        .trial .ico, .devices .ico{ animation:breathe 2.8s ease-in-out infinite; }\r\n        .devices .ico{ animation-delay:.1s }\r\n        .trial .ico::before, .devices .ico::before{\r\n          content:\"\"; position:absolute; inset:-10px; border-radius:999px; background:currentColor; filter:blur(6px);\r\n          animation:ring 2.8s ease-in-out infinite;\r\n        }\r\n        .devices .ico::before{ animation-delay:.1s }\r\n\r\n        \/* Staggered entrance *\/\r\n        :host(.visible) .btn:nth-child(1){ animation:pop .24s ease both .02s }\r\n        :host(.visible) .btn:nth-child(2){ animation:pop .24s ease both .08s }\r\n        :host(.visible) .btn:nth-child(3){ animation:pop .24s ease both .14s }\r\n        :host(.visible) .btn:nth-child(4){ animation:pop .24s ease both .20s }\r\n        @keyframes pop{ from{transform:translateY(6px) scale(.98); opacity:0} to{transform:translateY(0) scale(1); opacity:1} }\r\n\r\n        :host(.compact) .btn{ padding:6px } :host(.compact) .btn .label{ display:none }\r\n        :host(.compact) .btn:hover, :host(.compact) .btn:focus-within{ padding:8px 12px }\r\n        :host(.compact) .btn:hover .label, :host(.compact) .btn:focus-within .label{ display:inline }\r\n\r\n        @media (max-width:767px){ :host{ --right:${rMob}px; --bottom:${bMob}px } .btn{ font-size:13px; padding:8px 10px } }\r\n        @media (min-width:768px){ :host{ --right:${rDesk}px; --bottom:${bDesk}px } }\r\n\r\n        @media (prefers-reduced-motion:reduce){\r\n          .dock,.btn{ transition:none } :host(.visible) .btn{ animation:none }\r\n          .trial .ico,.devices .ico{ animation:none } .trial .ico::before,.devices .ico::before{ animation:none }\r\n        }\r\n      `;\r\n\r\n      const wrap = document.createElement('div');\r\n      wrap.className = 'dock';\r\n      wrap.innerHTML = `\r\n        <!-- FREE TRIAL -->\r\n        <a class=\"btn trial\" href=\"${trialHref}\" target=\"_blank\" rel=\"noopener\" aria-label=\"Start FREE TRIAL\">\r\n          <span class=\"ico\">\r\n            <svg class=\"starburst\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" aria-hidden=\"true\">\r\n              <path fill=\"currentColor\" d=\"M12 2l2.2 3.8 4.3-.5-1.9 3.9 3.1 3-4.1.9-1.6 4-2.9-3-3 3-1.6-4-4.1-.9 3.1-3-1.9-3.9 4.3.5L12 2z\"\/>\r\n            <\/svg>\r\n          <\/span>\r\n          <span class=\"label\">FREE TRIAL<\/span>\r\n        <\/a>\r\n\r\n        <!-- DEVICES (Classic TV with antenna) -->\r\n        <a class=\"btn devices\" href=\"${devicesHref}\" aria-label=\"Browse Devices\" title=\"Browse Devices\">\r\n          <span class=\"ico\">\r\n            <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" aria-hidden=\"true\">\r\n              <g fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                <!-- Screen -->\r\n                <rect x=\"3\" y=\"6\" width=\"18\" height=\"11\" rx=\"2\"><\/rect>\r\n                <!-- Antennas -->\r\n                <line x1=\"12\" y1=\"6\" x2=\"7.5\" y2=\"2.5\"><\/line>\r\n                <line x1=\"12\" y1=\"6\" x2=\"16.5\" y2=\"2.5\"><\/line>\r\n                <!-- Base -->\r\n                <line x1=\"8\" y1=\"19.5\" x2=\"16\" y2=\"19.5\"><\/line>\r\n              <\/g>\r\n            <\/svg>\r\n          <\/span>\r\n          <span class=\"label\">Devices<\/span>\r\n        <\/a>\r\n\r\n        <!-- TELEGRAM -->\r\n        <a class=\"btn tg\" href=\"${tgHref}\" target=\"_blank\" rel=\"noopener\" aria-label=\"Open Telegram Support\">\r\n          <span class=\"ico\">\r\n            <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" aria-hidden=\"true\">\r\n              <path fill=\"currentColor\" d=\"M9.036 15.803l-.376 5.302c.537 0 .768-.23 1.046-.506l2.511-2.41 5.205 3.81c.955.525 1.638.25 1.9-.884l3.445-16.17c.306-1.436-.518-1.997-1.445-1.648L1.116 9.493c-1.386.539-1.365 1.315-.236 1.664l5.23 1.632 12.139-7.65c.57-.346 1.09-.154.662.192\"\/>\r\n            <\/svg>\r\n          <\/span>\r\n          <span class=\"label\">Telegram<\/span>\r\n        <\/a>\r\n\r\n        <!-- BACK TO TOP -->\r\n        <button class=\"btn top\" type=\"button\" aria-label=\"Back to Top\" title=\"Back to Top\">\r\n          <span class=\"ico\">\r\n            <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" aria-hidden=\"true\">\r\n              <path fill=\"currentColor\" d=\"M12 4l-8 8h6v8h4v-8h6z\"\/>\r\n            <\/svg>\r\n          <\/span>\r\n          <span class=\"label\">Top<\/span>\r\n        <\/button>\r\n      `;\r\n\r\n      sr.append(style, wrap);\r\n\r\n      \/\/ show after scroll + auto-compact\r\n      let compactTimer=null;\r\n      const setCompact=(on)=>this.classList.toggle('compact',on);\r\n      const startCompact=()=>{ clearTimeout(compactTimer); compactTimer=setTimeout(()=>setCompact(true),hideDelay); };\r\n      const onScroll=()=>{ if (scrollY>=threshold){ if(!this.classList.contains('visible')){ this.classList.add('visible'); setCompact(false); startCompact(); } } else { this.classList.remove('visible'); clearTimeout(compactTimer); setCompact(false); } };\r\n      onScroll();\r\n      addEventListener('scroll',()=>requestAnimationFrame(onScroll),{passive:true});\r\n\r\n      \/\/ expand labels on hover\/focus\r\n      let recompact=null; const dock=sr.querySelector('.dock');\r\n      const expand=()=>{ clearTimeout(recompact); setCompact(false); };\r\n      const schedule=()=>{ clearTimeout(recompact); recompact=setTimeout(()=>setCompact(true),1200); };\r\n      dock.addEventListener('mouseenter',expand,{passive:true});\r\n      dock.addEventListener('mouseleave',schedule,{passive:true});\r\n      dock.addEventListener('focusin',expand);\r\n      dock.addEventListener('focusout',schedule);\r\n\r\n      \/\/ Top\r\n      sr.querySelector('.btn.top').addEventListener('click',(e)=>{ e.preventDefault(); scrollTo({top:0,behavior:'smooth'}); });\r\n    }\r\n  }\r\n  customElements.define('trex-sticky-dock-v5', TrexStickyDockV5);\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u26a0\ufe0f Note: Submitting this form does not complete your order. You will receive payment instructions by email. Your subscription will be activated only after we receive your payment. 3 Months \u2013 1 Connection 26.99&nbsp;\u20ac +10,000 Channels +20,000 Films &#038; Series 4K\/8K\/FHD\/HD\/SD Quality Adult +18 Free &#038; Auto Updates TV Guide (EPG) Anti Buffering 24\/7 Support [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2855","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>3-months-subscription - Trex IPTV<\/title>\n<meta name=\"description\" content=\"Get a Trex IPTV 3-Month Subscription with premium channels, sports, and movies. Enjoy HD &amp; 4K streaming with no buffering. Sign up now!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/trexiptv-8k.com\/it\/3-mesi-di-abbonamento\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"3-months-subscription - Trex IPTV\" \/>\n<meta property=\"og:description\" content=\"Get a Trex IPTV 3-Month Subscription with premium channels, sports, and movies. Enjoy HD &amp; 4K streaming with no buffering. Sign up now!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/trexiptv-8k.com\/it\/3-mesi-di-abbonamento\/\" \/>\n<meta property=\"og:site_name\" content=\"Trex IPTV\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-29T02:29:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/trexiptv-8k.com\/wp-content\/uploads\/2025\/06\/trust-pilot-orders.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"18 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/3-months-subscription\\\/\",\"url\":\"https:\\\/\\\/trexiptv-8k.com\\\/3-months-subscription\\\/\",\"name\":\"3-months-subscription - Trex IPTV\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/3-months-subscription\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/3-months-subscription\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/trexiptv-8k.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/trust-pilot-orders.png\",\"datePublished\":\"2025-03-04T03:20:57+00:00\",\"dateModified\":\"2026-09-29T02:29:08+00:00\",\"description\":\"Get a Trex IPTV 3-Month Subscription with premium channels, sports, and movies. Enjoy HD & 4K streaming with no buffering. Sign up now!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/3-months-subscription\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/trexiptv-8k.com\\\/3-months-subscription\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/3-months-subscription\\\/#primaryimage\",\"url\":\"https:\\\/\\\/trexiptv-8k.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/trust-pilot-orders.png\",\"contentUrl\":\"https:\\\/\\\/trexiptv-8k.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/trust-pilot-orders.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/3-months-subscription\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/trexiptv-8k.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"3-months-subscription\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/trexiptv-8k.com\\\/en\\\/\",\"name\":\"trex iptv\",\"description\":\"TREX IPTV Stream Unlimited Channels, Movies, TV Shows, and More Watch On the Go Huge Library Watch On the Go Free Test 24 hr Experience the Best IPTV Service with TREX IPTV High-Quality Streaming Unlimited Access 24\\\/7 Customer Support Free Test 24 hr Last Seasons of Popular Shows with TREX IPTV Exclusive Access Binge-Worthy\",\"publisher\":{\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/trexiptv-8k.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/en\\\/#organization\",\"name\":\"trex iptv\",\"url\":\"https:\\\/\\\/trexiptv-8k.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/trexiptv-8k.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/ChatGPT-Image-Aug-4-2025-10_43_08-PM-1.png\",\"contentUrl\":\"https:\\\/\\\/trexiptv-8k.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/ChatGPT-Image-Aug-4-2025-10_43_08-PM-1.png\",\"width\":1024,\"height\":1024,\"caption\":\"trex iptv\"},\"image\":{\"@id\":\"https:\\\/\\\/trexiptv-8k.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Abbonamento di 3 mesi - Trex IPTV","description":"Abbonamento Trex IPTV di 3 mesi con canali premium, sport e film. Godetevi lo streaming in HD e 4K senza buffering. Iscriviti ora!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/trexiptv-8k.com\/it\/3-mesi-di-abbonamento\/","og_locale":"it_IT","og_type":"article","og_title":"3-months-subscription - Trex IPTV","og_description":"Get a Trex IPTV 3-Month Subscription with premium channels, sports, and movies. Enjoy HD & 4K streaming with no buffering. Sign up now!","og_url":"https:\/\/trexiptv-8k.com\/it\/3-mesi-di-abbonamento\/","og_site_name":"Trex IPTV","article_modified_time":"2026-09-29T02:29:08+00:00","og_image":[{"url":"https:\/\/trexiptv-8k.com\/wp-content\/uploads\/2025\/06\/trust-pilot-orders.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo di lettura stimato":"18 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/trexiptv-8k.com\/3-months-subscription\/","url":"https:\/\/trexiptv-8k.com\/3-months-subscription\/","name":"Abbonamento di 3 mesi - Trex IPTV","isPartOf":{"@id":"https:\/\/trexiptv-8k.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/trexiptv-8k.com\/3-months-subscription\/#primaryimage"},"image":{"@id":"https:\/\/trexiptv-8k.com\/3-months-subscription\/#primaryimage"},"thumbnailUrl":"https:\/\/trexiptv-8k.com\/wp-content\/uploads\/2025\/06\/trust-pilot-orders.png","datePublished":"2025-03-04T03:20:57+00:00","dateModified":"2026-09-29T02:29:08+00:00","description":"Abbonamento Trex IPTV di 3 mesi con canali premium, sport e film. Godetevi lo streaming in HD e 4K senza buffering. Iscriviti ora!","breadcrumb":{"@id":"https:\/\/trexiptv-8k.com\/3-months-subscription\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/trexiptv-8k.com\/3-months-subscription\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/trexiptv-8k.com\/3-months-subscription\/#primaryimage","url":"https:\/\/trexiptv-8k.com\/wp-content\/uploads\/2025\/06\/trust-pilot-orders.png","contentUrl":"https:\/\/trexiptv-8k.com\/wp-content\/uploads\/2025\/06\/trust-pilot-orders.png"},{"@type":"BreadcrumbList","@id":"https:\/\/trexiptv-8k.com\/3-months-subscription\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/trexiptv-8k.com\/en\/"},{"@type":"ListItem","position":2,"name":"3-months-subscription"}]},{"@type":"WebSite","@id":"https:\/\/trexiptv-8k.com\/en\/#website","url":"https:\/\/trexiptv-8k.com\/en\/","name":"trex iptv","description":"TREX IPTV Streaming illimitato Canali, film, programmi TV e altro Guarda in movimento Enorme libreria Guarda in movimento Test gratuito 24 ore Prova il miglior servizio IPTV con TREX IPTV Streaming di alta qualit\u00e0 Accesso illimitato 24\/7 Assistenza clienti Test gratuito 24 ore Ultime stagioni di programmi popolari con TREX IPTV Accesso esclusivo Binge-Worthy","publisher":{"@id":"https:\/\/trexiptv-8k.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/trexiptv-8k.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/trexiptv-8k.com\/en\/#organization","name":"trex iptv","url":"https:\/\/trexiptv-8k.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/trexiptv-8k.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/trexiptv-8k.com\/wp-content\/uploads\/2025\/08\/ChatGPT-Image-Aug-4-2025-10_43_08-PM-1.png","contentUrl":"https:\/\/trexiptv-8k.com\/wp-content\/uploads\/2025\/08\/ChatGPT-Image-Aug-4-2025-10_43_08-PM-1.png","width":1024,"height":1024,"caption":"trex iptv"},"image":{"@id":"https:\/\/trexiptv-8k.com\/en\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/trexiptv-8k.com\/it\/wp-json\/wp\/v2\/pages\/2855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trexiptv-8k.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/trexiptv-8k.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/trexiptv-8k.com\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/trexiptv-8k.com\/it\/wp-json\/wp\/v2\/comments?post=2855"}],"version-history":[{"count":5,"href":"https:\/\/trexiptv-8k.com\/it\/wp-json\/wp\/v2\/pages\/2855\/revisions"}],"predecessor-version":[{"id":8419,"href":"https:\/\/trexiptv-8k.com\/it\/wp-json\/wp\/v2\/pages\/2855\/revisions\/8419"}],"wp:attachment":[{"href":"https:\/\/trexiptv-8k.com\/it\/wp-json\/wp\/v2\/media?parent=2855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}