{"id":11462,"date":"2020-01-06T07:50:24","date_gmt":"2020-01-06T07:50:24","guid":{"rendered":"https:\/\/radiojingles24.com\/product\/commercial-promo-package-copy\/"},"modified":"2026-10-13T06:53:04","modified_gmt":"2026-10-13T06:53:04","slug":"commercial-production","status":"publish","type":"product","link":"https:\/\/radiojingles24.com\/fr\/produit\/commercial-production\/","title":{"rendered":"Publicit\u00e9 enti\u00e8rement produite"},"content":{"rendered":"\n\t\t<div id=\"fws_6ad2662360fc9\"  data-midnight=\"dark\"  data-bg-mobile-hidden=\"\" class=\"wpb_row vc_row-fluid vc_row top-level standard_section   \"  style=\"padding-top: 0px; padding-bottom: 0px; \"><div class=\"row-bg-wrap\" data-bg-animation=\"none\"><div class=\"inner-wrap \"><div class=\"row-bg    \"  style=\"\"><\/div><\/div><div class=\"row-bg-overlay\" ><\/div><\/div><div class=\"col span_12 dark left\">\n\t<div  class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding\"  data-t-w-inherits=\"default\" data-border-radius=\"none\" data-shadow=\"none\" data-border-animation=\"\" data-border-animation-delay=\"\" data-border-width=\"none\" data-border-style=\"solid\" data-border-color=\"\" data-bg-cover=\"\" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-hover-bg=\"\" data-hover-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\"><div class=\"column-bg-overlay\"><\/div>\n\t\t<div class=\"vc_column-inner\">\n\t\t\t<div class=\"wpb_wrapper\">\n\t\t\t\t\n\t<div class=\"wpb_raw_code wpb_content_element wpb_raw_html\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<div class=\"rjc rjc-inline\" id=\"rjc-commercial-production\">\n<style>\n  \/* the new hero replaces the wizard's own; everything below is the live wizard block, untouched *\/\n  #rj-comm-wizard .rjc-hero{display:none!important}\n  body.single-product h1.product_title{display:none!important}\n<\/style>\n<header class=\"hero\">\n  <div class=\"wrap hero-grid\">\n    <div class=\"hero-copy\">\n      <div class=\"eyebrow\"><span class=\"lamp\"><\/span>Fully produced, voiced, scored and&nbsp;mixed<\/div>\n      <h1 class=\"h1\">A radio advert that actually <em>sells.<\/em><\/h1>\n      <div class=\"btns\"><a href=\"#rj-comm-wizard\" class=\"btn btn-pk\" data-scroll>Build my advert, from&nbsp;\u00a330<\/a><span class=\"fine\"><b>\u00a330<\/b> an advert, up to 3 voices, each extra voice +<span data-price=\"RJ24_COMM_CFG.voiceFee\">\u00a315<\/span><\/span><\/div>\n      <p class=\"lede m-hide\">Tell us what you want to say. We'll record real voices, score it to music and mix you a broadcast-ready advert, in your inbox within 24 hours, royalty-free&nbsp;forever.<\/p>\n      <ul class=\"trust m-hide\"><li>24-hour delivery, most adverts back the same working&nbsp;day<\/li><li>Up to 3 voices, single voice or full&nbsp;dialogue<\/li><li>Music included, fully scored and mixed in our&nbsp;studio<\/li><li>Royalty-free&nbsp;forever<\/li><\/ul>\n    <\/div>\n    <div class=\"console\" data-console>\n      <div class=\"console-top\"><span>Hear a finished&nbsp;advert<\/span><span class=\"tally\"><i><\/i>On&nbsp;air<\/span><\/div>\n      <div class=\"rows\">\n        <div class=\"crow\"><button type=\"button\" class=\"play\" data-demo=\"advert\" aria-label=\"Play A fully produced advert\"><svg class=\"i-play\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8 5.5v13l11-6.5z\"\/><\/svg><svg class=\"i-pause\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M7 5h3.6v14H7zM13.4 5H17v14h-3.6z\"\/><\/svg><\/button><div><div class=\"t\">A fully produced&nbsp;advert<\/div><div class=\"s\">Voiced, scored and mixed in our&nbsp;studio<\/div><\/div><div class=\"p\">\u00a330<small>from<\/small><\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/header>\n<script>\n  document.addEventListener('click', function(e){ var a = e.target.closest('.rjc a[data-scroll]'); if(!a) return; var t = document.querySelector(a.getAttribute('href')); if(!t) return; e.preventDefault(); t.scrollIntoView({behavior: 'smooth', block: 'start'}); });\n<\/script>\n<style>\n\/* ===== rj24-console: dark wizards (wizdark.py) ===== *\/\nbody.single-product:has(.rjc-inline), body.single-product:has(.rjc-inline) .container-wrap, body.single-product:has(.rjc-inline) .container-wrap .main-content,\nbody.single-product:has(.rjc-inline) div.product, body.single-product:has(.rjc-inline) .woocommerce-tabs{background:#0e1118!important}\nhtml body #rj-comm-wizard, html body #rjs-footer, html body #rjfeb-footer, html body #rjd-footer, html body #rjc-footer, html body #rjt-footer, html body #rjo-footer, html body #rjy-footer, html body #rj6-footer, html body #rjst-footer, html body #rjp-footer, html body #rjfeb-bump, html body #rjd-bump, html body #rjc-bump{color-scheme:dark;\n  --fb-pink:#ff4fa3; --fb-pink-dark:#d1157a; --fb-pink-light:rgba(239,44,146,.16); --fb-ink:#f5f2f7; --fb-text:#cbc5d3; --fb-muted:#a29bad; --fb-line:rgba(255,255,255,.16);\n  --rj-pink:#ff4fa3; --rj-pink-dark:#d1157a; --rj-pink-light:rgba(239,44,146,.22); --rj-pink-lighter:rgba(239,44,146,.12); --rj-purple:#c084fc;\n  --rj-gold-light:rgba(245,158,11,.16); --rj-ink:#f5f2f7; --rj-text:#cbc5d3; --rj-muted:#a29bad; --rj-line:rgba(255,255,255,.16); --rj-bg:#0e1118; --rj-card:#151a25;\n  --rj-green-bg:rgba(61,220,151,.14);\n  --pink:#ff4fa3; --pink-dark:#d1157a; --pink-light:rgba(239,44,146,.16); --ink:#f5f2f7; --text:#cbc5d3; --muted:#a29bad; --line:rgba(255,255,255,.16)}\nhtml body #rj-comm-wizard{background:transparent!important; color:#f5f2f7}\n\/* cards, steps, panels: the console panel *\/\nhtml body #rj-comm-wizard .rjsw-step, html body #rj-comm-wizard .rjsw-voice, html body #rj-comm-wizard .rjsw-version, html body #rj-comm-wizard .rjsw-prod-card, html body #rj-comm-wizard .rjwz-trust, html body #rj-comm-wizard .rjs-trust, html body #rj-comm-wizard .rjsw-trust, html body #rj-comm-wizard .rjc-trust, html body #rj-comm-wizard .rjsw-mode-card, html body #rj-comm-wizard .rjsw-bed-card, html body #rj-comm-wizard .rjsw-lyrics-block, html body #rj-comm-wizard .rjsw-fmt-bar, html body #rj-comm-wizard .rjt-step, html body #rj-comm-wizard .rjsw-pack-bar, html body #rj-comm-wizard .rjsw-sticky-cta, html body #rj-comm-wizard .rjsw-singer, html body #rj-comm-wizard .rjsw-decade, html body #rj-comm-wizard .rjsw-pack, html body #rj-comm-wizard .rjst-pack, html body #rj-comm-wizard .rjsw-review, html body #rj-comm-wizard .rjsw-review-card, html body #rj-comm-wizard .rjsw-summary, html body #rj-comm-wizard .rjt-voice, html body #rj-comm-wizard .rjt-ver, html body #rj-comm-wizard .rjsw-extra, html body #rj-comm-wizard .rjsw-mpromo, html body #rj-comm-wizard .rjs-more, html body #rj-comm-wizard .rjsw-card, html body #rj-comm-wizard .rjsw-box, html body #rj-comm-wizard .rjsw-upsell, html body #rj-comm-wizard .rjsw-promo, html body #rj-comm-wizard .rjsw-mode-icon, html body #rj-comm-wizard .rjsw-bed-type-tag, html body #rj-comm-wizard #rjt-bonus, html body #rj-comm-wizard .rjt-field.rjt-toh{background:#151a25!important; border-color:rgba(255,255,255,.16)!important; box-shadow:none!important; color:#f5f2f7}\nhtml body #rj-comm-wizard .rjsw-voice.selected, html body #rj-comm-wizard .rjsw-version.selected, html body #rj-comm-wizard .rjsw-prod-card.selected, html body #rj-comm-wizard .rjsw-bed-card.in-pack, html body #rj-comm-wizard .rjsw-singer.selected, html body #rj-comm-wizard .rjsw-decade.selected, html body #rj-comm-wizard .rjst-pack.selected, html body #rj-comm-wizard .rjsw-pack.selected, html body #rj-comm-wizard .rjt-voice.selected, html body #rj-comm-wizard .rjt-ver.selected, html body #rj-comm-wizard .rjsw-extra.selected, html body #rj-comm-wizard .rjsw-voice.active, html body #rj-comm-wizard .rjt-ver.active, html body #rj-comm-wizard .rjsw-decade.on, html body #rj-comm-wizard .rjsw-prod-card.on{background:rgba(239,44,146,.16)!important; border-color:#ff4fa3!important; box-shadow:0 0 0 1px #ff4fa3 inset!important}\n\/* headings and labels *\/\nhtml body #rj-comm-wizard h2, html body #rj-comm-wizard h3, html body #rj-comm-wizard h4, html body #rj-comm-wizard .rjsw-h, html body #rj-comm-wizard .rjt-h, html body #rj-comm-wizard .rjsw-label, html body #rj-comm-wizard .rjt-label, html body #rj-comm-wizard .rjsw-voice-name, html body #rj-comm-wizard .rjt-voice-name, html body #rj-comm-wizard .rjt-ver-name, html body #rj-comm-wizard .rjsw-prod-name, html body #rj-comm-wizard .rjsw-screen-title, html body #rj-comm-wizard .rjsw-mode-title, html body #rj-comm-wizard .rjsw-bed-card-name, html body #rj-comm-wizard .rjsw-lyrics-block-name, html body #rj-comm-wizard .rjsw-fmt-head, html body #rj-comm-wizard .rjwz-trust-h, html body #rj-comm-wizard .rjs-trust-h, html body #rj-comm-wizard .rjsw-trust-h, html body #rj-comm-wizard .rjc-trust-h, html body #rj-comm-wizard .rjsw-mpromo-name, html body #rj-comm-wizard .rjsw-singer-name, html body #rj-comm-wizard .rjsw-decade-name, html body #rj-comm-wizard .rjst-pack-name{color:#f5f2f7!important}\nhtml body #rj-comm-wizard p, html body #rj-comm-wizard li, html body #rj-comm-wizard .rjsw-intro, html body #rj-comm-wizard .rjt-intro, html body #rj-comm-wizard .rjsw-counter, html body #rj-comm-wizard .rjwz-trust-d, html body #rj-comm-wizard .rjs-trust-d, html body #rj-comm-wizard .rjsw-trust-d, html body #rj-comm-wizard .rjc-trust-d, html body #rj-comm-wizard .rjwz-trust-ico, html body #rj-comm-wizard .rjs-trust-ico, html body #rj-comm-wizard .rjsw-trust-ico, html body #rj-comm-wizard .rjc-trust-ico, html body #rj-comm-wizard .rjsw-mode-desc, html body #rj-comm-wizard .rjsw-screen-sub, html body #rj-comm-wizard .rjt-ver-desc, html body #rj-comm-wizard .rjsw-mpromo-desc, html body #rj-comm-wizard .rjwz-gbp-text, html body #rj-comm-wizard .rjs-gbp-text, html body #rj-comm-wizard .rjsw-gbp-text, html body #rj-comm-wizard .rjc-gbp-text, html body #rj-comm-wizard .rjsw-singer-creds, html body #rj-comm-wizard .rjsw-singer-delivery{color:#cbc5d3!important}\nhtml body #rj-comm-wizard b, html body #rj-comm-wizard strong{color:inherit!important}\n\/* script boxes and fields *\/\nhtml body #rj-comm-wizard textarea, html body #rj-comm-wizard input[type=text], html body #rj-comm-wizard input[type=email], html body #rj-comm-wizard input[type=number], html body #rj-comm-wizard input:not([type]), html body #rj-comm-wizard select{background:#0e1118!important; color:#f5f2f7!important; border:1px solid rgba(255,255,255,.22)!important; border-radius:4px!important; font-size:16px!important}\nhtml body #rj-comm-wizard textarea::placeholder, html body #rj-comm-wizard input[type=text]::placeholder{color:#8f889a!important}\nhtml body #rj-comm-wizard textarea:focus, html body #rj-comm-wizard input[type=text]:focus{border-color:#ff4fa3!important; outline:2px solid rgba(255,79,163,.35)!important; outline-offset:1px}\n\/* pills, format and option buttons *\/\nhtml body #rj-comm-wizard .rjsw-pill, html body #rj-comm-wizard .rjt-pill, html body #rj-comm-wizard .rjsw-fmt-opt, html body #rj-comm-wizard .rjsw-filter-pill, html body #rj-comm-wizard .rjsw-sticky-cta-back, html body #rj-comm-wizard .rjsw-bed-btn.play{background:transparent!important; color:#cbc5d3!important; border:1px solid rgba(255,255,255,.24)!important; min-height:44px; border-radius:3px!important}\nhtml body #rj-comm-wizard .rjsw-pill.active, html body #rj-comm-wizard .rjt-pill.active, html body #rj-comm-wizard .rjsw-fmt-opt.selected, html body #rj-comm-wizard .rjsw-filter-pill.active, html body #rj-comm-wizard .rjsw-pill.selected{background:rgba(239,44,146,.18)!important; color:#fff!important; border-color:#ff4fa3!important}\n\/* notes *\/\nhtml body #rj-comm-wizard .rjst-tip, html body #rj-comm-wizard .rjwz-gbp, html body #rj-comm-wizard .rjs-gbp, html body #rj-comm-wizard .rjsw-gbp, html body #rj-comm-wizard .rjc-gbp, html body #rj-comm-wizard .rjsw-pack-bar.empty{background:rgba(255,255,255,.05)!important; border-color:rgba(255,255,255,.14)!important; color:#cbc5d3!important}\nhtml body #rj-comm-wizard .rjsw-overlimit{background:rgba(220,38,38,.16)!important; color:#fecaca!important; border-color:rgba(248,113,113,.5)!important}\n\/* prices, fees and links in the wizard's pink: the lighter pink reads on dark *\/\nhtml body #rj-comm-wizard .rjsw-prod-fee, html body #rj-comm-wizard .rjs-more-ico, html body #rj-comm-wizard .rjs-more-go, html body #rj-comm-wizard .rjsw-mpromo-badge, html body #rj-comm-wizard .rjsw-mode-price, html body #rj-comm-wizard .rjsw-sticky-cta-total, html body #rj-comm-wizard .rjsw-voice-badge, html body #rj-comm-wizard .rjt-ver-price, html body #rj-comm-wizard .rjst-pack-price, html body #rj-comm-wizard .rjst-pack-pick, html body #rj-comm-wizard .rjsw-voice-fee, html body #rj-comm-wizard a:not([class]), html body #rj-comm-wizard .rjsw-price-val, html body #rjs-footer [class*=total], html body #rjs-footer [id*=total], html body #rjfeb-footer [class*=total], html body #rjfeb-footer [id*=total], html body #rjd-footer [class*=total], html body #rjd-footer [id*=total], html body #rjc-footer [class*=total], html body #rjc-footer [id*=total], html body #rjt-footer [class*=total], html body #rjt-footer [id*=total], html body #rjo-footer [class*=total], html body #rjo-footer [id*=total], html body #rjy-footer [class*=total], html body #rjy-footer [id*=total], html body #rj6-footer [class*=total], html body #rj6-footer [id*=total], html body #rjst-footer [class*=total], html body #rjst-footer [id*=total], html body #rjp-footer [class*=total], html body #rjp-footer [id*=total]{color:#ff7cbf!important}\nhtml body #rj-comm-wizard #rjt-bonus span, html body #rj-comm-wizard #rjt-bonus b, html body #rj-comm-wizard #rjt-bonus strong{color:#f5f2f7!important}\n\/* the sticky buy bars and add-on bumps *\/\nhtml body #rjs-footer, html body #rjfeb-footer, html body #rjd-footer, html body #rjc-footer, html body #rjt-footer, html body #rjo-footer, html body #rjy-footer, html body #rj6-footer, html body #rjst-footer, html body #rjp-footer{background:#151a25!important; border-top:1px solid #d1157a!important; color:#f5f2f7!important; box-shadow:0 -18px 40px -20px rgba(0,0,0,.9)!important}\nhtml body #rjs-footer small, html body #rjs-footer label, html body #rjfeb-footer small, html body #rjfeb-footer label, html body #rjd-footer small, html body #rjd-footer label, html body #rjc-footer small, html body #rjc-footer label, html body #rjt-footer small, html body #rjt-footer label, html body #rjo-footer small, html body #rjo-footer label, html body #rjy-footer small, html body #rjy-footer label, html body #rj6-footer small, html body #rj6-footer label, html body #rjst-footer small, html body #rjst-footer label, html body #rjp-footer small, html body #rjp-footer label{color:#cbc5d3!important}\nhtml body #rjfeb-bump, html body #rjd-bump, html body #rjc-bump{background:#151a25!important; color:#f5f2f7!important; border-color:rgba(255,255,255,.16)!important}\n\/* the theme's \"Pairs well with\" and \"Guides\" boxes under the wizard *\/\nbody.single-product:has(.rjc-inline) :is(.rj24-pairs, .rj24-guides){background:#151a25!important; border-color:rgba(255,255,255,.14)!important; color:#cbc5d3!important}\nbody.single-product:has(.rjc-inline) .rj24-pairs :is(a, [class*=card], [class*=item]){background:#0e1118!important; border-color:rgba(255,255,255,.14)!important; color:#cbc5d3!important}\nbody.single-product:has(.rjc-inline) :is(.rj24-pairs, .rj24-guides) :is(h2, h3, h4, strong, b){color:#f5f2f7!important}\nbody.single-product:has(.rjc-inline) .rj24-guides a{background:transparent!important; color:#ffc2e1!important; border-color:rgba(255,79,163,.5)!important}\nbody.single-product:has(.rjc-inline) .rj24-pairs [class*=price], body.single-product:has(.rjc-inline) .rj24-pairs a span:last-child{color:#ff7cbf!important}\n\/* phone: tap targets and readable text *\/\n@media(max-width:760px){\n  html body #rj-comm-wizard .rjsw-pill, html body #rj-comm-wizard .rjt-pill, html body #rj-comm-wizard .rjsw-fmt-opt, html body #rj-comm-wizard .rjsw-filter-pill, html body #rj-comm-wizard .rjsw-sticky-cta-back, html body #rj-comm-wizard .rjsw-bed-btn.play{min-height:44px; font-size:15px!important}\n  html body #rj-comm-wizard p, html body #rj-comm-wizard li, html body #rj-comm-wizard .rjsw-intro, html body #rj-comm-wizard .rjt-intro, html body #rj-comm-wizard .rjsw-counter, html body #rj-comm-wizard .rjwz-trust-d, html body #rj-comm-wizard .rjs-trust-d, html body #rj-comm-wizard .rjsw-trust-d, html body #rj-comm-wizard .rjc-trust-d, html body #rj-comm-wizard .rjwz-trust-ico, html body #rj-comm-wizard .rjs-trust-ico, html body #rj-comm-wizard .rjsw-trust-ico, html body #rj-comm-wizard .rjc-trust-ico, html body #rj-comm-wizard .rjsw-mode-desc, html body #rj-comm-wizard .rjsw-screen-sub, html body #rj-comm-wizard .rjt-ver-desc, html body #rj-comm-wizard .rjsw-mpromo-desc, html body #rj-comm-wizard .rjwz-gbp-text, html body #rj-comm-wizard .rjs-gbp-text, html body #rj-comm-wizard .rjsw-gbp-text, html body #rj-comm-wizard .rjc-gbp-text, html body #rj-comm-wizard .rjsw-singer-creds, html body #rj-comm-wizard .rjsw-singer-delivery{font-size:15px!important; line-height:1.55!important}\n  html body #rj-comm-wizard button[class*=play]{min-width:44px!important; min-height:44px!important}\n  html body #rj-comm-wizard .rjsw-mpromo{flex-direction:column!important; align-items:flex-start!important; gap:12px!important; text-align:left!important}\n  html body #rj-comm-wizard .rjsw-voices{grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:8px!important}\n  html body #rj-comm-wizard .rjsw-voice{padding:10px 4px!important}\n}\n\/* the buy bar waits until a voice is chosen (REVIEW-AB: \"Buy now \u00a310\" showed before anything was picked) *\/\nbody:has(#rj-comm-wizard .rjsw-voice):not(:has(#rj-comm-wizard .rjsw-voice.selected)) #rjc-footer{display:none!important}\n\/* the sung pack bar (12 Oct): the builder's white chips kept their white ground under light text (\"2 jingles: Hot FM 7 x\"), and\n   its pink tier line sat pink-on-pink; both re-coloured for the dark ground, every pair >= 4.5:1 *\/\nhtml body #rj-comm-wizard .rjsw-pack-chip{background:rgba(239,44,146,.2)!important; border-color:#ff4fa3!important; color:#f5f2f7!important}\nhtml body #rj-comm-wizard .rjsw-pack-chip-remove{background:transparent!important; color:#ffc2e1!important}\nhtml body #rj-comm-wizard .rjsw-pack-tier-msg{background:rgba(255,255,255,.06)!important; color:#ffc2e1!important}\nhtml body #rj-comm-wizard .rjsw-pack-tier-msg.unlocked{background:rgba(61,220,151,.14)!important; color:#bdf5dc!important}\nhtml body #rj-comm-wizard{--fb-muted:#b3adbf; --rj-muted:#b3adbf; --muted:#b3adbf}\nhtml body #rj-comm-wizard .rjsw-step, html body #rj-comm-wizard .rjsw-voice, html body #rj-comm-wizard .rjsw-version, html body #rj-comm-wizard .rjsw-prod-card, html body #rj-comm-wizard .rjwz-trust, html body #rj-comm-wizard .rjs-trust, html body #rj-comm-wizard .rjsw-trust, html body #rj-comm-wizard .rjc-trust, html body #rj-comm-wizard .rjsw-mode-card, html body #rj-comm-wizard .rjsw-bed-card, html body #rj-comm-wizard .rjsw-lyrics-block, html body #rj-comm-wizard .rjsw-fmt-bar, html body #rj-comm-wizard .rjt-step, html body #rj-comm-wizard .rjsw-pack-bar, html body #rj-comm-wizard .rjsw-sticky-cta, html body #rj-comm-wizard .rjsw-singer, html body #rj-comm-wizard .rjsw-decade, html body #rj-comm-wizard .rjsw-pack, html body #rj-comm-wizard .rjst-pack, html body #rj-comm-wizard .rjsw-review, html body #rj-comm-wizard .rjsw-review-card, html body #rj-comm-wizard .rjsw-summary, html body #rj-comm-wizard .rjt-voice, html body #rj-comm-wizard .rjt-ver, html body #rj-comm-wizard .rjsw-extra, html body #rj-comm-wizard .rjsw-mpromo, html body #rj-comm-wizard .rjs-more, html body #rj-comm-wizard .rjsw-card, html body #rj-comm-wizard .rjsw-box, html body #rj-comm-wizard .rjsw-upsell, html body #rj-comm-wizard .rjsw-promo, html body #rj-comm-wizard .rjsw-mode-icon, html body #rj-comm-wizard .rjsw-bed-type-tag, html body #rj-comm-wizard #rjt-bonus, html body #rj-comm-wizard .rjt-field.rjt-toh{background:#2e3850!important; border-color:rgba(255,255,255,.22)!important}\nhtml body #rj-comm-wizard textarea, html body #rj-comm-wizard input[type=text], html body #rj-comm-wizard input[type=email], html body #rj-comm-wizard input[type=number], html body #rj-comm-wizard input:not([type]), html body #rj-comm-wizard select{background:#222b3d!important}\n\n\/* builder look A (looks.py, Paul 12 Oct): plain facts strip (no icons), currency note as text, lighter first step, soft voice cards *\/\nhtml body #rj-comm-wizard .rjwz-trust-ico, html body #rj-comm-wizard .rjs-trust-ico, html body #rj-comm-wizard .rjsw-trust-ico, html body #rj-comm-wizard .rjc-trust-ico{display:none!important}\nhtml body #rj-comm-wizard .rjwz-trust, html body #rj-comm-wizard .rjs-trust, html body #rj-comm-wizard .rjsw-trust, html body #rj-comm-wizard .rjc-trust{box-shadow:none!important}\nhtml body #rj-comm-wizard .rjwz-gbp, html body #rj-comm-wizard .rjs-gbp, html body #rj-comm-wizard .rjsw-gbp, html body #rj-comm-wizard .rjc-gbp{background:transparent!important; border:0!important; box-shadow:none!important; padding:0!important; margin:2px 0 20px!important; display:block!important}\nhtml body #rj-comm-wizard .rjwz-gbp-ico, html body #rj-comm-wizard .rjs-gbp-ico, html body #rj-comm-wizard .rjsw-gbp-ico, html body #rj-comm-wizard .rjc-gbp-ico{display:none!important}\nhtml body #rj-comm-wizard .rjwz-gbp-text , html body #rj-comm-wizard .rjwz-gbp-text strong, html body #rj-comm-wizard .rjs-gbp-text , html body #rj-comm-wizard .rjs-gbp-text strong, html body #rj-comm-wizard .rjsw-gbp-text , html body #rj-comm-wizard .rjsw-gbp-text strong, html body #rj-comm-wizard .rjc-gbp-text , html body #rj-comm-wizard .rjc-gbp-text strong{font-size:13px!important; line-height:1.5!important; color:#cbc5d3!important; font-weight:400!important}\nhtml body #rj-comm-wizard .rjsw-step[data-step=\"1\"], html body #rj-comm-wizard .rjt-step:first-of-type{background:#3a4560!important; border:0!important}\nhtml body #rj-comm-wizard .rjsw-voice, html body #rj-comm-wizard .rjt-voice{border:0!important; box-shadow:none!important; background:rgba(255,255,255,.07)!important; color:#f5f2f7!important}\nhtml body #rj-comm-wizard .rjsw-voice.selected, html body #rj-comm-wizard .rjsw-voice.active, html body #rj-comm-wizard .rjt-voice.selected{box-shadow:0 0 0 2px #ff4fa3 inset!important; background:rgba(239,44,146,.2)!important}\n<\/style>\n<script>\n(function(){ function move(){ var r = document.getElementById('rj-comm-wizard'); if (!r) return;\n  var g = r.querySelector('.rjs-gbp, .rjwz-gbp, .rjsw-gbp, .rjc-gbp'), st = r.querySelector('.rjsw-step[data-step=\"1\"], .rjt-step'),\n      i = st && st.querySelector('.rjsw-intro, .rjt-intro, p'); if (g && i && g.previousElementSibling !== i) i.insertAdjacentElement('afterend', g); }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', move); else move(); })();\n<\/script>\n<\/div>\n<script>\n\/* rj24-console press-to-hear: one <audio>, files load only when pressed, one sound at a time on the page *\/\n(function(){\n  var root = document.currentScript.previousElementSibling; if(!root || !root.classList.contains('rjc')) return;\n  var DEMOS = {\"advert\": \"https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/12\/Commercial-Demo.mp3\"}, audio = new Audio(), cur = null; audio.preload = 'none';\n  function stop(){ root.querySelectorAll('[data-demo].on').forEach(function(b){ b.classList.remove('on'); }); root.querySelectorAll('[data-console].on').forEach(function(c){ c.classList.remove('on'); }); }\n  root.addEventListener('click', function(e){\n    var b = e.target.closest('[data-demo]'); if(!b) return; e.preventDefault();\n    if(cur === b && !audio.paused){ audio.pause(); return; }\n    stop(); cur = b; var d = DEMOS[b.getAttribute('data-demo')]; if(!d) return;\n    audio.src = d; var p = audio.play(); if(p && p.catch) p.catch(stop);\n    b.classList.add('on'); var c = b.closest('[data-console]'); if(c) c.classList.add('on');\n  });\n  audio.addEventListener('pause', stop); audio.addEventListener('ended', stop);\n  document.addEventListener('play', function(e){ if(e.target !== audio && !audio.paused) audio.pause(); }, true);\n  \/\/ the October credits notice (printed by a site snippet above the page) moves under the hero as a slim line (REVIEW.md)\n  var gift = document.querySelector('.rj24-aigift-banner, .rj24-aigift-promo'), hero = root.querySelector('.hero');\n  if(gift && hero){ hero.insertAdjacentElement('afterend', gift); gift.classList.add('rjc-gift'); }\n  \/\/ place the hero directly under the banner: at the top of the content area, or below the theme header where that header\n  \/\/ overlays the content (the home page's transparent header). Measured, so it follows whatever the theme prints above;\n  \/\/ done only at the top of the page, and again once everything has loaded.\n  function place(){ var cw = document.querySelector('.container-wrap'), top = hero || root; if(!cw || window.scrollY > 4) return;\n    var inline = root.classList.contains('rjc-inline'), hdr = document.getElementById('header-outer');\n    for(var n = 0; n < 3; n++){\n      var want = cw.getBoundingClientRect().top + (inline ? (parseFloat(getComputedStyle(cw).paddingTop) || 0) : 0);\n      if(hdr && getComputedStyle(hdr).position !== 'static'){ want = Math.max(want, hdr.getBoundingClientRect().bottom); }\n      var off = Math.round(top.getBoundingClientRect().top - want);\n      if(Math.abs(off) < 1 || Math.abs(off) > 300) break;\n      root.style.marginTop = ((parseFloat(getComputedStyle(root).marginTop) || 0) - off) + 'px'; } }\n  place(); addEventListener('load', place);\n  \/\/ prices follow the wizard plugins' own price settings (window.RJ24_*_CFG, printed on every page), so the monthly offers\n  \/\/ changeover needs no page edit. A setting that is missing leaves the typed price (and shows the line) as it is.\n  \/\/   data-price=\"RJ24_X_CFG.a.b\" [data-div=\"10\"] [data-from=\"30\"]  -> \"\u00a3\" + value (\/ 10, or 30 - value)\n  \/\/   data-price=\"@#wizard .price-el\"  -> the first \u00a3 price that element of the live wizard prints (no setting exists)\n  \/\/   data-show-if=\"RJ24_X_CFG.a.b\" [data-lt=\"25\"]                   -> line shown only while value < 25 (or truthy)\n  function cfg(path){ if(path.charAt(0) === '@'){ var el = document.querySelector(path.slice(1)), m = el && el.textContent.match(\/\\u00a3\\s?(\\d+(?:\\.\\d+)?)\/); return m ? +m[1] : null; }\n    var parts = path.split('.'), o = window[parts.shift()];\n    for(var i = 0; i < parts.length && o != null; i++){ var k = parts[i]; o = (k in Object(o)) ? o[k] : o[k.replace(\/_\/g, ' ')]; }\n    if(typeof o === 'boolean') o = o ? 1 : 0; if(typeof o === 'string' && o.trim() !== '' && !isNaN(o)) o = +o;\n    return (typeof o === 'number' && isFinite(o)) ? o : null; }\n  function bind(){\n    root.querySelectorAll('[data-price]').forEach(function(el){ var v = cfg(el.getAttribute('data-price')); if(v === null) return;\n      if(el.hasAttribute('data-div')) v = v \/ +el.getAttribute('data-div'); if(el.hasAttribute('data-from')) v = +el.getAttribute('data-from') - v;\n      v = Math.round(v * 100) \/ 100; el.textContent = '\\u00a3' + (v % 1 ? v.toFixed(2) : v); });\n    root.querySelectorAll('[data-show-if]').forEach(function(el){ var v = cfg(el.getAttribute('data-show-if')); if(v === null) return;\n      var on = el.hasAttribute('data-lt') ? v < +el.getAttribute('data-lt') : !!v;\n      if(on) el.style.removeProperty('display'); else el.style.setProperty('display', 'none', 'important'); }); }\n  bind(); document.addEventListener('DOMContentLoaded', bind); addEventListener('load', bind);\n})();\n<\/script><!--\n  RADIO JINGLES 24 \u2014 COMMERCIAL \/ FULLY PRODUCED ADVERT WIZARD  v1.0\n  Paste into the commercial-production product as a Raw HTML \/ Text block.\n  Requires the \"RJ24 Commercial Production\" plugin active (provides\n  window.RJ24_COMM_CFG + the rj24_add_commercial AJAX endpoint).\n\n  Pricing (server-authoritative; wizard shows an estimate):\n    Word tiers (total words in the script):\n      up to  75 : \u00a330 for every voice   (~30 sec)\n      up to 150 : \u00a350   (~60 sec)\n      up to 225 : \u00a3100\n      up to 300 : \u00a3200\n      over 300  : \"contact us for a quote\" (Add to cart blocked)\n    Voices: 1 included, 2 = +\u00a315, 3 = +\u00a330 (rare; production add-on).\n    Format MP3\/WAVE\/AIFF: no price effect.\n\n  Upsell: after adding one advert, a bump offers \"Add another advert?\" which\n  resets the wizard for a fresh, independent advert (own voice\/script\/price),\n  added as a separate cart line.\n\n  Sticky footer + toast + bump are UN-SCOPED (#rjc-* IDs) and portaled to\n  <body> so position:fixed escapes the theme's transformed .ocm-effect-wrap.\n-->\n<style>\n#rj-comm-wizard{\n  --fb-pink:#EC4899; --fb-pink-dark:#DB2777; --fb-pink-light:#FDF2F8;\n  --fb-ink:#1E293B; --fb-text:#475569; --fb-muted:#94A3B8; --fb-line:#E2E8F0;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--fb-ink); max-width:1000px; margin:0 auto; padding:100px 0 160px;\n  -webkit-font-smoothing:antialiased;\n}\n@media (max-width:1000px){ #rj-comm-wizard{ padding-top:90px; } }\n@media (max-width:600px){ #rj-comm-wizard{ padding-top:80px; } }\n#rj-comm-wizard *{ box-sizing:border-box; }\n#rj-comm-wizard .rjsw-step{\n  background:#fff; border:1px solid var(--fb-line); border-radius:16px;\n  padding:24px; margin:0 0 18px;\n}\n#rj-comm-wizard .rjsw-h{ font-size:20px; font-weight:800; color:var(--fb-ink); margin:0 0 6px; letter-spacing:-0.01em; }\n#rj-comm-wizard .rjsw-intro{ font-size:14px; color:var(--fb-text); line-height:1.6; margin:0 0 16px; }\n#rj-comm-wizard .rjsw-intro b{ color:var(--fb-ink); }\n\n#rj-comm-wizard .rjsw-voices{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }\n#rj-comm-wizard .rjsw-voice{\n  background:#fff; border:2px solid var(--fb-line); border-radius:14px;\n  padding:14px 8px; text-align:center; cursor:pointer;\n  transition:border-color .15s, transform .12s, box-shadow .15s;\n}\n#rj-comm-wizard .rjsw-voice:hover{ border-color:var(--fb-pink); transform:translateY(-2px); box-shadow:0 10px 24px rgba(236,72,153,.14); }\n#rj-comm-wizard .rjsw-voice.selected{ border-color:var(--fb-pink); background:var(--fb-pink-light); box-shadow:0 6px 18px rgba(236,72,153,.18); }\n#rj-comm-wizard .rjsw-voice-avatar{ position:relative; width:72px; height:72px; margin:0 auto 8px; }\n#rj-comm-wizard .rjsw-voice-avatar img{ width:72px; height:72px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.1); }\n#rj-comm-wizard .rjsw-voice-play{\n  position:absolute; bottom:-2px; right:-2px; width:28px; height:28px; border-radius:50%;\n  background:var(--fb-pink); color:#fff; border:3px solid #fff; cursor:pointer;\n  font-size:11px; line-height:1; display:flex; align-items:center; justify-content:center;\n}\n#rj-comm-wizard .rjsw-voice-play:hover{ background:var(--fb-pink-dark); }\n#rj-comm-wizard .rjsw-voice-name{ font-size:13px; font-weight:700; color:var(--fb-ink); }\n\n#rj-comm-wizard .rjsw-field{ margin:0 0 16px; }\n#rj-comm-wizard .rjsw-label{ display:block; font-size:14px; font-weight:700; color:var(--fb-ink); margin:0 0 6px; }\n#rj-comm-wizard .rjsw-textarea{\n  width:100%; border:2px solid var(--fb-line); border-radius:12px; padding:12px 14px;\n  font-family:inherit; font-size:14px; line-height:1.5; color:var(--fb-ink); background:#fff; resize:vertical;\n}\n#rj-comm-wizard .rjsw-textarea:focus{ outline:none; border-color:var(--fb-pink); box-shadow:0 0 0 4px rgba(236,72,153,.1); }\n#rj-comm-wizard .rjsw-counter{ margin-top:8px; font-size:13px; font-weight:700; color:var(--fb-text); }\n#rj-comm-wizard .rjsw-counter .rjsw-tiernote{ color:var(--fb-muted); font-weight:600; }\n#rj-comm-wizard .rjsw-counter.over{ color:var(--fb-pink-dark); }\n#rj-comm-wizard .rjsw-overlimit{\n  display:none; margin-top:10px; padding:12px 14px; border-radius:12px;\n  background:#FEF2F2; border:1px solid #FECACA; color:#B91C1C; font-size:13px; font-weight:600; line-height:1.5;\n}\n#rj-comm-wizard .rjsw-overlimit.show{ display:block; }\n\n#rj-comm-wizard .rjsw-pills{ display:flex; flex-wrap:wrap; gap:10px; }\n#rj-comm-wizard .rjsw-pill{\n  border:2px solid var(--fb-line); border-radius:999px; padding:10px 22px;\n  background:#fff; cursor:pointer; font-family:inherit; font-weight:700; font-size:14px; color:var(--fb-ink);\n  transition:border-color .15s, background .15s, color .15s;\n}\n#rj-comm-wizard .rjsw-pill:hover{ border-color:var(--fb-pink); }\n#rj-comm-wizard .rjsw-pill.active{ border-color:var(--fb-pink); background:var(--fb-pink-light); color:var(--fb-pink-dark); }\n#rj-comm-wizard .rjsw-pill small{ display:block; font-weight:600; font-size:11px; color:var(--fb-muted); margin-top:2px; }\n#rj-comm-wizard .rjsw-pill.active small{ color:var(--fb-pink-dark); }\n\n#rj-comm-wizard .rjsw-style-ex{ margin:0 0 16px; }\n#rj-comm-wizard .rjsw-style-ex audio{ width:100%; max-width:480px; height:38px; }\n\n\/* Sticky footer \/ toast \/ bump \u2014 UN-SCOPED, portaled to body *\/\n#rjc-footer{\n  --fb-pink:#EC4899; --fb-pink-dark:#DB2777; --fb-muted:#94A3B8; --fb-line:#E2E8F0;\n  position:fixed; left:0; right:0; bottom:0; z-index:99999;\n  background:#fff; border-top:1px solid var(--fb-line); box-shadow:0 -4px 20px rgba(0,0,0,.08);\n  display:flex; align-items:center; justify-content:space-between; gap:16px;\n  padding:14px 24px; box-sizing:border-box;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n}\n#rjc-footer *{ box-sizing:border-box; }\n#rjc-footer .rjsw-price{ display:flex; flex-direction:column; line-height:1.1; }\n#rjc-footer .rjsw-price-label{ font-size:12px; color:var(--fb-muted); font-weight:600; text-transform:uppercase; letter-spacing:.05em; }\n#rjc-footer .rjsw-price-val{ font-size:26px; font-weight:800; color:var(--fb-pink-dark); }\n#rjc-footer .rjsw-btn.primary{\n  background:var(--fb-pink); color:#fff; border:none; border-radius:999px;\n  font-weight:800; font-size:16px; padding:14px 34px; cursor:pointer;\n  box-shadow:0 6px 18px rgba(236,72,153,.32); transition:background .15s, transform .15s; font-family:inherit;\n}\n#rjc-footer .rjsw-btn.primary:hover{ background:var(--fb-pink-dark); transform:translateY(-1px); }\n#rjc-footer .rjsw-btn.primary:disabled{ background:var(--fb-muted); box-shadow:none; cursor:not-allowed; transform:none; }\n\n#rjc-toast{\n  --fb-pink:#EC4899;\n  position:fixed; left:50%; transform:translateX(-50%); bottom:90px; z-index:100001;\n  background:var(--fb-pink); color:#fff; font-weight:700; font-size:14px;\n  padding:14px 28px; border-radius:999px; box-shadow:0 10px 30px rgba(236,72,153,.5);\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n}\n#rjc-toast.success{ background:#10B981; box-shadow:0 10px 30px rgba(16,185,129,.5); }\n#rjc-toast.error{ background:#DC2626; box-shadow:0 10px 30px rgba(220,38,38,.5); }\n\n#rjc-bump{\n  --fb-pink:#EC4899; --fb-pink-dark:#DB2777; --fb-pink-light:#FDF2F8;\n  --fb-ink:#1E293B; --fb-text:#475569; --fb-muted:#94A3B8; --fb-line:#E2E8F0;\n  position:fixed; inset:0; z-index:100002; display:none;\n  align-items:center; justify-content:center; padding:20px; background:rgba(15,23,42,.55);\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n}\n#rjc-bump.show{ display:flex; }\n#rjc-bump *{ box-sizing:border-box; }\n#rjc-bump .rjc-bump-card{ background:#fff; border-radius:18px; max-width:460px; width:100%; padding:28px; box-shadow:0 24px 60px rgba(0,0,0,.3); text-align:left; }\n#rjc-bump .rjc-bump-badge{ display:inline-block; background:var(--fb-pink-light); color:var(--fb-pink-dark); font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:6px 12px; border-radius:999px; margin:0 0 12px; }\n#rjc-bump h3{ font-size:21px; font-weight:800; color:var(--fb-ink); margin:0 0 8px; letter-spacing:-0.01em; }\n#rjc-bump p{ font-size:14px; line-height:1.6; color:var(--fb-text); margin:0 0 18px; }\n#rjc-bump .rjc-bump-actions{ display:flex; flex-direction:column; gap:10px; }\n#rjc-bump .rjc-bump-yes{ background:var(--fb-pink); color:#fff; border:none; border-radius:999px; font-weight:800; font-size:16px; padding:14px 22px; cursor:pointer; font-family:inherit; box-shadow:0 6px 18px rgba(236,72,153,.32); transition:background .15s, transform .15s; }\n#rjc-bump .rjc-bump-yes:hover{ background:var(--fb-pink-dark); transform:translateY(-1px); }\n#rjc-bump .rjc-bump-no{ background:none; border:none; color:var(--fb-muted); font-family:inherit; font-weight:700; font-size:14px; padding:8px; cursor:pointer; text-decoration:underline; }\n#rjc-bump .rjc-bump-no:hover{ color:var(--fb-text); }\n\n@media (max-width:900px){ #rj-comm-wizard .rjsw-voices{ grid-template-columns:repeat(3,1fr); } }\n@media (max-width:560px){ #rj-comm-wizard .rjsw-voices{ grid-template-columns:repeat(2,1fr); } }\n\n\/* RJ24-EDIT (Nov 2026): hero + trust panel + GBP note *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Anton&display=swap');\n#rj-comm-wizard .rjc-hero{\n  position:relative; border-radius:20px; overflow:hidden; isolation:isolate;\n  text-align:center; padding:36px 28px 30px; margin:0 0 18px;\n  background-color:#160F1F;\n  background-image:\n    radial-gradient(120% 140% at 12% 18%, rgba(236,72,153,0.55) 0%, rgba(236,72,153,0) 55%),\n    radial-gradient(120% 140% at 92% 10%, rgba(245,158,11,0.30) 0%, rgba(245,158,11,0) 50%),\n    linear-gradient(135deg,#241733 0%,#0F0A18 100%);\n}\n#rj-comm-wizard .rjc-hero::after{\n  content:\"\"; position:absolute; inset:0; z-index:-1;\n  background-image:radial-gradient(rgba(255,255,255,0.05) 1px,transparent 1px);\n  background-size:22px 22px; opacity:.5;\n}\n#rj-comm-wizard .rjc-hero-eyebrow{\n  display:inline-block; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.25);\n  color:#fff; padding:6px 14px; border-radius:999px; font-size:11px; font-weight:800;\n  letter-spacing:.1em; text-transform:uppercase; margin-bottom:14px;\n}\n#rj-comm-wizard .rjc-hero-h{\n  font-family:'Anton',sans-serif; font-size:clamp(30px,5vw,52px); line-height:.95;\n  color:#fff; margin:0; text-transform:uppercase; text-shadow:0 4px 30px rgba(236,72,153,.4);\n}\n#rj-comm-wizard .rjc-pop{\n  background:linear-gradient(180deg,#FBCFE8 0%,#EC4899 60%,#DB2777 100%);\n  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;\n}\n#rj-comm-wizard .rjc-hero-sub{\n  color:rgba(255,255,255,0.82); font-size:14px; max-width:520px; margin:12px auto 0; line-height:1.55;\n}\n\n#rj-comm-wizard .rjc-trust{\n  display:grid; grid-template-columns:repeat(5,1fr); gap:10px;\n  margin:0 0 16px; padding:14px;\n  background:#fff; border:1px solid var(--fb-line); border-radius:14px;\n}\n#rj-comm-wizard .rjc-trust-item{\n  display:flex; flex-direction:column; align-items:center; text-align:center;\n  padding:8px 6px; gap:4px;\n}\n#rj-comm-wizard .rjc-trust-ico{ font-size:22px; line-height:1; }\n#rj-comm-wizard .rjc-trust-h{ font-size:12.5px; font-weight:800; color:var(--fb-ink); line-height:1.25; }\n#rj-comm-wizard .rjc-trust-d{ font-size:11px; color:var(--fb-text); line-height:1.4; }\n@media (max-width:880px){ #rj-comm-wizard .rjc-trust{ grid-template-columns:repeat(2,1fr); } }\n@media (max-width:480px){ #rj-comm-wizard .rjc-trust{ grid-template-columns:1fr; } }\n\n#rj-comm-wizard .rjc-gbp{\n  display:flex; align-items:center; gap:10px;\n  background:#FBF7F2; border:1px solid #F3E8DD; border-left:3px solid var(--fb-pink);\n  border-radius:10px; padding:10px 16px; margin:0 auto 20px;\n  max-width:560px; font-size:12.5px; line-height:1.5; color:var(--fb-text);\n}\n#rj-comm-wizard .rjc-gbp-ico{ font-size:15px; flex-shrink:0; }\n#rj-comm-wizard .rjc-gbp-text strong{ color:var(--fb-ink); font-weight:700; }\n\/* \/RJ24-EDIT *\/\n<\/style>\n\n<div class=\"rjsw\" id=\"rj-comm-wizard\">\n\n  <!-- RJ24-EDIT (Nov 2026): hero + trust panel + GBP note -->\n  <div class=\"rjc-hero\">\n    <div class=\"rjc-hero-eyebrow\">\ud83d\udce2 Fully produced &middot; voiced, scored &amp; mixed<\/div>\n    <h1 class=\"rjc-hero-h\">A radio advert<br><span class=\"rjc-pop\">that actually sells.<\/span><\/h1>\n    <p class=\"rjc-hero-sub\">Tell us what you want to say. We'll record real voices, score it to music, and mix you a broadcast-ready advert &mdash; in your inbox within 24 hours, royalty-free forever.<\/p>\n  <\/div>\n\n  <div class=\"rjc-trust\">\n    <div class=\"rjc-trust-item\"><span class=\"rjc-trust-ico\">\u23f1<\/span><span class=\"rjc-trust-h\">24-hour delivery<\/span><span class=\"rjc-trust-d\">Most adverts back the same working day<\/span><\/div>\n    <div class=\"rjc-trust-item\"><span class=\"rjc-trust-ico\">\ud83c\udf99\ufe0f<\/span><span class=\"rjc-trust-h\">Up to 3 voices<\/span><span class=\"rjc-trust-d\">Single voice or full dialogue with multiple characters<\/span><\/div>\n    <div class=\"rjc-trust-item\"><span class=\"rjc-trust-ico\">\ud83c\udfb5<\/span><span class=\"rjc-trust-h\">Music included<\/span><span class=\"rjc-trust-d\">Fully scored and mixed in our studio<\/span><\/div>\n    <div class=\"rjc-trust-item\"><span class=\"rjc-trust-ico\">\ud83c\udf9a<\/span><span class=\"rjc-trust-h\">Production tweaks if needed<\/span><span class=\"rjc-trust-d\">Script is final once recorded &mdash; but we&rsquo;ll re-mix music or FX<\/span><\/div>\n    <div class=\"rjc-trust-item\"><span class=\"rjc-trust-ico\">\u221e<\/span><span class=\"rjc-trust-h\">Royalty-free forever<\/span><span class=\"rjc-trust-d\">Yours to broadcast as long as you need<\/span><\/div>\n  <\/div>\n\n  <div class=\"rjc-gbp\">\n    <span class=\"rjc-gbp-ico\">\ud83d\udcb1<\/span>\n    <span class=\"rjc-gbp-text\">Prices shown in <strong>GBP (\u00a3)<\/strong>. Not in the UK? Your local currency is calculated at checkout, at today's exchange rate.<\/span>\n  <\/div>\n  <!-- \/RJ24-EDIT -->\n\n  <!-- STEP 1: PICK VOICE(S) -->\n  <div class=\"rjsw-step\" data-step=\"1\">\n    <h2 class=\"rjsw-h\">1. Pick your Voice(s)<\/h2>\n    <p class=\"rjsw-intro\"><b>Paul<\/b> is our house voice (best value). You can choose <b>up to 3 voices<\/b> if your advert needs more than one (for dialogue) &mdash; each extra voice is <b>+\u00a315<\/b>. Tell us who says which part in the instructions box below.<\/p>\n    <div class=\"rjsw-voices\" id=\"rjc-voices\"><!-- voice cards injected by JS --><\/div>\n    <div class=\"rjsw-counter\" id=\"rjc-voicesel\">No voices selected yet<\/div>\n  <\/div>\n\n  <!-- STEP 2: SCRIPT -->\n  <div class=\"rjsw-step\" data-step=\"2\">\n    <h2 class=\"rjsw-h\">2. Type In your Script<\/h2>\n    <p class=\"rjsw-intro\">Roughly <b>75 words \u2248 a 30-second advert<\/b>, <b>150 words \u2248 60 seconds<\/b>. The price adjusts to the length automatically &mdash; you'll see it update below as you type.<\/p>\n    <div class=\"rjsw-field\">\n      <label class=\"rjsw-label\" for=\"rjc-script\">Your advert script<\/label>\n      <textarea id=\"rjc-script\" class=\"rjsw-textarea\" rows=\"6\" placeholder=\"Type your advert script here...\"><\/textarea>\n      <div class=\"rjsw-counter\" id=\"rjc-count\">0 words <span class=\"rjsw-tiernote\">&middot; up to 30 sec<\/span><\/div>\n      <div class=\"rjsw-overlimit\" id=\"rjc-over\">That's a long one! For adverts over 300 words (~2 minutes) we'll quote you directly so it's priced fairly. Please email <b>info@radiojingles24.com<\/b> or call <b>0113 534 6686<\/b> and we'll sort it.<\/div>\n    <\/div>\n    <div class=\"rjsw-field\">\n      <label class=\"rjsw-label\" for=\"rjc-instr\">Instructions for us &mdash; including who says which part if using more than one voice<\/label>\n      <textarea id=\"rjc-instr\" class=\"rjsw-textarea\" rows=\"3\" placeholder=\"e.g. Paul reads the main script, Laura says the closing tagline. Plus any music style, mood, pace, pronunciation...\"><\/textarea>\n    <\/div>\n  <\/div>\n\n  <!-- STEP 4: FORMAT -->\n  <div class=\"rjsw-step\" data-step=\"4\">\n    <h2 class=\"rjsw-h\">4. Choose Format<\/h2>\n    <div class=\"rjsw-pills\" id=\"rjc-format\">\n      <button type=\"button\" class=\"rjsw-pill active\" data-fmt=\"MP3\">MP3<\/button>\n      <button type=\"button\" class=\"rjsw-pill\" data-fmt=\"WAVE\">WAVE<\/button>\n      <button type=\"button\" class=\"rjsw-pill\" data-fmt=\"AIFF\">AIFF<\/button>\n    <\/div>\n  <\/div>\n\n  <!-- EXAMPLE -->\n  <div class=\"rjsw-step\" data-step=\"5\">\n    <h2 class=\"rjsw-h\">Hear an example<\/h2>\n    <div class=\"rjsw-style-ex\">\n      <p class=\"rjsw-intro\">A fully produced advert with music &mdash; this is the kind of thing you'll get back:<\/p>\n      <audio controls preload=\"none\" src=\"https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/12\/Commercial-Demo.mp3\"><\/audio>\n    <\/div>\n  <\/div>\n\n<\/div><!-- \/#rj-comm-wizard -->\n\n<div class=\"rjsw-footer rjc-portaled\" id=\"rjc-footer\">\n  <div class=\"rjsw-price\">\n    <span class=\"rjsw-price-label\">Total<\/span>\n    <span class=\"rjsw-price-val\" id=\"rjc-total\">&pound;30<\/span>\n  <\/div>\n  <button type=\"button\" class=\"rjsw-btn primary\" id=\"rjc-add\">Add to cart<\/button>\n<\/div>\n\n<div id=\"rjc-bump\" class=\"rjc-portaled\" aria-hidden=\"true\">\n  <div class=\"rjc-bump-card\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"rjc-bump-title\">\n    <span class=\"rjc-bump-badge\">Added to cart<\/span>\n    <h3 id=\"rjc-bump-title\">Need another advert?<\/h3>\n    <p>Your advert is in the cart. Want to build <b>another one now<\/b> &mdash; a different script, voice or length? We'll add it as a separate advert.<\/p>\n    <div class=\"rjc-bump-actions\">\n      <button type=\"button\" class=\"rjc-bump-yes\" id=\"rjc-bump-yes\">Yes, build another advert<\/button>\n      <button type=\"button\" class=\"rjc-bump-no\" id=\"rjc-bump-no\">No thanks, go to cart<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"rjsw-toast rjc-portaled\" id=\"rjc-toast\" style=\"display:none;\"><\/div>\n\n<script>\n(function(){\n  var VOICES = [\n    { name: 'Paul', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/11\/Paul-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/Paul-Blundell-Imaging-Demo-1.mp3' },\n    { name: 'Jo', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/11\/Jo-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/JO-DEMO-1-1.mp3' },\n    { name: 'Laura', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/11\/Laura-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/Voicereel-2.mp3' },\n    { name: 'John', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/11\/John-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/JOHN-C-Voice-Demo-New.mp3' },\n    { name: 'Craig', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/11\/Craig-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/02\/Craig-2020-Show-Reel-1.mp3' },\n    { name: 'Andy', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/03\/E8C9124F-BF16-4E1D-AC6A-AA1EE5A3AD1B-Bighead-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/03\/Andy-Hoyle-Commercial-Showreel.mp3' },\n    { name: 'Gwen', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/03\/GwenWatsonVoice-Bighead-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/03\/GwenWatson-Commercial-Voicereel_FINAL.mp3' },\n    { name: 'April', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/11\/4AA2DDC5-0A00-4DDB-AA39-2EDE84A0BCAE-Bighead-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/11\/Ingrid-2022-commercial-Demo_mixdown-2.mp3' },\n    { name: 'Gareth', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/11\/IMG_6786-Bighead-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/11\/Gareth-Webb-Audio.mp3' },\n    { name: 'Fiona', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/03\/fi-cow-print-Bighead-2-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/11\/fiona-Commercial-mix-VO.mp3' },\n    { name: 'Elisa', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/11\/EmsePctXIAEP6Kb-Bighead-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/11\/Elisa-Hilton-Commerical-showreel.mp3' },\n    { name: 'Dave', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2023\/03\/03-02-2023-bighead-toon-White-BG-3-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2023\/03\/COMMERCIAL-DEMO-SESSION4_mixdown.mp3' },\n    { name: 'Amiley (Teen)', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/03\/A61BC63A-A628-473F-A3ED-3F822033FCD0-Bighead-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/11\/Verity-Commercial-Mix-Demo-2022.mp3' },\n    { name: 'Cheesy DJ', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/03\/p02bl5d1-Bighead-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/11\/cheesydj.mp3' },\n    { name: 'Mike', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/11\/Mike-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/MikeTarnow-Imaging-Demo-1.mp3' },\n    \n    { name: 'Kendra', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/03\/Kendra-Raines-Bighead-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2022\/11\/Commercial-Demo-Kendra-Raines.mp3' },\n    { name: 'Ally', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/12\/Ally-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/12\/Ally2.mp3' },\n    { name: 'Stephen', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/12\/m.97956-300x300.jpg', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/02\/Stephen-Daly-Commercial-Voiceover-Show-Reel.mp3' },\n    \n    { name: 'Vito', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/12\/Vito-300x300.png', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/12\/Vito.mp3' },\n    { name: 'Santa', img: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/10\/happy-santa-1428126-300x255.jpg', demo: 'https:\/\/radiojingles24.com\/wp-content\/uploads\/2020\/10\/Santa-Demo.mp3' }\n  ];\n  var MAX_WORDS = 300;\n  var st = { voiceList: [], format: 'MP3', busy: false };\n  var MAX_VOICES = (window.RJ24_COMM_CFG && window.RJ24_COMM_CFG.maxVoices) ? window.RJ24_COMM_CFG.maxVoices : 3;\n  var VOICE_FEE  = (window.RJ24_COMM_CFG && window.RJ24_COMM_CFG.voiceFee) ? window.RJ24_COMM_CFG.voiceFee : 15;\n\n  function el(id){ return document.getElementById(id); }\n  function wordCount(t){ t=(t||'').trim(); if(!t) return 0; var p=t.split(\/\\s+\/).filter(Boolean); return p.length; }\n\n  function portalComm(){\n    ['rjc-footer','rjc-toast','rjc-bump'].forEach(function(id){\n      var node = el(id);\n      if (node && node.parentElement !== document.body){ document.body.appendChild(node); }\n    });\n  }\n  if (document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', portalComm); }\n  else { portalComm(); }\n  setTimeout(portalComm, 800);\n  setTimeout(portalComm, 2000);\n\n  \/\/ ---- Build voice cards ----\n  var vWrap = el('rjc-voices');\n  var currentAudio = null, currentBtn = null;\n  VOICES.forEach(function(v){\n    var card = document.createElement('div');\n    card.className = 'rjsw-voice';\n    card.setAttribute('data-voice', v.name);\n    card.innerHTML =\n      '<div class=\"rjsw-voice-avatar\">' +\n        '<img decoding=\"async\" src=\"' + v.img + '\" alt=\"' + v.name + '\">' +\n        '<button type=\"button\" class=\"rjsw-voice-play\" aria-label=\"Preview ' + v.name + '\">&#9658;<\/button>' +\n        '<audio preload=\"none\" src=\"' + v.demo + '\"><\/audio>' +\n      '<\/div>' +\n      '<div class=\"rjsw-voice-name\">' + v.name + '<\/div>';\n    card.addEventListener('click', function(e){\n      if (e.target.closest('.rjsw-voice-play')) return;\n      var name = v.name;\n      var idx = st.voiceList.indexOf(name);\n      if (idx > -1){\n        \/\/ deselect\n        st.voiceList.splice(idx, 1);\n        card.classList.remove('selected');\n      } else {\n        if (st.voiceList.length >= MAX_VOICES){\n          toast('You can choose up to ' + MAX_VOICES + ' voices.', 'error');\n          return;\n        }\n        st.voiceList.push(name);\n        card.classList.add('selected');\n      }\n      updateTotal();\n    });\n    var playBtn = card.querySelector('.rjsw-voice-play');\n    var audio = card.querySelector('audio');\n    playBtn.addEventListener('click', function(e){\n      e.preventDefault(); e.stopPropagation();\n      if (currentAudio && currentAudio !== audio){ currentAudio.pause(); currentAudio.currentTime=0; if(currentBtn) currentBtn.innerHTML='&#9658;'; }\n      if (audio.paused){ audio.play(); playBtn.innerHTML='&#10073;&#10073;'; currentAudio=audio; currentBtn=playBtn; }\n      else { audio.pause(); playBtn.innerHTML='&#9658;'; }\n      audio.onended = function(){ playBtn.innerHTML='&#9658;'; };\n    });\n    vWrap.appendChild(card);\n  });\n\n  \/\/ ---- Tier helpers (mirror the plugin) ----\n  function tierPrice(words, isPaul){\n    if (words <= 75)  return 30; \/* v1.1.0: one price for every voice *\/\n    if (words <= 150) return 50;\n    if (words <= 225) return 100;\n    return 200;\n  }\n  function tierNote(words){\n    if (words <= 75)  return 'up to 30 sec';\n    if (words <= 150) return '~30-60 sec';\n    if (words <= 225) return '~60-90 sec';\n    if (words <= 300) return '~90-120 sec';\n    return 'over 2 min - contact us';\n  }\n\n  function calcPrice(){\n    var words = wordCount(el('rjc-script').value);\n    var n = st.voiceList.length;\n    \/\/ Base rate: \"Paul\" rate only if the sole voice is Paul; any other\/extra voice uses the others rate.\n    var onlyPaul = (n === 1 && st.voiceList[0].toLowerCase() === 'paul');\n    var base = tierPrice(words, onlyPaul);\n    var extra = n > 1 ? (n - 1) * VOICE_FEE : 0;\n    return base + extra;\n  }\n\n  function updateTotal(){\n    var words = wordCount(el('rjc-script').value);\n    var over = words > MAX_WORDS;\n    \/\/ counter line\n    var c = el('rjc-count');\n    c.innerHTML = words + ' word' + (words===1?'':'s') + ' <span class=\"rjsw-tiernote\">&middot; ' + tierNote(words) + '<\/span>';\n    c.classList.toggle('over', over);\n    \/\/ selected voices line\n    var vs = el('rjc-voicesel');\n    if (vs){\n      var n = st.voiceList.length;\n      if (n === 0){ vs.innerHTML = 'No voices selected yet'; }\n      else {\n        var extra = n > 1 ? ' <span class=\"rjsw-tiernote\">&middot; +&pound;' + ((n-1)*VOICE_FEE) + ' for ' + (n-1) + ' extra voice' + (n-1===1?'':'s') + '<\/span>' : '';\n        vs.innerHTML = n + ' voice' + (n===1?'':'s') + ' selected: <b>' + st.voiceList.join(', ') + '<\/b>' + extra;\n      }\n    }\n    \/\/ overlimit notice + disable add\n    el('rjc-over').classList.toggle('show', over);\n    var addBtn = el('rjc-add');\n    if (addBtn){ addBtn.disabled = over; }\n    \/\/ total\n    el('rjc-total').innerHTML = over ? 'Quote' : ('&pound;' + calcPrice());\n  }\n\n  el('rjc-script').addEventListener('input', updateTotal);\n\n  \/\/ (Voice count is now derived from how many voice cards are selected.)\n\n  \/\/ ---- Format pills ----\n  el('rjc-format').addEventListener('click', function(e){\n    var b = e.target.closest('.rjsw-pill'); if(!b) return;\n    this.querySelectorAll('.rjsw-pill').forEach(function(p){ p.classList.remove('active'); });\n    b.classList.add('active');\n    st.format = b.getAttribute('data-fmt');\n  });\n\n  \/\/ ---- Toast ----\n  function toast(msg, kind){\n    var t = el('rjc-toast');\n    t.textContent = msg;\n    t.className = 'rjsw-toast rjc-portaled' + (kind ? ' ' + kind : '');\n    t.style.display = 'block';\n    clearTimeout(t._t);\n    t._t = setTimeout(function(){ t.style.display='none'; }, 4000);\n  }\n\n  \/\/ ---- Bump helpers ----\n  function openBump(){ el('rjc-bump').classList.add('show'); el('rjc-bump').setAttribute('aria-hidden','false'); }\n  function closeBump(){ el('rjc-bump').classList.remove('show'); el('rjc-bump').setAttribute('aria-hidden','true'); }\n\n  function resetWizard(){\n    st.voiceList = []; st.format = 'MP3';\n    document.querySelectorAll('#rjc-voices .rjsw-voice').forEach(function(c){ c.classList.remove('selected'); });\n    el('rjc-script').value = '';\n    el('rjc-instr').value = '';\n    \/\/ reset format pills\n    el('rjc-format').querySelectorAll('.rjsw-pill').forEach(function(p,i){ p.classList.toggle('active', i===0); });\n    updateTotal();\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  }\n\n  \/\/ ---- Validate ----\n  function validate(){\n    var cfg = window.RJ24_COMM_CFG || {};\n    if (!cfg.ajaxUrl){ toast('Setup error: missing config. Please refresh.', 'error'); return false; }\n    if (!st.voiceList.length){ toast('Please pick at least one voice.', 'error'); return false; }\n    var script = el('rjc-script').value.trim();\n    if (!script){ toast('Please type your advert script.', 'error'); return false; }\n    if (wordCount(script) > MAX_WORDS){ toast('That script is over 300 words - please contact us for a quote.', 'error'); return false; }\n    return true;\n  }\n\n  \/\/ ---- Submit ----\n  function submitAdvert(afterDone){\n    if (st.busy) return;\n    if (!validate()) return;\n    st.busy = true;\n    var btn = el('rjc-add'); var old = btn.textContent; btn.textContent = 'Adding...';\n\n    var cfg = window.RJ24_COMM_CFG || {};\n    var body = new URLSearchParams();\n    body.set('action', 'rj24_add_commercial');\n    body.set('nonce', cfg.nonce || '');\n    body.set('rj24_product_id', cfg.productId || '');\n    body.set('rj24_voice', st.voiceList.join(', '));\n    body.set('rj24_script', el('rjc-script').value.trim());\n    body.set('rj24_instructions', el('rjc-instr').value.trim());\n    body.set('rj24_format', st.format);\n    body.set('rj24_voices', String(st.voiceList.length));\n\n    fetch(cfg.ajaxUrl, {\n      method: 'POST', credentials: 'same-origin',\n      headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\n      body: body.toString()\n    })\n    .then(function(r){ return r.json(); })\n    .then(function(res){\n      st.busy = false; btn.textContent = old;\n      if (res && res.success){\n        toast('Advert added to cart!', 'success');\n        if (typeof afterDone === 'function'){ afterDone(res); }\n      } else {\n        toast((res && res.message) ? res.message : 'Could not add to cart.', 'error');\n      }\n    })\n    .catch(function(){\n      st.busy = false; btn.textContent = old;\n      toast('Network error. Please try again.', 'error');\n    });\n  }\n\n  \/\/ Main \"Add to cart\": add the advert, then offer the \"another advert?\" bump.\n  el('rjc-add').addEventListener('click', function(){\n    submitAdvert(function(){ openBump(); });\n  });\n\n  \/\/ Bump \"Yes\": reset the wizard for a fresh advert (item already in cart).\n  el('rjc-bump-yes').addEventListener('click', function(){\n    closeBump();\n    resetWizard();\n    toast('Build your next advert below.', 'success');\n  });\n\n  \/\/ Bump \"No thanks\": go to cart.\n  el('rjc-bump-no').addEventListener('click', function(){\n    var cfg = window.RJ24_COMM_CFG || {};\n    closeBump();\n    if (cfg.cartUrl){ window.location.href = cfg.cartUrl; }\n  });\n  el('rjc-bump').addEventListener('click', function(e){\n    if (e.target === this){\n      var cfg = window.RJ24_COMM_CFG || {};\n      closeBump();\n      if (cfg.cartUrl){ window.location.href = cfg.cartUrl; }\n    }\n  });\n\n  updateTotal();\n})();\n<\/script>\n\t\t<\/div>\n\t<\/div>\n\n\t\t\t<\/div> \n\t\t<\/div>\n\t<\/div> \n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"\/* the new hero replaces the wizard's own; everything below is the live wizard block, untouched *\/ #rj-comm-wizard .rjc-hero{display:none!important} body.single-product h1.product_title{display:none!important} Fully produced, voiced, scored and&nbsp;mixed A radio advert that...","protected":false},"featured_media":6045,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"product_brand":[],"product_cat":[487,481,557],"product_tag":[],"class_list":["post-11462","product","type-product","status-publish","has-post-thumbnail","product_cat-commercial-production","product_cat-radio","product_cat-sale","tm-has-options","first","instock","virtual","taxable","purchasable","product-type-simple"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Radio Advert Production from \u00a330 | Voiced, Scored &amp; Mixed in 24 Hours<\/title>\n<meta name=\"description\" content=\"Fully produced radio commercials: script help, a real voice, music and mix, broadcast-ready within 24 hours. Up to three voices. Royalty-free forever.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/radiojingles24.com\/fr\/produit\/commercial-production\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Radio Advert Production from \u00a330 | Voiced, Scored &amp; Mixed in 24 Hours\" \/>\n<meta property=\"og:description\" content=\"Fully produced radio commercials: script help, a real voice, music and mix, broadcast-ready within 24 hours. Up to three voices. Royalty-free forever.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/radiojingles24.com\/fr\/produit\/commercial-production\/\" \/>\n<meta property=\"og:site_name\" content=\"Radio Jingles 24: Radio Jingles | DJ Drops | Podcast Intros | Sung Jingles\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/radiojingles24\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-13T06:53:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/7Asset-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"492\" \/>\n\t<meta property=\"og:image:height\" content=\"492\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@radiojingles24\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/product\\\/commercial-production\\\/\",\"url\":\"https:\\\/\\\/radiojingles24.com\\\/product\\\/commercial-production\\\/\",\"name\":\"Radio Advert Production from \u00a330 | Voiced, Scored & Mixed in 24 Hours\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/product\\\/commercial-production\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/product\\\/commercial-production\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/radiojingles24.com\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/7Asset-1.png\",\"datePublished\":\"2020-01-06T07:50:24+00:00\",\"dateModified\":\"2026-10-13T06:53:04+00:00\",\"description\":\"Fully produced radio commercials: script help, a real voice, music and mix, broadcast-ready within 24 hours. Up to three voices. Royalty-free forever.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/product\\\/commercial-production\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/radiojingles24.com\\\/product\\\/commercial-production\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/product\\\/commercial-production\\\/#primaryimage\",\"url\":\"https:\\\/\\\/radiojingles24.com\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/7Asset-1.png\",\"contentUrl\":\"https:\\\/\\\/radiojingles24.com\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/7Asset-1.png\",\"width\":492,\"height\":492},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/product\\\/commercial-production\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/radiojingles24.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Shop\",\"item\":\"https:\\\/\\\/radiojingles24.com\\\/es\\\/shop\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Fully Produced Advert\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/#website\",\"url\":\"https:\\\/\\\/radiojingles24.com\\\/\",\"name\":\"Radio Jingles 24: Radio Jingles | DJ Drops | Podcast Intros | Sung Jingles\",\"description\":\"Radio Jingles, Sung Jingles, DJ Drops, and Podcast Intros for commercial, community and internet radio stations. UK based, real voices. Prices from \u00a310. Order online, delivered in 24 hours.\",\"publisher\":{\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/radiojingles24.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/#organization\",\"name\":\"Radio Jingles 24\",\"url\":\"https:\\\/\\\/radiojingles24.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/radiojingles24.com\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/RadioJingle1-1.jpg\",\"contentUrl\":\"https:\\\/\\\/radiojingles24.com\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/RadioJingle1-1.jpg\",\"width\":512,\"height\":158,\"caption\":\"Radio Jingles 24\"},\"image\":{\"@id\":\"https:\\\/\\\/radiojingles24.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/radiojingles24\\\/\",\"https:\\\/\\\/x.com\\\/radiojingles24\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Radio Advert Production from \u00a330 | Voiced, Scored & Mixed in 24 Hours","description":"Fully produced radio commercials: script help, a real voice, music and mix, broadcast-ready within 24 hours. Up to three voices. Royalty-free forever.","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:\/\/radiojingles24.com\/fr\/produit\/commercial-production\/","og_locale":"fr_FR","og_type":"article","og_title":"Radio Advert Production from \u00a330 | Voiced, Scored & Mixed in 24 Hours","og_description":"Fully produced radio commercials: script help, a real voice, music and mix, broadcast-ready within 24 hours. Up to three voices. Royalty-free forever.","og_url":"https:\/\/radiojingles24.com\/fr\/produit\/commercial-production\/","og_site_name":"Radio Jingles 24: Radio Jingles | DJ Drops | Podcast Intros | Sung Jingles","article_publisher":"https:\/\/www.facebook.com\/radiojingles24\/","article_modified_time":"2026-10-13T06:53:04+00:00","og_image":[{"width":492,"height":492,"url":"https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/7Asset-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@radiojingles24","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/radiojingles24.com\/product\/commercial-production\/","url":"https:\/\/radiojingles24.com\/product\/commercial-production\/","name":"Radio Advert Production from \u00a330 | Voiced, Scored & Mixed in 24 Hours","isPartOf":{"@id":"https:\/\/radiojingles24.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/radiojingles24.com\/product\/commercial-production\/#primaryimage"},"image":{"@id":"https:\/\/radiojingles24.com\/product\/commercial-production\/#primaryimage"},"thumbnailUrl":"https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/7Asset-1.png","datePublished":"2020-01-06T07:50:24+00:00","dateModified":"2026-10-13T06:53:04+00:00","description":"Fully produced radio commercials: script help, a real voice, music and mix, broadcast-ready within 24 hours. Up to three voices. Royalty-free forever.","breadcrumb":{"@id":"https:\/\/radiojingles24.com\/product\/commercial-production\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/radiojingles24.com\/product\/commercial-production\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/radiojingles24.com\/product\/commercial-production\/#primaryimage","url":"https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/7Asset-1.png","contentUrl":"https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/7Asset-1.png","width":492,"height":492},{"@type":"BreadcrumbList","@id":"https:\/\/radiojingles24.com\/product\/commercial-production\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/radiojingles24.com\/"},{"@type":"ListItem","position":2,"name":"Shop","item":"https:\/\/radiojingles24.com\/es\/shop\/"},{"@type":"ListItem","position":3,"name":"Fully Produced Advert"}]},{"@type":"WebSite","@id":"https:\/\/radiojingles24.com\/#website","url":"https:\/\/radiojingles24.com\/","name":"Radio Jingles 24: Radio Jingles | DJ Drops | Podcast Intros | Jingles chant\u00e9s","description":"Radio Jingles, Sung Jingles, DJ Drops, and Podcast Intros for commercial, community and internet radio stations. UK based, real voices. Prices from \u00a310. Order online, delivered in 24 hours.","publisher":{"@id":"https:\/\/radiojingles24.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/radiojingles24.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/radiojingles24.com\/#organization","name":"Radio Jingles 24","url":"https:\/\/radiojingles24.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/radiojingles24.com\/#\/schema\/logo\/image\/","url":"https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/RadioJingle1-1.jpg","contentUrl":"https:\/\/radiojingles24.com\/wp-content\/uploads\/2019\/11\/RadioJingle1-1.jpg","width":512,"height":158,"caption":"Radio Jingles 24"},"image":{"@id":"https:\/\/radiojingles24.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/radiojingles24\/","https:\/\/x.com\/radiojingles24"]}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/radiojingles24.com\/fr\/wp-json\/wp\/v2\/product\/11462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/radiojingles24.com\/fr\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/radiojingles24.com\/fr\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/radiojingles24.com\/fr\/wp-json\/wp\/v2\/comments?post=11462"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/radiojingles24.com\/fr\/wp-json\/wp\/v2\/media\/6045"}],"wp:attachment":[{"href":"https:\/\/radiojingles24.com\/fr\/wp-json\/wp\/v2\/media?parent=11462"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/radiojingles24.com\/fr\/wp-json\/wp\/v2\/product_brand?post=11462"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/radiojingles24.com\/fr\/wp-json\/wp\/v2\/product_cat?post=11462"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/radiojingles24.com\/fr\/wp-json\/wp\/v2\/product_tag?post=11462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}