{"id":4982,"date":"2026-07-31T01:05:46","date_gmt":"2026-07-31T01:05:46","guid":{"rendered":"https:\/\/test.ribbonoem.com\/ribbons\/special-occasion-ribbons\/"},"modified":"2026-07-31T06:35:09","modified_gmt":"2026-07-31T06:35:09","slug":"special-occasion-ribbons","status":"publish","type":"page","link":"https:\/\/test.ribbonoem.com\/ar\/ribbons\/special-occasion-ribbons\/","title":{"rendered":"\u0634\u0631\u0627\u0626\u0637 \u0627\u0644\u0645\u0646\u0627\u0633\u0628\u0627\u062a \u0627\u0644\u062e\u0627\u0635\u0629"},"content":{"rendered":"\n<!--\n  ============================================================================\n  Ribbon Category Page (8 sections), cloned from GOLDEN TEMPLATE\n  File: website\/special-occasion-ribbons.html  |  Category: Special Occasion\n  ----------------------------------------------------------------------------\n  Clones website\/satin-ribbons.html section-for-section. Only content swaps:\n  H1 \/ keyword copy \/ product images \/ spec table values \/ application\n  images \/ FAQ \/ related categories.\n  SECTION MAP (per architecture\/02-page-content-strategy.md, Part 2):\n    1. Category Hero            .rb-cat-hero      (dark blue, white text, 1 CTA)\n    2. Product Gallery          .rb-cat-gallery   (3:2 cards, lightbox, no price)\n    3. Specifications           .rb-cat-spec      (real spec table)\n    4. Applications             .rb-cat-apps      (editorial scene images)\n    5. Customization            .rb-cat-custom    (dark blue, 17 techniques)\n    6. Category FAQ             .rb-cat-faq       (FAQPage schema)\n    7. Quality & Certifications .rb-cat-quality   (4 certs only)\n    8. Related Categories       .rb-cat-related   (cross internal links)\n  CONTRACT:\n    - Content sections only (theme supplies header\/footer).\n    - Each section carries its own scoped <style> (.rb-cat- prefix).\n    - Uses main.css CSS variables; dark sections = blue bg + white text.\n    - Images: ONLY real media-library URLs from research\/image-map.md.\n    - MOQ \/ payment \/ sample days => [TBD - awaiting client]. No prices.\n    - Certifications: only Oeko-Tex \/ GRS \/ Sedex \/ ISO 9001:2015.\n  \u26a0\ufe0f IMAGE GAP, \u5f85\u8865\u56fe (architecture\/02 \u00a73.6, decision D2):\n    This category owns ONE product photo (special-occasion-ribbon-01, ID 799;\n    used as hero background + spec media + the sports satin award ribbon\n    card). The grid shows the category's 4 real old-site products (birthday\n    sash + award ribbons); the sash and award cards reuse real media-library\n    substitutes per the \u00a73.6 reuse plan:\n      - sash group (ID 1484, sash-01)\n      - award ribbon group (ID 1461\/1462, award-ribbon-01\/02)\n    Every substitute card is marked \u5f85\u8865\u56fe in code comments. NO AI-generated\n    images. Action: collect dedicated occasion product photography from the\n    client, then swap the substitute URLs 1:1.\n  ============================================================================\n-->\n<div class=\"rb-cat rb-cat--special-occasion\">\n<!-- =====================================================================\n     SECTION 1, CATEGORY HERO\n     Contains the SHARED TEMPLATE BASE styles (root reset, buttons, reveal,\n     container) that travel with every cloned category page.\n     ===================================================================== -->\n<style>\n\/* ---------- SHARED TEMPLATE BASE (cloned with every category page) ---------- *\/\n.rb-cat { font-family: var(--font-body, 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif); color: var(--color-text, #293c82); -webkit-font-smoothing: antialiased; }\n.rb-cat *, .rb-cat *::before, .rb-cat *::after { box-sizing: border-box; margin: 0; padding: 0; }\n.rb-cat img { max-width: 100%; height: auto; display: block; }\n.rb-cat a { text-decoration: none; color: inherit; }\n.rb-cat h1, .rb-cat h2, .rb-cat h3, .rb-cat h4 { font-family: var(--font-heading, 'Roboto', sans-serif); color: var(--color-heading, #1e2d63); line-height: 1.18; text-wrap: balance; }\n.rb-cat p { line-height: 1.7; }\n.rb-cat .rb-cat-wrap { max-width: var(--container-lg, 1240px); margin: 0 auto; padding-left: var(--container-gutter, 1rem); padding-right: var(--container-gutter, 1rem); }\n.rb-cat .rb-cat-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--color-accent, #cc9591); border-left: 3px solid var(--color-accent, #cc9591); padding-left: 14px; margin-bottom: 18px; }\n.rb-cat .rb-cat-sec-head { max-width: 760px; margin: 0 auto 56px; text-align: center; }\n.rb-cat .rb-cat-sec-head h2 { font-size: clamp(1.7rem, 3vw, 2.35rem); font-weight: 800; letter-spacing: -.02em; margin-bottom: 16px; }\n.rb-cat .rb-cat-sec-head p { font-size: 1.02rem; color: var(--color-text-muted, rgba(41,60,130,.72)); }\n.rb-cat .rb-cat-btn { display: inline-block; background: var(--color-accent, #cc9591); color: #fff; font-weight: 600; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; padding: 16px 36px; border: 1px solid var(--color-accent, #cc9591); border-radius: var(--radius-sm, 6px); cursor: pointer; transition: transform var(--duration-fast, 250ms) var(--ease-out-expo, ease), box-shadow var(--duration-fast, 250ms) ease; }\n.rb-cat .rb-cat-btn:hover { transform: scale(1.04); box-shadow: var(--shadow-button-hover, 0 12px 26px rgba(204,149,145,.32)); }\n.rb-cat .rb-cat-btn--ghost { background: transparent; border: 1px solid rgba(255,255,255,.55); color: #fff; }\n.rb-cat .rb-cat-btn--ghost:hover { box-shadow: none; background: rgba(255,255,255,.10); }\n.rb-cat .rb-cat-textlink { display: inline-block; font-weight: 700; color: var(--color-primary, #293c82); border-bottom: 2px solid var(--color-accent, #cc9591); padding-bottom: 2px; transition: color var(--duration-fast, 250ms) ease; }\n.rb-cat .rb-cat-textlink:hover { color: var(--color-accent, #cc9591); }\n\/* progressive-enhancement reveal (content stays visible if JS is off) *\/\n.rb-cat--js .rb-cat-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--ease-out-expo, ease), transform .7s var(--ease-out-expo, ease); }\n.rb-cat--js .rb-cat-reveal.is-in { opacity: 1; transform: none; }\n@media (prefers-reduced-motion: reduce) { .rb-cat--js .rb-cat-reveal { opacity: 1; transform: none; transition: none; } }\n\/* ---------- HERO (dark blue, white text) ---------- *\/\n.rb-cat-hero { position: relative; background: var(--color-primary, #293c82); color: #fff; overflow: hidden; }\n.rb-cat-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .30; }\n.rb-cat-hero__overlay { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(30,45,99,.95) 0%, rgba(41,60,130,.85) 46%, rgba(41,60,130,.55) 100%); }\n.rb-cat-hero__inner { position: relative; z-index: 2; max-width: var(--container-lg, 1240px); margin: 0 auto; padding: clamp(5rem, 11vw, 8.5rem) var(--container-gutter, 1rem); }\n.rb-cat-hero__crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.72); margin-bottom: 30px; }\n.rb-cat-hero__crumb a { color: rgba(255,255,255,.72); transition: color var(--duration-fast, 250ms) ease; }\n.rb-cat-hero__crumb a:hover { color: #fff; }\n.rb-cat-hero__crumb .sep { opacity: .5; }\n.rb-cat-hero__crumb .curr { color: #fff; font-weight: 700; }\n.rb-cat-hero__kicker { display: block; font-size: 13px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; color: var(--color-accent, #cc9591); margin-bottom: 20px; }\n.rb-cat-hero h1 { color: #fff; font-size: clamp(2.1rem, 4.6vw, 3.5rem); font-weight: 900; letter-spacing: -.03em; line-height: 1.08; max-width: 840px; margin-bottom: 24px; text-shadow: 0 4px 22px rgba(0,0,0,.35); }\n.rb-cat-hero__sub { color: #fff; opacity: .94; font-size: 1.08rem; line-height: 1.75; max-width: 660px; margin-bottom: 36px; }\n.rb-cat-hero__facts { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 40px; }\n.rb-cat-hero__fact { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-sm, 6px); padding: 14px 20px; min-width: 168px; }\n.rb-cat-hero__fact b { display: block; font-size: 1.18rem; font-weight: 800; color: #fff; letter-spacing: -.01em; }\n.rb-cat-hero__fact span { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.7); margin-top: 4px; }\n@media (max-width: 768px) {\n  .rb-cat-hero__inner { padding: clamp(4rem, 16vw, 6rem) 20px; }\n  .rb-cat-hero h1 { font-size: 2rem; }\n  .rb-cat-hero__fact { flex: 1 1 100%; }\n}\n<\/style>\n<section class=\"rb-cat-hero\">\n  <img decoding=\"async\" class=\"rb-cat-hero__bg\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/special-occasion-ribbon-01.jpg\" alt=\"Special occasion ribbon rolls for weddings and holidays\" fetchpriority=\"high\" title=\"\">\n  <div class=\"rb-cat-hero__overlay\" aria-hidden=\"true\"><\/div>\n  <div class=\"rb-cat-hero__inner\">\n    <nav class=\"rb-cat-hero__crumb\" aria-label=\"Breadcrumb\">\n      <a href=\"\/\">Home<\/a>\n      <span class=\"sep\">\/<\/span>\n      <a href=\"\/ribbons\/\">Ribbons<\/a>\n      <span class=\"sep\">\/<\/span>\n      <span class=\"curr\">Special Occasion Ribbons<\/span>\n    <\/nav>\n    <span class=\"rb-cat-hero__kicker\">Weddings &middot; Holidays &middot; Ceremonies<\/span>\n    <h1>Special Occasion Ribbons: Custom Ribbon Wedding &amp; Holiday Wholesale<\/h1>\n    <p class=\"rb-cat-hero__sub\">Custom ribbon for wedding favors, bouquets, chair sashes and aisle decor, plus holiday and ceremony lines, all dyed and printed to your occasion. Satin, organza, grosgrain and wired constructions from 3mm to 100mm, finished sashes and award rosettes included, produced under a 20+ year OEM &amp; ODM roof with 100 in-house designers.<\/p>\n    <div class=\"rb-cat-hero__facts\">\n      <div class=\"rb-cat-hero__fact\"><b>Weddings &amp; Holidays<\/b><span>Occasion Themes<\/span><\/div>\n      <div class=\"rb-cat-hero__fact\"><b>3&ndash;100mm<\/b><span>Ribbon Width<\/span><\/div>\n      <div class=\"rb-cat-hero__fact\"><b>Names &amp; Dates<\/b><span>Custom Print<\/span><\/div>\n    <\/div>\n    <a class=\"rb-cat-btn\" href=\"\/contact\/\">Get a Free Quote<\/a>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 2, PRODUCT GALLERY\n     \u26a0\ufe0f \u5f85\u8865\u56fe: category owns 1 product photo (ID 799, hero + spec media +\n     sports satin award card). Sash\/award cards use \u00a73.6 substitutes.\n     ===================================================================== -->\n<style>\n.rb-cat-gallery { background: var(--color-bg, #fcfbfe); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 30px; }\n.rb-cat-card { min-width: 0; }\n.rb-cat-card__imgbox { position: relative; width: 100%; padding-bottom: 66.66%; \/* 3:2 *\/ background: var(--color-primary-ghost, #f1f4fa); border-radius: var(--radius-md, 10px); overflow: hidden; cursor: zoom-in; margin-bottom: 18px; }\n.rb-cat-card__imgbox img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-smooth, ease); }\n.rb-cat-card:hover .rb-cat-card__imgbox img { transform: scale(1.07); }\n.rb-cat-card__body { text-align: center; }\n.rb-cat-card__body h3 { font-size: 1.12rem; font-weight: 700; letter-spacing: -.01em; margin-bottom: 6px; }\n.rb-cat-card__type { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--color-text-secondary, rgba(41,60,130,.55)); margin-bottom: 14px; }\n.rb-cat-card__view { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--color-primary, #293c82); border-bottom: 1px solid var(--color-border-strong, #D4D4D4); padding-bottom: 3px; transition: border-color var(--duration-fast, 250ms) ease, color var(--duration-fast, 250ms) ease; }\n.rb-cat-card:hover .rb-cat-card__view { border-color: var(--color-accent, #cc9591); color: var(--color-accent, #cc9591); }\n.rb-cat-gallery__foot { text-align: center; margin-top: 52px; }\n.rb-cat-gallery__note { max-width: 660px; margin: 0 auto 26px; font-size: .92rem; line-height: 1.7; color: var(--color-text-muted, rgba(41,60,130,.72)); }\n@media (max-width: 1024px) { .rb-cat-gallery__grid { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 600px) { .rb-cat-gallery__grid { grid-template-columns: 1fr; gap: 40px; } }\n\/* lightbox (shared, scoped) *\/\n.rb-cat-lightbox { display: none; position: fixed; inset: 0; z-index: 999999; background: rgba(30,45,99,.94); align-items: center; justify-content: center; padding: 24px; }\n.rb-cat-lightbox.show { display: flex; }\n.rb-cat-lightbox img { max-width: 92%; max-height: 88vh; object-fit: contain; border-radius: var(--radius-sm, 6px); animation: rbCatZoom .35s var(--ease-out-expo, ease); }\n.rb-cat-lightbox__close { position: absolute; top: 22px; right: 34px; font-size: 44px; line-height: 1; color: #fff; cursor: pointer; font-weight: 300; transition: transform var(--duration-fast, 250ms) ease; }\n.rb-cat-lightbox__close:hover { transform: rotate(90deg); }\n@keyframes rbCatZoom { from { transform: scale(.92); opacity: 0; } to { transform: scale(1); opacity: 1; } }\n<\/style>\n<section class=\"rb-cat-gallery\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">Product Range<\/span>\n      <h2>Our Special Occasion Ribbon Range<\/h2>\n      <p>All four occasion lines from our current catalog are shown: glitter happy birthday and queen birthday girl sashes, 1st 2nd 3rd gold silver bronze award ribbons supplied with event card, 2&#215;8 inch single face sports satin award ribbon and custom print rosette badge award ribbon. Sash and award programs share one dye and print roof, so event colors stay matched across every piece. <a class=\"rb-cat-textlink\" href=\"\/contact\/\">Request the occasion lookbook<\/a> for swatches, widths and custom wording samples.<\/p>\n    <\/div>\n    <div class=\"rb-cat-gallery__grid\">\n      <!-- \u5f85\u8865\u56fe: substitute, sash group (ID 1484), awaiting dedicated product photo -->\n      <article class=\"rb-cat-card rb-cat-reveal\">\n        <div class=\"rb-cat-card__imgbox\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/sash-01.jpg\" alt=\"Glitter happy birthday and queen birthday girl sash\" loading=\"lazy\" title=\"\"><\/div>\n        <div class=\"rb-cat-card__body\">\n          <h3>Wholesale Glitter Happy Birthday\/Queen Birthday Girl Sash<\/h3>\n          <div class=\"rb-cat-card__type\">Glitter &middot; Birthday Sash<\/div>\n          <a class=\"rb-cat-card__view\" href=\"\/ribbons\/special-occasion-ribbons\/wholesale-glitter-happy-birthday-queen-birthday-girl-sash\/\">View Details<\/a>\n        <\/div>\n      <\/article>\n      <!-- \u5f85\u8865\u56fe: substitute, award ribbon group (ID 1461), awaiting dedicated product photo -->\n      <article class=\"rb-cat-card rb-cat-reveal\">\n        <div class=\"rb-cat-card__imgbox\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/award-ribbon-01.jpg\" alt=\"Gold silver bronze 1st 2nd 3rd award ribbon with event card\" loading=\"lazy\" title=\"\"><\/div>\n        <div class=\"rb-cat-card__body\">\n          <h3>1st 2nd 3rd Gold Silver Bronze Award Ribbon With Event Card<\/h3>\n          <div class=\"rb-cat-card__type\">Award &middot; Event Card<\/div>\n          <a class=\"rb-cat-card__view\" href=\"\/ribbons\/special-occasion-ribbons\/1st-2nd-3rd-gold-silver-bronze-award-ribbon-with-event-card\/\">View Details<\/a>\n        <\/div>\n      <\/article>\n      <!-- Category's only real product photo (ID 799); dedicated sports award ribbon photo \u5f85\u8865\u56fe -->\n      <article class=\"rb-cat-card rb-cat-reveal\">\n        <div class=\"rb-cat-card__imgbox\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/special-occasion-ribbon-01.jpg\" alt=\"Single face first place sports satin award ribbon\" loading=\"lazy\" title=\"\"><\/div>\n        <div class=\"rb-cat-card__body\">\n          <h3>2X8 Inch Single Face First Place Sports Satin Award Ribbon<\/h3>\n          <div class=\"rb-cat-card__type\">2&#215;8 Inch &middot; Sports Satin<\/div>\n          <a class=\"rb-cat-card__view\" href=\"\/ribbons\/special-occasion-ribbons\/2x8-inch-single-face-first-place-sports-satin-award-ribbon\/\">View Details<\/a>\n        <\/div>\n      <\/article>\n      <!-- \u5f85\u8865\u56fe: substitute, award ribbon group (ID 1462), awaiting dedicated product photo -->\n      <article class=\"rb-cat-card rb-cat-reveal\">\n        <div class=\"rb-cat-card__imgbox\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/award-ribbon-02.jpg\" alt=\"Custom print rosette badge award ribbon\" loading=\"lazy\" title=\"\"><\/div>\n        <div class=\"rb-cat-card__body\">\n          <h3>Custom Print Rosette Badge Award Ribbon Manufacturer<\/h3>\n          <div class=\"rb-cat-card__type\">Rosette Badge &middot; Custom Print<\/div>\n          <a class=\"rb-cat-card__view\" href=\"\/ribbons\/special-occasion-ribbons\/custom-print-rosette-badge-award-ribbon-manufacturer\/\">View Details<\/a>\n        <\/div>\n      <\/article>\n    <\/div>\n    <div class=\"rb-cat-gallery__foot rb-cat-reveal\">\n      <p class=\"rb-cat-gallery__note\">Occasion product photos are being shot right now, and the sash and award cards above use real stand-in shots from our library. Send us your event date, wording and colors, and we will reply with current swatches and real-shot samples.<\/p>\n      <a class=\"rb-cat-btn\" href=\"\/contact\/\">Request Prices &amp; Swatches<\/a>\n    <\/div>\n  <\/div>\n  <!-- lightbox markup (shared) -->\n  <div class=\"rb-cat-lightbox\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Product image preview\">\n    <span class=\"rb-cat-lightbox__close\" aria-label=\"Close preview\">&times;<\/span>\n    <img decoding=\"async\" src=\"\" alt=\"Enlarged ribbon product view\" title=\"\">\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 3, SPECIFICATIONS\n     ===================================================================== -->\n<style>\n.rb-cat-spec { background: var(--color-bg-soft, #F7F7F7); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-spec__layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: 56px; align-items: center; }\n.rb-cat-spec__table { width: 100%; border-collapse: collapse; background: var(--color-surface, #fff); border-radius: var(--radius-md, 10px); overflow: hidden; box-shadow: var(--shadow-xs, 0 2px 8px rgba(12,15,22,.04)); }\n.rb-cat-spec__table caption { text-align: left; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--color-text-secondary, rgba(41,60,130,.55)); padding: 0 0 14px; }\n.rb-cat-spec__table th, .rb-cat-spec__table td { padding: 15px 18px; text-align: left; font-size: .95rem; border-bottom: 1px solid var(--color-border-subtle, #F0F0F0); vertical-align: top; }\n.rb-cat-spec__table tr:last-child th, .rb-cat-spec__table tr:last-child td { border-bottom: none; }\n.rb-cat-spec__table th { width: 34%; font-weight: 700; color: var(--color-heading, #1e2d63); background: var(--color-primary-ghost, #f1f4fa); }\n.rb-cat-spec__table td { color: var(--color-text-muted, rgba(41,60,130,.72)); }\n.rb-cat-spec__media { position: relative; border-radius: var(--radius-md, 10px); overflow: hidden; min-height: 460px; }\n.rb-cat-spec__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }\n.rb-cat-spec__note { margin-top: 22px; font-size: .9rem; color: var(--color-text-secondary, rgba(41,60,130,.55)); }\n@media (max-width: 1024px) {\n  .rb-cat-spec__layout { grid-template-columns: 1fr; gap: 40px; }\n  .rb-cat-spec__media { min-height: 340px; order: -1; }\n}\n<\/style>\n<section class=\"rb-cat-spec\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">Technical Data<\/span>\n      <h2>Special Occasion Ribbon Specifications<\/h2>\n      <p>Standard occasion parameters below. Palette, print wording and finished formats are all made to order, so attach your event colors and wording when you request a quote.<\/p>\n    <\/div>\n    <div class=\"rb-cat-spec__layout\">\n      <div class=\"rb-cat-reveal\">\n        <table class=\"rb-cat-spec__table\">\n          <caption>Special occasion ribbon, made-to-order parameters<\/caption>\n          <tbody>\n            <tr><th scope=\"row\">Material<\/th><td>Polyester satin, organza, grosgrain and wired edge constructions<\/td><\/tr>\n            <tr><th scope=\"row\">Width<\/th><td>3mm &ndash; 100mm (common: 3 \/ 9 \/ 10 \/ 16 \/ 19 \/ 25 \/ 28 \/ 38 \/ 50 \/ 63 \/ 75 \/ 100mm)<\/td><\/tr>\n            <tr><th scope=\"row\">Occasion Themes<\/th><td>Wedding white &amp; ivory, dyed-to-match palettes, holiday and ceremony prints<\/td><\/tr>\n            <tr><th scope=\"row\">Special Finish<\/th><td>Metallic Edge, Gold Foil Hot Stamping, Custom Name \/ Date \/ Monogram Print<\/td><\/tr>\n            <tr><th scope=\"row\">Formats<\/th><td>10 \/ 25 \/ 100-yard rolls, plus finished sashes and award rosettes<\/td><\/tr>\n            <tr><th scope=\"row\">Typical Use<\/th><td>Wedding Favors, Bouquets, Chair Sashes, Aisle Decor, Award Ceremonies, Holiday Decor<\/td><\/tr>\n          <\/tbody>\n        <\/table>\n        <p class=\"rb-cat-spec__note\">MOQ varies by width, print wording and finished format, <strong>[TBD &#8211; awaiting client]<\/strong>. Request a quote for exact minimums and volume-tiered pricing.<\/p>\n      <\/div>\n      <div class=\"rb-cat-spec__media rb-cat-reveal\">\n        <img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/special-occasion-ribbon-01.jpg\" alt=\"Special occasion ribbon rolls for weddings and holidays\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 4, APPLICATIONS (editorial scene images)\n     ===================================================================== -->\n<style>\n.rb-cat-apps { background: var(--color-surface, #fff); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-apps__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }\n.rb-cat-app { position: relative; border-radius: var(--radius-md, 10px); overflow: hidden; min-height: 320px; display: flex; align-items: flex-end; isolation: isolate; }\n.rb-cat-app img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .9s var(--ease-smooth, ease); }\n.rb-cat-app::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(30,45,99,.92) 0%, rgba(30,45,99,.35) 55%, rgba(30,45,99,0) 100%); }\n.rb-cat-app:hover img { transform: scale(1.06); }\n.rb-cat-app__body { padding: 30px; color: #fff; }\n.rb-cat-app__body h3 { color: #fff; font-size: 1.3rem; font-weight: 800; margin-bottom: 8px; }\n.rb-cat-app__body p { color: rgba(255,255,255,.9); font-size: .95rem; max-width: 46ch; }\n@media (max-width: 768px) { .rb-cat-apps__grid { grid-template-columns: 1fr; } .rb-cat-app { min-height: 280px; } }\n<\/style>\n<section class=\"rb-cat-apps\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">Where It Works<\/span>\n      <h2>Applications for Special Occasion Ribbon<\/h2>\n      <p>One occasion program, four jobs: favors and bouquets, ceremony styling, party sashes and award presentation. Each runs on constructions we already weave in volume, so custom colors carry across the whole event.<\/p>\n    <\/div>\n    <div class=\"rb-cat-apps__grid\">\n      <article class=\"rb-cat-app rb-cat-reveal\">\n        <img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/12\/Create-Stunning-Wedding-Bows-with-Tulle-and-Ribbon-A-Comprehensive-Guide-01.jpg\" alt=\"Ribbon bows on wedding favors and bouquets\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-app__body\">\n          <h3>Wedding Favors &amp; Bouquets<\/h3>\n          <p>Double face satin and sheer organza wrap favor boxes and bridal bouquets with a clean, glossy face on both sides, dyed to the wedding palette.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"rb-cat-app rb-cat-reveal\">\n        <img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/11\/The-Ultimate-Guide-to-Wired-Ribbon-for-Wedding-Decoration-03.jpg\" alt=\"Wired ribbon decorating a wedding ceremony aisle\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-app__body\">\n          <h3>Ceremony &amp; Aisle Decor<\/h3>\n          <p>Wired ribbon holds pew bows, arch loops and chair ties in place through the whole ceremony; 100-yard rolls cover high-seat-count venues.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"rb-cat-app rb-cat-reveal\">\n        <img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/12\/The-Ultimate-Guide-to-DIY-Ribbon-Sashes-for-Weddings-and-Events-01.jpg\" alt=\"Ribbon sashes worn by a wedding party\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-app__body\">\n          <h3>Wedding Party &amp; Event Sashes<\/h3>\n          <p>Finished satin sashes with custom names, titles and dates for bridal parties, pageants and graduations, produced as complete pieces, not just rolls.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"rb-cat-app rb-cat-reveal\">\n        <img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/award-ribbon-03.jpg\" alt=\"Award rosette ribbons at a ceremony\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-app__body\">\n          <h3>Award Ceremonies &amp; Milestones<\/h3>\n          <p>Award rosettes and prize ribbons in event colors for competitions, school ceremonies and corporate milestones, with consistent dye lots across repeat orders.<\/p>\n        <\/div>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 5, CUSTOMIZATION (dark blue, white text)\n     ===================================================================== -->\n<style>\n.rb-cat-custom { background: var(--color-primary-strong, #1e2d63); color: #fff; padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-custom .rb-cat-sec-head h2 { color: #fff; }\n.rb-cat-custom .rb-cat-sec-head p { color: rgba(255,255,255,.82); }\n.rb-cat-custom__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 56px; }\n.rb-cat-custom__item { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius-md, 10px); padding: 26px 24px; transition: background var(--duration-fast, 250ms) ease, transform var(--duration-fast, 250ms) ease; }\n.rb-cat-custom__item:hover { background: rgba(255,255,255,.11); transform: translateY(-4px); }\n.rb-cat-custom__item h3 { color: #fff; font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; }\n.rb-cat-custom__item p { color: rgba(255,255,255,.82); font-size: .92rem; }\n.rb-cat-custom__prints { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 48px; }\n.rb-cat-custom__print { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-md, 10px); overflow: hidden; }\n.rb-cat-custom__print img { width: 100%; aspect-ratio: 4 \/ 3; object-fit: cover; }\n.rb-cat-custom__print span { display: block; padding: 12px 14px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.85); text-align: center; }\n.rb-cat-custom__cta { text-align: center; }\n.rb-cat-custom__cta p { color: rgba(255,255,255,.8); margin-bottom: 24px; font-size: .98rem; }\n@media (max-width: 1024px) { .rb-cat-custom__grid { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 768px) { .rb-cat-custom__grid { grid-template-columns: 1fr; } .rb-cat-custom__prints { grid-template-columns: 1fr; } }\n<\/style>\n<section class=\"rb-cat-custom\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">OEM &amp; ODM<\/span>\n      <h2>Custom Special Occasion Ribbon Options<\/h2>\n      <p>100 in-house designers and 17 printing &amp; finishing techniques build occasion ribbon to your exact palette, wording and format, with free sample and free design support on every program.<\/p>\n    <\/div>\n    <div class=\"rb-cat-custom__grid\">\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Custom Color<\/h3><p>Dyed-to-match wedding and event palettes, from bridal white and ivory to full custom shades, with consistent lot-to-lot color across rolls and finished pieces.<\/p><\/div>\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Custom Width<\/h3><p>Any width from 3mm to 100mm, from narrow bouquet-wrap ribbon to wide chair-sash and statement-bow formats.<\/p><\/div>\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Custom Print<\/h3><p>Names, dates, monograms and short messages printed with 17 techniques, including gold foil hot stamping for a keepsake finish.<\/p><\/div>\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Custom Material<\/h3><p>Satin, organza, grosgrain or wired edge matched to the job: gloss for favors, sheer for accents, wired for shape-holding bows.<\/p><\/div>\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Finished Sash &amp; Rosette<\/h3><p>Complete ceremony sashes and award rosettes produced in-house with custom text and colors, not just ribbon by the roll.<\/p><\/div>\n      <div class=\"rb-cat-custom__item rb-cat-reveal\"><h3>Custom Packaging<\/h3><p>Retail-ready winding, hang tags and branded cartons through our Packaging Solution service for planners and favor studios reselling occasion lines.<\/p><\/div>\n    <\/div>\n    <div class=\"rb-cat-custom__prints rb-cat-reveal\">\n      <figure class=\"rb-cat-custom__print\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/Plastisol-Foil-Print.jpg\" alt=\"Plastisol and foil print sample on ribbon\" loading=\"lazy\" title=\"\"><span>Plastisol &amp; Foil<\/span><\/figure>\n      <figure class=\"rb-cat-custom__print\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/Screen-Ink-Print-Foil-Print.jpg\" alt=\"Screen ink and foil print sample on ribbon\" loading=\"lazy\" title=\"\"><span>Screen Ink &amp; Foil<\/span><\/figure>\n      <figure class=\"rb-cat-custom__print\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/1-Color-Puff-Print.jpg\" alt=\"One color puff print sample on ribbon\" loading=\"lazy\" title=\"\"><span>1-Color Puff Print<\/span><\/figure>\n    <\/div>\n    <div class=\"rb-cat-custom__cta rb-cat-reveal\">\n      <p>Sample lead time <strong>[TBD &#8211; awaiting client]<\/strong> &middot; standard orders ship in 2&ndash;3 weeks &middot; wedding and holiday seasons book early.<\/p>\n      <a class=\"rb-cat-btn\" href=\"\/contact\/\">Request Free Sample<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 6, CATEGORY FAQ (+ FAQPage schema below)\n     ===================================================================== -->\n<style>\n.rb-cat-faq { background: var(--color-bg-soft, #F7F7F7); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-faq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 26px; align-items: start; }\n.rb-cat-faq__item { background: var(--color-surface, #fff); border: 1px solid var(--color-border, #E5E5E5); border-radius: var(--radius-sm, 6px); transition: border-color var(--duration-fast, 250ms) ease; }\n.rb-cat-faq__item[open] { border-color: var(--color-accent, #cc9591); }\n.rb-cat-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 24px; cursor: pointer; list-style: none; font-size: 1rem; font-weight: 700; color: var(--color-heading, #1e2d63); line-height: 1.4; }\n.rb-cat-faq__item summary::-webkit-details-marker { display: none; }\n.rb-cat-faq__item summary::after { content: '+'; flex: 0 0 auto; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--color-border-strong, #D4D4D4); border-radius: var(--radius-full, 999px); color: var(--color-primary, #293c82); font-size: 1.15rem; font-weight: 400; line-height: 1; transition: transform var(--duration-base, 400ms) var(--ease-out-expo, ease), background var(--duration-fast, 250ms) ease, color var(--duration-fast, 250ms) ease, border-color var(--duration-fast, 250ms) ease; }\n.rb-cat-faq__item[open] summary::after { content: '\\2212'; transform: rotate(180deg); background: var(--color-accent, #cc9591); border-color: var(--color-accent, #cc9591); color: #fff; }\n.rb-cat-faq__a { padding: 0 24px 22px; font-size: .94rem; line-height: 1.75; color: var(--color-text-muted, rgba(41,60,130,.72)); }\n.rb-cat-faq__foot { text-align: center; margin-top: 44px; }\n@media (max-width: 768px) { .rb-cat-faq__grid { grid-template-columns: 1fr; } }\n<\/style>\n<section class=\"rb-cat-faq\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">Buyer Questions<\/span>\n      <h2>Special Occasion Ribbon FAQ<\/h2>\n      <p>Straight answers on custom-name printing, wedding constructions, finished sashes and award ribbons, and seasonal timing, the questions planners and wholesalers ask first.<\/p>\n    <\/div>\n    <div class=\"rb-cat-faq__grid\">\n      <details class=\"rb-cat-faq__item rb-cat-reveal\">\n        <summary>Can you make custom sashes with names, titles and dates?<\/summary>\n        <div class=\"rb-cat-faq__a\"><p>Yes. We produce glitter celebration sashes for birthdays, queen and pageant events with custom names, titles and dates, printed using 17 printing and finishing techniques that include gold foil hot stamping, backed by 100 in-house designers. Share your wording and we return a free design; sample lead time is <strong>[TBD &#8211; awaiting client]<\/strong>.<\/p><\/div>\n      <\/details>\n      <details class=\"rb-cat-faq__item rb-cat-reveal\">\n        <summary>Do you supply award ribbons with event card and rosettes?<\/summary>\n        <div class=\"rb-cat-faq__a\"><p>Yes. Our award range covers 1st 2nd 3rd gold silver bronze award ribbons supplied with event card, 2&#215;8 inch single face sports satin award ribbon and custom print rosette badge award ribbons. All are made with custom text and event colors matched to your ceremony, under the same QC system as our roll goods.<\/p><\/div>\n      <\/details>\n      <details class=\"rb-cat-faq__item rb-cat-reveal\">\n        <summary>What materials and sizes do occasion ribbons come in?<\/summary>\n        <div class=\"rb-cat-faq__a\"><p>Occasion programs run on satin, organza, grosgrain and wired constructions in widths from 3mm to 100mm, plus finished pieces such as celebration sashes, 2&#215;8 inch sports award ribbon and rosette badges. Dyed-to-match palettes keep wedding, ceremony and event colors consistent across every piece in one order.<\/p><\/div>\n      <\/details>\n      <details class=\"rb-cat-faq__item rb-cat-reveal\">\n        <summary>How far ahead should we order holiday or event ribbon?<\/summary>\n        <div class=\"rb-cat-faq__a\"><p>Standard orders ship in 2&ndash;3 weeks, but wedding, graduation and holiday seasons book production early, so we recommend confirming custom colors, prints and wording at least one season ahead of your event or sell-through window. Sample lead time is <strong>[TBD &#8211; awaiting client]<\/strong>.<\/p><\/div>\n      <\/details>\n    <\/div>\n    <div class=\"rb-cat-faq__foot rb-cat-reveal\">\n      <a class=\"rb-cat-textlink\" href=\"\/faq\/\">More questions? Visit our full FAQ &rarr;<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 7, QUALITY & CERTIFICATIONS (4 certs only)\n     ===================================================================== -->\n<style>\n.rb-cat-quality { background: var(--color-surface, #fff); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-quality__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-bottom: 40px; }\n.rb-cat-cert { border: 1px solid var(--color-border, #E5E5E5); border-radius: var(--radius-md, 10px); padding: 20px; text-align: center; background: var(--color-bg, #fcfbfe); transition: border-color var(--duration-fast, 250ms) ease, transform var(--duration-fast, 250ms) ease; }\n.rb-cat-cert:hover { border-color: var(--color-accent, #cc9591); transform: translateY(-4px); }\n.rb-cat-cert img { width: 100%; aspect-ratio: 3 \/ 4; object-fit: cover; border-radius: var(--radius-sm, 6px); margin-bottom: 14px; background: #fff; }\n.rb-cat-cert h3 { font-size: 1rem; font-weight: 800; margin-bottom: 6px; }\n.rb-cat-cert p { font-size: .85rem; color: var(--color-text-muted, rgba(41,60,130,.72)); }\n.rb-cat-quality__qc { max-width: 820px; margin: 0 auto; text-align: center; font-size: 1rem; color: var(--color-text-muted, rgba(41,60,130,.72)); }\n.rb-cat-quality__foot { text-align: center; margin-top: 30px; }\n@media (max-width: 1024px) { .rb-cat-quality__grid { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 480px) { .rb-cat-quality__grid { grid-template-columns: 1fr; } }\n<\/style>\n<section class=\"rb-cat-quality\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">Compliance<\/span>\n      <h2>Certified Quality<\/h2>\n      <p>Every occasion ribbon program runs under four independently audited certifications, with incoming-material, in-process and finished-goods inspection on a 150,000+&#13217; factory floor.<\/p>\n    <\/div>\n    <div class=\"rb-cat-quality__grid\">\n      <div class=\"rb-cat-cert rb-cat-reveal\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/Oeko-Tex-Certificate.jpg\" alt=\"Oeko-Tex certificate\" loading=\"lazy\" title=\"\"><h3>Oeko-Tex<\/h3><p>Tested for harmful substances, safe for skin-contact sashes and packaging use.<\/p><\/div>\n      <div class=\"rb-cat-cert rb-cat-reveal\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/GRS-scaled.jpg\" alt=\"Global Recycled Standard certificate\" loading=\"lazy\" title=\"\"><h3>GRS<\/h3><p>Global Recycled Standard, covers our RPET recycled ribbon range.<\/p><\/div>\n      <div class=\"rb-cat-cert rb-cat-reveal\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/SMETA-scaled.jpg\" alt=\"Sedex SMETA audit certificate\" loading=\"lazy\" title=\"\"><h3>Sedex (SMETA)<\/h3><p>Supply-chain ethical audit for responsible, traceable manufacturing.<\/p><\/div>\n      <div class=\"rb-cat-cert rb-cat-reveal\"><img decoding=\"async\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/AS9100D-and-ISO-9001-2015-scaled.jpg\" alt=\"ISO 9001:2015 quality management certificate\" loading=\"lazy\" title=\"\"><h3>ISO 9001:2015<\/h3><p>Quality management system covering weaving, dyeing, printing and QC.<\/p><\/div>\n    <\/div>\n    <p class=\"rb-cat-quality__qc rb-cat-reveal\">Quality control runs from raw-yarn inspection through dye-lot verification to finished-piece checks across 300 production machines, so dyed-to-match wedding colors stay matched from sample to shipment.<\/p>\n    <div class=\"rb-cat-quality__foot rb-cat-reveal\">\n      <a class=\"rb-cat-textlink\" href=\"\/quality-certifications\/\">See our full quality &amp; certifications page &rarr;<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n<!-- =====================================================================\n     SECTION 8, RELATED CATEGORIES (cross internal links)\n     ===================================================================== -->\n<style>\n.rb-cat-related { background: var(--color-bg-soft, #F7F7F7); padding: var(--section-space, clamp(5rem, 9vw, 8rem)) 0; }\n.rb-cat-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-bottom: 44px; }\n.rb-cat-rel { display: block; background: var(--color-surface, #fff); border: 1px solid var(--color-border, #E5E5E5); border-radius: var(--radius-md, 10px); overflow: hidden; transition: transform var(--duration-fast, 250ms) ease, box-shadow var(--duration-fast, 250ms) ease, border-color var(--duration-fast, 250ms) ease; }\n.rb-cat-rel:hover { transform: translateY(-6px); box-shadow: var(--shadow-card-hover, 0 18px 40px rgba(12,15,22,.14)); border-color: var(--color-accent, #cc9591); }\n.rb-cat-rel__img { width: 100%; aspect-ratio: 3 \/ 2; object-fit: cover; }\n.rb-cat-rel__body { padding: 22px 22px 26px; }\n.rb-cat-rel__body h3 { font-size: 1.15rem; font-weight: 800; margin-bottom: 8px; }\n.rb-cat-rel__body p { font-size: .9rem; color: var(--color-text-muted, rgba(41,60,130,.72)); margin-bottom: 14px; }\n.rb-cat-rel__body span { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--color-accent, #cc9591); }\n.rb-cat-related__cta { text-align: center; }\n.rb-cat-related__cta p { color: var(--color-text-muted, rgba(41,60,130,.72)); margin-bottom: 22px; }\n@media (max-width: 1024px) { .rb-cat-related__grid { grid-template-columns: 1fr; } }\n<\/style>\n<section class=\"rb-cat-related\">\n  <div class=\"rb-cat-wrap\">\n    <div class=\"rb-cat-sec-head rb-cat-reveal\">\n      <span class=\"rb-cat-eyebrow\">One Supplier<\/span>\n      <h2>You May Also Need<\/h2>\n      <p>Consolidate occasion sourcing with one factory, nine ribbon families and ready-made bows under a single order, single QC system and single export shipment.<\/p>\n    <\/div>\n    <div class=\"rb-cat-related__grid\">\n      <a class=\"rb-cat-rel rb-cat-reveal\" href=\"\/ribbons\/satin-ribbons\/\">\n        <img decoding=\"async\" class=\"rb-cat-rel__img\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/satin-ribbon-01.jpg\" alt=\"Glossy double face satin ribbon rolls\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-rel__body\"><h3>Satin Ribbons<\/h3><p>Bridal white and dyed-to-match double face satin, the base construction behind most favor and bouquet work.<\/p><span>Explore &rarr;<\/span><\/div>\n      <\/a>\n      <a class=\"rb-cat-rel rb-cat-reveal\" href=\"\/ribbons\/organza-ribbons\/\">\n        <img decoding=\"async\" class=\"rb-cat-rel__img\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/organza-ribbon-01.jpg\" alt=\"Sheer lightweight organza ribbon\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-rel__body\"><h3>Organza Ribbons<\/h3><p>Lightweight and sheer for delicate wedding accents, jewelry packaging and layered bows.<\/p><span>Explore &rarr;<\/span><\/div>\n      <\/a>\n      <a class=\"rb-cat-rel rb-cat-reveal\" href=\"\/ribbons\/ribbon-bows\/\">\n        <img decoding=\"async\" class=\"rb-cat-rel__img\" src=\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/ribbon-bow-02.jpg\" alt=\"Pre-made ribbon bows\" loading=\"lazy\" title=\"\">\n        <div class=\"rb-cat-rel__body\"><h3>Ribbon Bows<\/h3><p>Pre-made bows for favors, decor and hair accessories, finished in-house to your occasion colors.<\/p><span>Explore &rarr;<\/span><\/div>\n      <\/a>\n    <\/div>\n    <div class=\"rb-cat-related__cta rb-cat-reveal\">\n      <p>Can&rsquo;t find your exact occasion spec? Tell us event, material, width, color, wording and quantity, we&rsquo;ll quote within service hours (8:30AM&ndash;9:30PM Mon&ndash;Sat).<\/p>\n      <a class=\"rb-cat-btn\" href=\"\/contact\/\">Talk to Our Ribbon Engineers<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n<\/div><!-- \/.rb-cat -->\n<!-- =====================================================================\n     SHARED JS, lightbox + progressive-enhancement reveal (scoped)\n     ===================================================================== -->\n<script>\n(function () {\n  var root = document.querySelector('.rb-cat--special-occasion');\n  if (!root) { return; }\n  root.classList.add('rb-cat--js');\n  \/* Lightbox *\/\n  var lightbox = root.querySelector('.rb-cat-lightbox');\n  var lbImg = lightbox ? lightbox.querySelector('img') : null;\n  var lbClose = lightbox ? lightbox.querySelector('.rb-cat-lightbox__close') : null;\n  function openLb(src, alt) { if (!lightbox) { return; } lbImg.src = src; lbImg.alt = alt || 'Enlarged ribbon product view'; lightbox.classList.add('show'); document.body.style.overflow = 'hidden'; }\n  function closeLb() { if (!lightbox) { return; } lightbox.classList.remove('show'); document.body.style.overflow = ''; }\n  root.querySelectorAll('.rb-cat-card__imgbox').forEach(function (box) {\n    box.addEventListener('click', function () { var img = box.querySelector('img'); if (img) { openLb(img.src, img.alt); } });\n  });\n  if (lbClose) { lbClose.addEventListener('click', closeLb); }\n  if (lightbox) { lightbox.addEventListener('click', function (e) { if (e.target === lightbox) { closeLb(); } }); }\n  document.addEventListener('keydown', function (e) { if (e.key === 'Escape') { closeLb(); } });\n  \/* Reveal on scroll *\/\n  var items = root.querySelectorAll('.rb-cat-reveal');\n  if (!('IntersectionObserver' in window) || !items.length) {\n    items.forEach(function (el) { el.classList.add('is-in'); });\n    return;\n  }\n  var io = new IntersectionObserver(function (entries) {\n    entries.forEach(function (entry) {\n      if (entry.isIntersecting) { entry.target.classList.add('is-in'); io.unobserve(entry.target); }\n    });\n  }, { threshold: 0.12, rootMargin: '0px 0px -8% 0px' });\n  items.forEach(function (el) { io.observe(el); });\n})();\n<\/script>\n<!-- =====================================================================\n     JSON-LD, CollectionPage + BreadcrumbList + ItemList (products)\n     ===================================================================== -->\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"CollectionPage\",\"name\":\"Special Occasion Ribbons: Custom Ribbon Wedding & Holiday Wholesale - Meedee Ribbon\",\"description\":\"Custom ribbon wedding and holiday manufacturer: dyed-to-match satin, organza, grosgrain and wired ribbon with names, dates and monograms, plus finished sashes and award rosettes. Widths 3-100mm, 10\/25\/100-yard rolls, 17 printing techniques, 20+ years OEM & ODM.\",\"url\":\"https:\/\/test.ribbonoem.com\/ribbons\/special-occasion-ribbons\/\",\"image\":\"https:\/\/test.ribbonoem.com\/wp-content\/uploads\/2024\/10\/special-occasion-ribbon-01.jpg\",\"breadcrumb\":{\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/test.ribbonoem.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ribbons\",\"item\":\"https:\/\/test.ribbonoem.com\/ribbons\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Special Occasion Ribbons\",\"item\":\"https:\/\/test.ribbonoem.com\/ribbons\/special-occasion-ribbons\/\"}]},\"mainEntity\":{\"@type\":\"ItemList\",\"name\":\"Special Occasion Ribbon Range\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Wholesale Glitter Happy Birthday\/Queen Birthday Girl Sash\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"1st 2nd 3rd Gold Silver Bronze Award Ribbon With Event Card\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"2X8 Inch Single Face First Place Sports Satin Award Ribbon\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Custom Print Rosette Badge Award Ribbon Manufacturer\"}]}}\n<\/script>\n<!-- =====================================================================\n     JSON-LD, FAQPage (kept in sync with the FAQ accordion above)\n     ===================================================================== -->\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Can you make custom sashes with names, titles and dates?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. We produce glitter celebration sashes for birthdays, queen and pageant events with custom names, titles and dates, printed using 17 printing and finishing techniques that include gold foil hot stamping, backed by 100 in-house designers. Share your wording and we return a free design.\"}},{\"@type\":\"Question\",\"name\":\"Do you supply award ribbons with event card and rosettes?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Our award range covers 1st 2nd 3rd gold silver bronze award ribbons supplied with event card, 2x8 inch single face sports satin award ribbon and custom print rosette badge award ribbons. All are made with custom text and event colors matched to your ceremony, under the same QC system as our roll goods.\"}},{\"@type\":\"Question\",\"name\":\"What materials and sizes do occasion ribbons come in?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Occasion programs run on satin, organza, grosgrain and wired constructions in widths from 3mm to 100mm, plus finished pieces such as celebration sashes, 2x8 inch sports award ribbon and rosette badges. Dyed-to-match palettes keep wedding, ceremony and event colors consistent across every piece in one order.\"}},{\"@type\":\"Question\",\"name\":\"How far ahead should we order holiday or event ribbon?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Standard orders ship in 2-3 weeks, but wedding, graduation and holiday seasons book production early, so we recommend confirming custom colors, prints and wording at least one season ahead of your event or sell-through window.\"}}]}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Product Range Our Special Occasion Ribbon Range All four occasion lines from our current catalog are shown: glitter happy birthday and queen birthday girl sashes, 1st 2nd 3rd gold silver bronze award ribbons supplied with event card, 2&#215;8 inch single face sports satin award ribbon and custom print rosette badge award ribbon. Sash and award &#8230; <a title=\"\u0634\u0631\u0627\u0626\u0637 \u0627\u0644\u0645\u0646\u0627\u0633\u0628\u0627\u062a \u0627\u0644\u062e\u0627\u0635\u0629\" class=\"read-more\" href=\"https:\/\/test.ribbonoem.com\/ar\/ribbons\/special-occasion-ribbons\/\" aria-label=\"Read more about Special Occasion Ribbons\">\u0627\u0642\u0631\u0623 \u0627\u0644\u0645\u0632\u064a\u062f<\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":4977,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"rank_math_title":"","rank_math_description":"","rank_math_focus_keyword":"","rank_math_robots":"","rank_math_canonical_url":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_twitter_title":"","rank_math_twitter_description":"","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_focuskw":"","_yoast_wpseo_canonical":"","_yoast_wpseo_meta-robots-noindex":"","_yoast_wpseo_meta-robots-nofollow":"","_yoast_wpseo_opengraph-title":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_twitter-title":"","_yoast_wpseo_twitter-description":"","_aioseo_title":"","_aioseo_description":"","_aioseo_keywords":"","_aioseo_robots_default":"","_aioseo_robots_noindex":"","_aioseo_og_title":"","_aioseo_og_description":"","_aioseo_twitter_title":"","_aioseo_twitter_description":"","aiosp_title":"","aiosp_description":"","aiosp_keywords":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_analysis_target_kw":"","_seopress_robots_canonical":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_genesis_title":"","_genesis_description":"","_genesis_canonical":"","_genesis_noindex":"","_genesis_nofollow":"","slim_seo":"","footnotes":""},"class_list":["post-4982","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/test.ribbonoem.com\/ar\/wp-json\/wp\/v2\/pages\/4982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.ribbonoem.com\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/test.ribbonoem.com\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/test.ribbonoem.com\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/test.ribbonoem.com\/ar\/wp-json\/wp\/v2\/comments?post=4982"}],"version-history":[{"count":3,"href":"https:\/\/test.ribbonoem.com\/ar\/wp-json\/wp\/v2\/pages\/4982\/revisions"}],"predecessor-version":[{"id":5027,"href":"https:\/\/test.ribbonoem.com\/ar\/wp-json\/wp\/v2\/pages\/4982\/revisions\/5027"}],"up":[{"embeddable":true,"href":"https:\/\/test.ribbonoem.com\/ar\/wp-json\/wp\/v2\/pages\/4977"}],"wp:attachment":[{"href":"https:\/\/test.ribbonoem.com\/ar\/wp-json\/wp\/v2\/media?parent=4982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}