{"id":5012,"date":"2022-10-26T21:06:33","date_gmt":"2022-10-27T01:06:33","guid":{"rendered":"https:\/\/jacklecoq.com\/contact\/"},"modified":"2026-02-20T13:33:44","modified_gmt":"2026-02-20T17:33:44","slug":"contact-2","status":"publish","type":"page","link":"https:\/\/jacklecoq.com\/en\/contact-2\/","title":{"rendered":"Contact our restaurants"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container fusion-parallax-none gradient-container-1 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"background-color: rgba(255,255,255,0);background-image: url(&quot;https:\/\/jacklecoq.com\/wp-content\/uploads\/revslider\/commande\/BACKGROUND.png&quot;);background-position: center center;background-repeat: no-repeat;border-width: 0px 0px 0px 0px;border-color:var(--awb-color3);border-style:solid;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start\" style=\"max-width:1352px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\" style=\"background-position:left top;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;padding: 0px 0px 0px 0px;\"><style type=\"text\/css\">@media only screen and (max-width:1024px) {.fusion-title.fusion-title-1{margin-top:10px!important; margin-right:0px!important;margin-bottom:15px!important;margin-left:0px!important;}}@media only screen and (max-width:640px) {.fusion-title.fusion-title-1{margin-top:10px!important; margin-right:0px!important;margin-bottom:10px!important; margin-left:0px!important;}}<\/style><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-one\" style=\"margin-top:10px;margin-right:0px;margin-bottom:15px;margin-left:0px;\"><h1 class=\"title-heading-center fusion-responsive-typography-calculated\" style=\"margin:0;color:#106d86;--fontSize:64;line-height:var(--awb-typography1-line-height);\">Contact us<\/h1><\/div><\/div><style type=\"text\/css\">.fusion-body .fusion-builder-column-0{width:100% !important;margin-top : 0px;margin-bottom : 0px;}.fusion-builder-column-0 > .fusion-column-wrapper {padding-top : 0px !important;padding-right : 0px !important;margin-right : 0%;padding-bottom : 0px !important;padding-left : 0px !important;margin-left : 0%;}@media only screen and (max-width:1024px) {.fusion-body .fusion-builder-column-0{width:100% !important;order : 0;}.fusion-builder-column-0 > .fusion-column-wrapper {margin-right : 0%;margin-left : 0%;}}@media only screen and (max-width:640px) {.fusion-body .fusion-builder-column-0{width:100% !important;order : 0;}.fusion-builder-column-0 > .fusion-column-wrapper {margin-right : 1.92%;margin-left : 1.92%;}}<\/style><\/div><\/div><style type=\"text\/css\">.fusion-body .fusion-flex-container.fusion-builder-row-1{ padding-top : 50px;margin-top : 0;padding-right : 0px;padding-bottom : 50px;margin-bottom : 0px;padding-left : 0px;}@media only screen and (max-width:1024px) {.fusion-body .fusion-flex-container.fusion-builder-row-1{ padding-right : 30px;padding-left : 30px;}}<\/style><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container fusion-parallax-fixed gradient-container-2 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"background-color: #f6b09e;background-image: url(&quot;https:\/\/jacklecoq.com\/wp-content\/uploads\/2022\/10\/bleu-rose-motif.png&quot;);background-position: center center;background-repeat: no-repeat;border-width: 0px 0px 0px 0px;border-color:var(--awb-color3);border-style:solid;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;background-attachment:fixed;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start\" style=\"max-width:1352px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-flex-start\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\" style=\"background-position:left top;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;background-color:#abd8ca;padding: 50px 50px 50px 50px;\"><style type=\"text\/css\">@media only screen and (max-width:1024px) {.fusion-title.fusion-title-2{margin-top:10px!important; margin-right:0px!important;margin-bottom:15px!important;margin-left:0px!important;}}@media only screen and (max-width:640px) {.fusion-title.fusion-title-2{margin-top:10px!important; margin-right:0px!important;margin-bottom:10px!important; margin-left:0px!important;}}<\/style><div class=\"fusion-title title fusion-title-2 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-two\" style=\"margin-top:10px;margin-right:0px;margin-bottom:15px;margin-left:0px;\"><h2 class=\"title-heading-center fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:48;line-height:var(--awb-typography1-line-height);\">Write to us<\/h2><\/div><!-- JLC Contact Form - Embed this in WordPress -->\n<style>\n\/* ============================================\n   JLC FORM - SCOPED STYLES\n   All styles prefixed with .jlc-form to avoid conflicts\n   ============================================ *\/\n\n.jlc-form-wrapper {\n  --jlc-yellow: #ffc52d;\n  --jlc-pink: #f6b09d;\n  --jlc-blue: #106d86;\n  --jlc-green: #9dd6c7;\n  --jlc-ink: #141414;\n  --jlc-muted: #5a5a5a;\n  --jlc-card: #ffffff;\n  --jlc-bg: #FFF7DB;\n  --jlc-border: #1a1a1a;\n  --jlc-radius: 20px;\n  --jlc-accent-glow: rgba(255,210,30,.35);\n  --jlc-accent-glow-light: rgba(255,210,30,.25);\n  --jlc-section-bg: rgba(255,210,30,.12);\n  --jlc-header-gradient: linear-gradient(90deg, rgba(255,210,30,.35), rgba(255,79,178,.22), rgba(43,184,255,.18));\n  --jlc-progress-gradient: linear-gradient(60deg, #9DD6C7, var(--jlc-yellow), var(--jlc-pink), var(--jlc-blue), var(--jlc-green));\n  --jlc-toggle-bg: var(--jlc-yellow);\n\n  font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\n  color: var(--jlc-ink);\n  box-sizing: border-box;\n  max-width: 860px;\n  padding: 20px;\n}\n\n.jlc-form-wrapper *,\n.jlc-form-wrapper *::before,\n.jlc-form-wrapper *::after { box-sizing: border-box; }\n\n.jlc-form-wrapper.jlc-complaint-mode {\n  --jlc-yellow: #ffb347;\n  --jlc-pink: #ff6a3d;\n  --jlc-blue: #c81d25;\n  --jlc-green: #ff8c1a;\n  --jlc-bg: #fff1e8;\n  --jlc-card: #fff6f1;\n  --jlc-accent-glow: rgba(255,120,60,.35);\n  --jlc-accent-glow-light: rgba(255,120,60,.25);\n  --jlc-section-bg: rgba(255,120,60,.12);\n  --jlc-header-gradient: linear-gradient(90deg, rgba(255,120,60,.35), rgba(255,60,60,.28), rgba(255,200,80,.2));\n  --jlc-progress-gradient: linear-gradient(60deg, #ff4747, #ffa945, #ff3d3d, #c8541d, #ffae1a, #ff311a);\n  --jlc-toggle-bg: #ff7a45;\n}\n\n.jlc-form-wrapper .jlc-card {\n  background: var(--jlc-card);\n  border: 3px solid var(--jlc-border);\n  border-radius: var(--jlc-radius);\n  box-shadow: 10px 10px 0 rgba(0,0,0,.14);\n  overflow: hidden;\n}\n\n.jlc-form-wrapper .jlc-header {\n  padding: 18px 18px 14px 18px;\n  background: var(--jlc-header-gradient);\n  border-bottom: 3px solid var(--jlc-border);\n}\n\n.jlc-form-wrapper .jlc-header-row {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 14px;\n  flex-wrap: wrap;\n}\n\n.jlc-form-wrapper .jlc-mascot {\n  width: 104px;\n  height: 104px;\n  border-radius: 50%;\n  background: #fff;\n  box-shadow: 4px 4px 0 rgba(0,0,0,.12);\n  object-fit: cover;\n  flex-shrink: 0;\n}\n\n.jlc-form-wrapper .jlc-title {\n  margin: 0;\n  font-size: 22px;\n  font-weight: 800;\n  letter-spacing: .2px;\n  color: var(--jlc-ink);\n}\n\n.jlc-form-wrapper .jlc-subtitle { margin: 6px 0 0; color: var(--jlc-muted); font-size: 13px; }\n\n.jlc-form-wrapper .jlc-form-inner { padding: 18px; }\n\n.jlc-form-wrapper .jlc-grid { display: grid; gap: 12px; }\n.jlc-form-wrapper .jlc-grid.jlc-two { grid-template-columns: 1fr 1fr; }\n\n@media (max-width: 720px) {\n  .jlc-form-wrapper .jlc-grid.jlc-two { grid-template-columns: 1fr; }\n}\n\n.jlc-form-wrapper label {\n  display: block;\n  font-weight: 600;\n  font-size: 13px;\n  margin-bottom: 6px;\n  color: var(--jlc-ink);\n}\n\n.jlc-form-wrapper input,\n.jlc-form-wrapper select,\n.jlc-form-wrapper textarea {\n  width: 100%;\n  border: 2px solid var(--jlc-border);\n  border-radius: 14px;\n  padding: 11px 12px;\n  font-family: inherit;\n  font-size: inherit;\n  background: #fff;\n  outline: none;\n  transition: border-color .15s ease, box-shadow .15s ease;\n  color: var(--jlc-ink);\n}\n\n.jlc-form-wrapper input:read-only { background: #f5f5f5; color: var(--jlc-muted); cursor: not-allowed; }\n\n.jlc-form-wrapper select {\n  appearance: none;\n  background-image:\n    linear-gradient(45deg, transparent 50%, var(--jlc-border) 50%),\n    linear-gradient(135deg, var(--jlc-border) 50%, transparent 50%),\n    linear-gradient(to right, #fff, #fff);\n  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%, 0 0;\n  background-size: 6px 6px, 6px 6px, 100% 100%;\n  background-repeat: no-repeat;\n  padding-right: 38px;\n  cursor: pointer;\n}\n\n.jlc-form-wrapper select:hover { box-shadow: 0 0 0 3px var(--jlc-accent-glow-light); }\n\n.jlc-form-wrapper textarea { min-height: 120px; resize: vertical; }\n\n.jlc-form-wrapper input:focus,\n.jlc-form-wrapper select:focus,\n.jlc-form-wrapper textarea:focus { box-shadow: 0 0 0 4px var(--jlc-accent-glow); }\n\n.jlc-form-wrapper .jlc-hint { font-size: 12px; color: var(--jlc-muted); margin-top: 6px; }\n\n.jlc-form-wrapper .jlc-section {\n  margin-top: 14px;\n  padding: 14px;\n  border: 2px dashed rgba(0,0,0,.25);\n  border-radius: 18px;\n  background: var(--jlc-section-bg);\n}\n\n.jlc-form-wrapper .jlc-section-title { margin: 0 0 10px; font-size: 14px; font-weight: 800; color: var(--jlc-ink); }\n\n.jlc-form-wrapper .jlc-subsection {\n  margin-top: 10px;\n  border: 2px solid rgba(0,0,0,.18);\n  border-radius: 16px;\n  background: #fff;\n  padding: 5px;\n}\n\n.jlc-form-wrapper .jlc-subsection-message {\n  margin-top: 10px;\n  border: 2px solid rgba(0,0,0,.18);\n  border-radius: 16px;\n  padding: 5px;\n  background: var(--jlc-section-bg);\n}\n\n.jlc-form-wrapper .jlc-radios { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }\n\n.jlc-form-wrapper .jlc-radio {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  border: 2px solid var(--jlc-border);\n  border-radius: 999px;\n  padding: 8px 10px;\n  background: #fff;\n  font-weight: 700;\n  cursor: pointer;\n  user-select: none;\n}\n\n.jlc-form-wrapper .jlc-radio input { width: auto; margin: 0; }\n\n.jlc-form-wrapper input[type=\"file\"] { padding: 10px; }\n\n.jlc-form-wrapper .jlc-filehint { font-size: 12px; color: var(--jlc-muted); margin-top: 6px; }\n\n.jlc-form-wrapper .jlc-topbar { margin-top: 12px; }\n\n.jlc-form-wrapper .jlc-progress {\n  border: 2px solid var(--jlc-border);\n  border-radius: 999px;\n  height: 14px;\n  background: #fff;\n  overflow: hidden;\n  position: relative;\n}\n\n.jlc-form-wrapper .jlc-progress-bar {\n  height: 100%;\n  width: 0%;\n  background: var(--jlc-progress-gradient);\n  background-size: 200% 100%;\n  animation: jlcProgressFlow 3.4s linear infinite;\n  transition: width .25s ease;\n}\n\n@keyframes jlcProgressFlow {\n  from { background-position: 0% 0; }\n  to { background-position: 200% 0; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .jlc-form-wrapper .jlc-progress-bar { animation: none; }\n}\n\n.jlc-form-wrapper .jlc-actions {\n  margin-top: 16px;\n  display: flex;\n  gap: 10px;\n  justify-content: flex-end;\n  align-items: center;\n  flex-wrap: wrap;\n}\n\n.jlc-form-wrapper .jlc-branch-lookup { display: flex; gap: 10px; align-items: center; }\n.jlc-form-wrapper .jlc-branch-results { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }\n.jlc-form-wrapper .jlc-datetime-wrap { cursor: pointer; }\n\n.jlc-form-wrapper .jlc-toggle {\n  margin: 12px 0 4px;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  position: relative;\n  border: 2px solid var(--jlc-border);\n  border-radius: 999px;\n  padding: 4px;\n  background: #fff;\n  overflow: hidden;\n}\n\n.jlc-form-wrapper .jlc-toggle input { position: absolute; opacity: 0; pointer-events: none; }\n\n.jlc-form-wrapper .jlc-toggle label {\n  z-index: 1;\n  text-align: center;\n  padding: 8px 10px;\n  font-weight: 800;\n  font-size: 13px;\n  cursor: pointer;\n  color: var(--jlc-muted);\n  margin-bottom: 0;\n}\n\n.jlc-form-wrapper .jlc-toggle-pill {\n  position: absolute;\n  top: 4px;\n  left: 4px;\n  width: calc(50% - 4px);\n  height: calc(100% - 8px);\n  border-radius: 999px;\n  background: var(--jlc-toggle-bg);\n  box-shadow: inset 0 0 0 2px var(--jlc-border);\n  opacity: 0;\n  transition: transform .25s ease, background .25s ease, opacity .2s ease;\n}\n\n.jlc-form-wrapper .jlc-toggle.is-selected .jlc-toggle-pill { opacity: 1; }\n.jlc-form-wrapper #jlcTypeComplaint:checked ~ .jlc-toggle-pill { transform: translateX(100%); }\n.jlc-form-wrapper #jlcTypeQuestion:checked + label,\n.jlc-form-wrapper #jlcTypeComplaint:checked + label { color: var(--jlc-ink); }\n\n.jlc-form-wrapper .jlc-btn-inline {\n  padding: 9px 12px;\n  border-width: 2px;\n  box-shadow: 4px 4px 0 rgba(0,0,0,.12);\n  font-size: 12px;\n  font-weight: 700;\n}\n\n\/* \u2705 reCAPTCHA wrapper *\/\n.jlc-form-wrapper .jlc-captcha { display: grid; gap: 8px; }\n\n\/* \u2705 Inline captcha error + highlight (visual indicator) *\/\n.jlc-form-wrapper .jlc-captcha.jlc-invalid {\n  border: 2px dashed rgba(0,0,0,.35);\n  border-radius: 16px;\n  padding: 10px;\n  box-shadow: 0 0 0 4px var(--jlc-accent-glow-light);\n}\n\n.jlc-form-wrapper .jlc-captcha-error {\n  display: none;\n  padding: 10px 12px;\n  border: 2px solid var(--jlc-border);\n  border-radius: 14px;\n  font-size: 12px;\n  font-weight: 800;\n  background: rgba(255,79,178,.18);\n}\n\n.jlc-form-wrapper button {\n  appearance: none;\n  border: 3px solid var(--jlc-border);\n  border-radius: 16px;\n  padding: 12px 14px;\n  font-family: inherit;\n  font-size: inherit;\n  font-weight: 800;\n  cursor: pointer;\n  background: var(--jlc-yellow);\n  box-shadow: 6px 6px 0 rgba(0,0,0,.14);\n  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;\n  color: var(--jlc-ink);\n}\n\n.jlc-form-wrapper button:hover {\n  transform: translate(-1px,-1px);\n  box-shadow: 8px 8px 0 rgba(0,0,0,.14);\n  filter: brightness(1.02);\n}\n\n.jlc-form-wrapper button:active {\n  transform: translate(2px,2px);\n  box-shadow: 4px 4px 0 rgba(0,0,0,.14);\n}\n\n.jlc-form-wrapper .jlc-ghost { background: #fff; font-weight: 800; }\n\n.jlc-form-wrapper .jlc-success,\n.jlc-form-wrapper .jlc-error {\n  margin-top: 14px;\n  padding: 12px 14px;\n  border: 3px solid var(--jlc-border);\n  border-radius: 16px;\n  font-weight: 700;\n  display: none;\n}\n\n.jlc-form-wrapper .jlc-success { background: rgba(39,224,139,.20); }\n.jlc-form-wrapper .jlc-error { background: rgba(255,79,178,.18); }\n\n.jlc-form-wrapper .jlc-hidden { display: none !important; }\n\n.jlc-form-wrapper .jlc-ticket-id-badge {\n  display: inline-block;\n  background: var(--jlc-blue);\n  color: #fff;\n  padding: 6px 12px;\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 800;\n  margin-top: 4px;\n}\n\n.jlc-form-wrapper .jlc-hp {\n  position: absolute;\n  left: -9999px;\n  top: -9999px;\n  height: 0;\n  width: 0;\n  overflow: hidden;\n}\n\n.jlc-form-wrapper .jlc-mt-12 { margin-top: 12px; }\n.jlc-form-wrapper .jlc-mt-14 { margin-top: 14px; }\n\n\/* Responsive *\/\n@media (max-width: 640px) {\n  .jlc-form-wrapper { padding: 0px; }\n  .jlc-form-wrapper .jlc-card { border-width: 2px; box-shadow: 6px 6px 0 rgba(0,0,0,.14); }\n  .jlc-form-wrapper .jlc-header { padding: 14px 14px 12px 14px; }\n  .jlc-form-wrapper .jlc-title { font-size: 20px; }\n  .jlc-form-wrapper .jlc-mascot { width: 72px; height: 72px; }\n  .jlc-form-wrapper .jlc-subtitle { font-size: 12px; }\n  .jlc-form-wrapper .jlc-form-inner { padding: 14px; }\n  .jlc-form-wrapper .jlc-section { padding: 12px; }\n  .jlc-form-wrapper .jlc-actions { flex-direction: column; align-items: stretch; }\n  .jlc-form-wrapper .jlc-actions button { width: 100%; }\n  .jlc-form-wrapper .jlc-branch-lookup { flex-direction: column; align-items: stretch; }\n  .jlc-form-wrapper .jlc-btn-inline { width: 100%; }\n  .jlc-form-wrapper .jlc-progress { height: 12px; }\n  .jlc-form-wrapper .jlc-radio { width: 100%; }\n  .jlc-form-wrapper .jlc-toggle label { font-size: 12px; padding: 7px 8px; }\n  .jlc-form-wrapper select,\n  .jlc-form-wrapper input,\n  .jlc-form-wrapper textarea { font-size: 14px; }\n}\n\n@media (max-width: 420px) {\n  .jlc-form-wrapper .jlc-title { font-size: 18px; }\n  .jlc-form-wrapper button { padding: 11px 12px; }\n  .jlc-form-wrapper label { font-size: 12px; }\n}\n<\/style>\n\n<!-- \u2705 reCAPTCHA v2 script (checkbox) -->\n<script src=\"https:\/\/www.google.com\/recaptcha\/enterprise.js\" async defer><\/script>\n\n<!-- JLC Form HTML Structure -->\n<div class=\"jlc-form-wrapper\" id=\"jlcFormWrapper\" style=\"display: contents;\">\n  <div class=\"jlc-card\">\n    <div class=\"jlc-header\">\n      <div class=\"jlc-header-row\">\n        <h1 class=\"jlc-title\">Contact us!<\/h1>\n        <img decoding=\"async\" id=\"jlcMascotImage\" class=\"jlc-mascot\" src=\"https:\/\/jacklecoq.com\/wp-content\/uploads\/2026\/01\/classic-rooster-1.png\" alt=\"Jack Le Coq Mascot\">\n      <\/div>\n      <div class=\"jlc-topbar\" aria-label=\"Progress\">\n        <div class=\"jlc-progress\"><div id=\"jlcProgressBar\" class=\"jlc-progress-bar\"><\/div><\/div>\n      <\/div>\n    <\/div>\n\n    <form id=\"jlcForm\" class=\"jlc-form-inner\" autocomplete=\"on\">\n\n      <!-- Honeypot -->\n      <div class=\"jlc-hp\">\n        <label>Company<\/label>\n        <input name=\"company_hp\" tabindex=\"-1\" autocomplete=\"off\">\n      <\/div>\n\n      <!-- Ticket ID Section -->\n      <div id=\"jlcTicketIdSection\" class=\"jlc-section jlc-hidden\" style=\"display: none\">\n        <h2 class=\"jlc-section-title\">Existing Ticket Number<\/h2>\n        <div>\n          <label for=\"jlcExistingTicketId\">Ticket ID<\/label>\n          <input id=\"jlcExistingTicketId\" name=\"existingTicketId\" readonly \/>\n          <div class=\"jlc-hint\">This form will add information to the existing ticket.<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"jlc-toggle\" id=\"jlcTypeToggle\" role=\"tablist\" aria-label=\"Request Type\">\n        <input type=\"radio\" id=\"jlcTypeQuestion\" name=\"ticketType\" value=\"question\">\n        <label for=\"jlcTypeQuestion\">General question<\/label>\n        <input type=\"radio\" id=\"jlcTypeComplaint\" name=\"ticketType\" value=\"complaint\">\n        <label for=\"jlcTypeComplaint\">Comment<\/label>\n        <span class=\"jlc-toggle-pill\" aria-hidden=\"true\"><\/span>\n      <\/div>\n\n      <div id=\"jlcFormFields\" class=\"jlc-hidden\">\n        <!-- Complaint Section -->\n        <div id=\"jlcSecComplaint\" class=\"jlc-section jlc-hidden\" data-section=\"complaint\">\n          <div>\n            <label>Did you order using a third-party service? (Uber Eats, DoorDash, Skip)<\/label>\n            <div class=\"jlc-radios\" role=\"group\" aria-label=\"Order via third-party service\">\n              <label class=\"jlc-radio\">\n                <input type=\"radio\" name=\"thirdPartyOrder\" value=\"yes\">\n                Yes\n              <\/label>\n              <label class=\"jlc-radio\">\n                <input type=\"radio\" name=\"thirdPartyOrder\" value=\"no\">\n                No\n              <\/label>\n            <\/div>\n          <\/div>\n          <div id=\"jlcThirdPartyMessage\" class=\"jlc-subsection-message jlc-hidden\">\n            Please refer to the app where you placed the order.\n          <\/div>\n          <div id=\"jlcComplaintQuestions\">\n            <label for=\"jlcComplaintType\">Regarding<\/label>\n            <select id=\"jlcComplaintType\" name=\"complaintType\">\n              <option value=\"\" selected disabled>Choose<\/option>\n              <option>Service<\/option>\n              <option>Cleanliness<\/option>\n              <option>Product<\/option>\n              <option>Missing Item<\/option>\n              <option>Billing<\/option>\n            <\/select>\n            <div id=\"jlcComplaintServiceBlock\" class=\"jlc-subsection jlc-hidden\">\n              <label for=\"jlcServiceChannel\">Service via<\/label>\n              <select id=\"jlcServiceChannel\" name=\"serviceChannel\">\n                <option value=\"\" selected disabled>Choose<\/option>\n                <option>Phone<\/option>\n                <option>Branch<\/option>\n                <option>Online \/ App<\/option>\n              <\/select>\n            <\/div>\n            <div id=\"jlcComplaintProductBlock\" class=\"jlc-subsection jlc-hidden\">\n              <label for=\"jlcProductChannel\">Product via<\/label>\n              <select id=\"jlcProductChannel\" name=\"productChannel\">\n                <option value=\"\" selected disabled>Choose<\/option>\n                <option>Delivery<\/option>\n                <option>At Branch<\/option>\n              <\/select>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div id=\"jlcFormBody\">\n          <div class=\"jlc-grid jlc-two\">\n            <div>\n              <label for=\"jlcFirstName\">First Name<\/label>\n              <input id=\"jlcFirstName\" name=\"firstName\" required \/>\n            <\/div>\n            <div>\n              <label for=\"jlcLastName\">Last Name<\/label>\n              <input id=\"jlcLastName\" name=\"lastName\" required \/>\n            <\/div>\n          <\/div>\n\n          <div class=\"jlc-grid jlc-two jlc-mt-12\">\n            <div>\n              <label for=\"jlcEmail\">Email<\/label>\n              <input id=\"jlcEmail\" name=\"email\" type=\"email\" required \/>\n            <\/div>\n            <div>\n              <label for=\"jlcPhone\">Phone<\/label>\n              <input id=\"jlcPhone\" name=\"phone\" type=\"tel\" required\/>\n            <\/div>\n          <\/div>\n\n          <div id=\"jlcBranchBlock\" class=\"jlc-section jlc-hidden\">\n            <h2 class=\"jlc-section-title\">Branch<\/h2>\n            <div class=\"jlc-grid\">\n              <div>\n                <label for=\"jlcBranchQuery\">Location<\/label>\n                <div class=\"jlc-branch-lookup\">\n                  <input id=\"jlcBranchQuery\" name=\"branchQuery\" placeholder=\"Ex: Verdun, Laval\" \/>\n                  <button type=\"button\" class=\"jlc-ghost jlc-btn-inline\" id=\"jlcBranchSearchBtn\">Search<\/button>\n                <\/div>\n                <div class=\"jlc-hint\" id=\"jlcBranchStatus\">Enter a location and click Search.<\/div>\n              <\/div>\n              <div>\n                <label>Results<\/label>\n                <div id=\"jlcBranchResults\" class=\"jlc-branch-results\" role=\"radiogroup\" aria-label=\"Branches\"><\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div id=\"jlcOrderProofBlock\" class=\"jlc-section jlc-hidden\">\n            <h2 class=\"jlc-section-title\">Order Proof<\/h2>\n            <div class=\"jlc-radios\" role=\"group\" aria-label=\"Do you have the receipt?\">\n              <label class=\"jlc-radio\">\n                <input type=\"radio\" name=\"hasOrderProof\" value=\"yes\">\n                Yes, I have the receipt\n              <\/label>\n              <label class=\"jlc-radio\">\n                <input type=\"radio\" name=\"hasOrderProof\" value=\"no\">\n                No, I don't have it\n              <\/label>\n            <\/div>\n\n            <div id=\"jlcOrderProofYes\" class=\"jlc-subsection jlc-hidden\">\n              <label for=\"jlcOrderProofFile\">Upload the receipt<\/label>\n              <input id=\"jlcOrderProofFile\" name=\"orderProofFile\" type=\"file\" accept=\".jpg,.jpeg,.png,.heic,.pdf,.doc,.docx,.tiff,.tif,.gif,.bmp,.txt\" \/>\n              <div class=\"jlc-filehint\">Formats: JPEG, PNG, HEIC, PDF, DOC, DOCX, TIFF, GIF, BMP, TXT.<\/div>\n            <\/div>\n\n            <div id=\"jlcOrderProofNo\" class=\"jlc-subsection jlc-hidden\">\n              <label for=\"jlcOrderAmount\">Order Amount<\/label>\n              <input id=\"jlcOrderAmount\" name=\"orderAmount\" inputmode=\"decimal\" placeholder=\"Ex: 24.99\" \/>\n            <\/div>\n          <\/div>\n\n          <div id=\"jlcMomentBlock\" class=\"jlc-section jlc-hidden\">\n            <h2 class=\"jlc-section-title\">When You Ordered<\/h2>\n            <div>\n              <label for=\"jlcMomentDateTime\" id=\"jlcMomentLabel\">Date and Time<\/label>\n              <div class=\"jlc-datetime-wrap\" id=\"jlcMomentPicker\">\n                <input id=\"jlcMomentDateTime\" name=\"momentDateTime\" type=\"datetime-local\" \/>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div id=\"jlcPhotoBlock\" class=\"jlc-section jlc-hidden\">\n            <h2 class=\"jlc-section-title\">Supporting Photo (optional)<\/h2>\n            <div>\n              <label for=\"jlcPhotoFile\">Add a photo<\/label>\n              <input id=\"jlcPhotoFile\" name=\"photoFile\" type=\"file\" accept=\".jpg,.jpeg,.png,.heic,.pdf,.doc,.docx,.tiff,.tif,.gif,.bmp,.txt\" \/>\n              <div class=\"jlc-filehint\">Formats: JPEG, PNG, HEIC, PDF, DOC, DOCX, TIFF, GIF, BMP, TXT.<\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"jlc-mt-14\">\n            <label for=\"jlcMessage\">Details<\/label>\n            <textarea id=\"jlcMessage\" name=\"message\" required placeholder=\"Tell us what happened\u2026\"><\/textarea>\n            <div class=\"jlc-hint\">The more details you provide, the faster we can help you.<\/div>\n          <\/div>\n\n          <!-- \u2705 reCAPTCHA widget (checkbox) -->\n          <div class=\"jlc-captcha jlc-mt-14\" id=\"jlcCaptchaWrap\">\n            <div\n              class=\"g-recaptcha\"\n              data-sitekey=\"6LcuamksAAAAAD2rxA4QMo1XZW-BPJ2OTNwemY8B\"\n              data-callback=\"jlcRecaptchaOk\"\n              data-expired-callback=\"jlcRecaptchaExpired\"\n              data-error-callback=\"jlcRecaptchaExpired\"\n            ><\/div>\n\n            <div class=\"jlc-hint\">Please confirm you\u2019re not a robot before sending.<\/div>\n          <\/div>\n\n          <div class=\"jlc-actions\">\n            <button type=\"button\" class=\"jlc-ghost\" id=\"jlcResetBtn\">Reset<\/button>\n            <button type=\"submit\" id=\"jlcSubmitBtn\">Send<\/button>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"jlc-success\" id=\"jlcSuccessBox\">\n        Thank you! Your message has been sent. \u2705 You will receive a response within 24 hours.\n      <\/div>\n      <div class=\"jlc-error\" id=\"jlcErrorBox\">\n        Oops... unable to send at the moment. Try again or contact us later.\n      <\/div>\n    <\/form>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  'use strict';\n\n  \/\/ ============================================\n  \/\/ \u26a0\ufe0f CONFIGURATION - CHANGE THESE VALUES\n  \/\/ ============================================\n  const JLC_CONFIG = {\n    webhookUrl: \"https:\/\/jacklecoq.com\/wp-json\/jlc\/v1\/submit\",        \/\/ \u2190 CHANGE TO YOUR DOMAIN\n    branchLookupUrl: \"https:\/\/jacklecoq.com\/wp-json\/jlc\/v1\/branches\", \/\/ \u2190 CHANGE TO YOUR DOMAIN\n    defaultLanguage: \"English\",\n    defaultStatus: \"Ouvert\",\n    defaultSource: \"Site-web\"\n  };\n\n  \/\/ ============================================\n  \/\/ \u26a0\ufe0f MASCOT IMAGES - CHANGE THESE URLs\n  \/\/ ============================================\n  const MASCOT_IMAGES = {\n    classic: \"https:\/\/jacklecoq.com\/wp-content\/uploads\/2026\/01\/classic-rooster-1.png\",\n    happy: \"https:\/\/jacklecoq.com\/wp-content\/uploads\/2026\/01\/happy-rooster-1.png\",\n    angry: \"https:\/\/jacklecoq.com\/wp-content\/uploads\/2026\/01\/angry-rooster-1.png\"\n  };\n\n  \/\/ Extract ticketID from URL\n  let existingTicketID = null;\n  try {\n    const urlParams = new URLSearchParams(window.location.search);\n    existingTicketID = urlParams.get('ticketID');\n  } catch(e) {\n    console.error('Error parsing URL params:', e);\n  }\n\n  \/\/ DOM Elements\n  const wrapper = document.getElementById(\"jlcFormWrapper\");\n  const form = document.getElementById(\"jlcForm\");\n  const resetBtn = document.getElementById(\"jlcResetBtn\");\n  const submitBtn = document.getElementById(\"jlcSubmitBtn\");\n  const successBox = document.getElementById(\"jlcSuccessBox\");\n  const errorBox = document.getElementById(\"jlcErrorBox\");\n  const progressBar = document.getElementById(\"jlcProgressBar\");\n  const mascotImage = document.getElementById(\"jlcMascotImage\");\n  const formFields = document.getElementById(\"jlcFormFields\");\n  const formBody = document.getElementById(\"jlcFormBody\");\n  const typeToggle = document.getElementById(\"jlcTypeToggle\");\n\n  const ticketIdSection = document.getElementById(\"jlcTicketIdSection\");\n  const existingTicketIdInput = document.getElementById(\"jlcExistingTicketId\");\n\n  const captchaWrap = document.getElementById(\"jlcCaptchaWrap\");\n  \/* const captchaError = document.getElementById(\"jlcCaptchaError\"); *\/\n\n  if (existingTicketID) {\n    existingTicketIdInput.value = existingTicketID;\n    ticketIdSection.classList.remove('jlc-hidden');\n  }\n\n  const typeRadios = [...form.querySelectorAll('input[name=\"ticketType\"]')];\n  const firstName = document.getElementById(\"jlcFirstName\");\n  const lastName = document.getElementById(\"jlcLastName\");\n  const emailField = document.getElementById(\"jlcEmail\");\n  const phoneField = document.getElementById(\"jlcPhone\");\n  const messageField = document.getElementById(\"jlcMessage\");\n\n  const complaintSection = document.getElementById(\"jlcSecComplaint\");\n  const complaintQuestions = document.getElementById(\"jlcComplaintQuestions\");\n  const thirdPartyMessage = document.getElementById(\"jlcThirdPartyMessage\");\n  const thirdPartyRadios = [...form.querySelectorAll('input[name=\"thirdPartyOrder\"]')];\n  const complaintType = document.getElementById(\"jlcComplaintType\");\n  const complaintServiceBlock = document.getElementById(\"jlcComplaintServiceBlock\");\n  const complaintProductBlock = document.getElementById(\"jlcComplaintProductBlock\");\n  const serviceChannel = document.getElementById(\"jlcServiceChannel\");\n  const productChannel = document.getElementById(\"jlcProductChannel\");\n\n  const orderProofBlock = document.getElementById(\"jlcOrderProofBlock\");\n  const orderProofYes = document.getElementById(\"jlcOrderProofYes\");\n  const orderProofNo = document.getElementById(\"jlcOrderProofNo\");\n  const orderProofFile = document.getElementById(\"jlcOrderProofFile\");\n  const orderAmount = document.getElementById(\"jlcOrderAmount\");\n  const orderProofRadios = [...form.querySelectorAll('input[name=\"hasOrderProof\"]')];\n  const momentBlock = document.getElementById(\"jlcMomentBlock\");\n  const momentDateTime = document.getElementById(\"jlcMomentDateTime\");\n  const momentPicker = document.getElementById(\"jlcMomentPicker\");\n  const photoBlock = document.getElementById(\"jlcPhotoBlock\");\n  const photoFile = document.getElementById(\"jlcPhotoFile\");\n\n  const branchBlock = document.getElementById(\"jlcBranchBlock\");\n  const branchQuery = document.getElementById(\"jlcBranchQuery\");\n  const branchSearchBtn = document.getElementById(\"jlcBranchSearchBtn\");\n  const branchResults = document.getElementById(\"jlcBranchResults\");\n  const branchStatus = document.getElementById(\"jlcBranchStatus\");\n\n  const PROOF_TYPES = new Set([\"Product\", \"Missing Item\", \"Billing\"]);\n\n  \/*\n  \/\/ \u2705 Helpers: reCAPTCHA token + indicator show\/hide\n  function getRecaptchaToken() {\n    try {\n      return (window.grecaptcha && typeof grecaptcha.getResponse === \"function\")\n        ? grecaptcha.getResponse()\n        : \"\";\n    } catch (_) {\n      return \"\";\n    }\n  }\n  *\/\n  \/\/ \u2705 Helpers: reCAPTCHA token + indicator show\/hide\n  function getRecaptchaToken() {\n    try {\n      return (window.grecaptcha && window.grecaptcha.enterprise && typeof grecaptcha.enterprise.getResponse === \"function\")\n        ? grecaptcha.enterprise.getResponse()\n        : \"\";\n    } catch (_) {\n      return \"\";\n    }\n  }\n\n  function showCaptchaIndicator() {\n    if (captchaWrap) captchaWrap.classList.add(\"jlc-invalid\");\n    \/* if (captchaError) captchaError.style.display = \"block\"; *\/\n\n    if (errorBox) {\n      errorBox.style.display = \"block\";\n      errorBox.textContent = \"Please complete the reCAPTCHA before sending.\";\n    }\n\n    if (captchaWrap && typeof captchaWrap.scrollIntoView === \"function\") {\n      captchaWrap.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n    }\n\n    postHeight();\n  }\n\n  function clearCaptchaIndicator() {\n    if (captchaWrap) captchaWrap.classList.remove(\"jlc-invalid\");\n    if (captchaError) captchaError.style.display = \"none\";\n    postHeight();\n  }\n\n  \/\/ \u2705 reCAPTCHA callbacks (must be global for data-callback)\n  window.jlcRecaptchaOk = function () {\n    clearCaptchaIndicator();\n  };\n\n  window.jlcRecaptchaExpired = function () {\n    clearCaptchaIndicator();\n    try {\n      if (window.grecaptcha && window.grecaptcha.enterprise) window.grecaptcha.reset();\n    } catch (_) {}\n  };\n\n  \/\/ \u2705 Show indicator immediately when user clicks \"Send\" (even if form doesn't submit due to other required fields)\n  if (submitBtn) {\n    submitBtn.addEventListener(\"click\", () => {\n      const token = getRecaptchaToken();\n      if (!token) showCaptchaIndicator();\n      else clearCaptchaIndicator();\n    });\n  }\n\n  function getTicketType() {\n    const checked = typeRadios.find((r) => r.checked);\n    return checked ? checked.value : \"\";\n  }\n\n  function getThirdPartyOrder() {\n    const checked = thirdPartyRadios.find((r) => r.checked);\n    return checked ? checked.value : \"\";\n  }\n\n  function allowComplaintFlow() {\n    return getTicketType() === \"complaint\" && getThirdPartyOrder() === \"no\";\n  }\n\n  function setMascot(mode) {\n    if (!mascotImage) return;\n    if (mode === \"complaint\") mascotImage.src = MASCOT_IMAGES.angry;\n    else if (mode === \"question\") mascotImage.src = MASCOT_IMAGES.happy;\n    else mascotImage.src = MASCOT_IMAGES.classic;\n  }\n\n  function toggleSection(el, show) {\n    if (!el) return;\n    el.classList.toggle(\"jlc-hidden\", !show);\n  }\n\n  function updateComplaintSubsections() {\n    if (!complaintType || !allowComplaintFlow()) {\n      toggleSection(complaintServiceBlock, false);\n      toggleSection(complaintProductBlock, false);\n      if (serviceChannel) { serviceChannel.required = false; serviceChannel.value = \"\"; }\n      if (productChannel) { productChannel.required = false; productChannel.value = \"\"; }\n      return;\n    }\n    const val = complaintType.value;\n    const isService = val === \"Service\";\n    const isProduct = val === \"Product\";\n\n    toggleSection(complaintServiceBlock, isService);\n    toggleSection(complaintProductBlock, isProduct);\n\n    if (serviceChannel) {\n      serviceChannel.required = isService;\n      if (!isService) serviceChannel.value = \"\";\n    }\n    if (productChannel) {\n      productChannel.required = isProduct;\n      if (!isProduct) productChannel.value = \"\";\n    }\n  }\n\n  function setOrderProofVisibility(allowFlow) {\n    const show = allowFlow && complaintType && PROOF_TYPES.has(complaintType.value);\n    toggleSection(orderProofBlock, show);\n    orderProofRadios.forEach((radio, idx) => {\n      radio.required = show && idx === 0;\n      if (!show) radio.checked = false;\n    });\n    if (!show) {\n      toggleSection(orderProofYes, false);\n      toggleSection(orderProofNo, false);\n      if (orderProofFile) orderProofFile.value = \"\";\n      if (orderAmount) orderAmount.value = \"\";\n      if (orderProofFile) orderProofFile.required = false;\n      if (orderAmount) orderAmount.required = false;\n    }\n  }\n\n  function onOrderProofChange() {\n    const checked = form.querySelector('input[name=\"hasOrderProof\"]:checked');\n    const val = checked ? checked.value : \"\";\n\n    if (val === \"yes\") {\n      toggleSection(orderProofYes, true);\n      toggleSection(orderProofNo, false);\n      if (orderProofFile) orderProofFile.required = true;\n      if (orderAmount) orderAmount.required = false;\n      if (orderAmount) orderAmount.value = \"\";\n    } else if (val === \"no\") {\n      toggleSection(orderProofYes, false);\n      toggleSection(orderProofNo, true);\n      if (orderProofFile) orderProofFile.required = false;\n      if (orderProofFile) orderProofFile.value = \"\";\n      if (orderAmount) orderAmount.required = true;\n    } else {\n      toggleSection(orderProofYes, false);\n      toggleSection(orderProofNo, false);\n      if (orderProofFile) orderProofFile.required = false;\n      if (orderAmount) orderAmount.required = false;\n    }\n    updateProgress();\n    postHeight();\n  }\n\n  function setMomentVisibility(show) {\n    toggleSection(momentBlock, show);\n    if (momentDateTime) {\n      momentDateTime.required = !!show;\n      if (!show) momentDateTime.value = \"\";\n    }\n  }\n\n  function setPhotoVisibility(show) {\n    toggleSection(photoBlock, show);\n    if (!show && photoFile) photoFile.value = \"\";\n  }\n\n  function setBaseRequirements(show) {\n    const baseFields = [firstName, lastName, emailField, phoneField, messageField];\n    baseFields.forEach((field) => { if (field) field.required = show; });\n  }\n\n  function setBranchVisibility(show) {\n    toggleSection(branchBlock, show);\n    if (!show) {\n      if (branchQuery) branchQuery.value = \"\";\n      if (branchResults) branchResults.innerHTML = \"\";\n    }\n    if (branchStatus) branchStatus.textContent = \"Enter a location and click Search.\";\n  }\n\n  function updateBranchStatus(text) {\n    if (branchStatus) branchStatus.textContent = text;\n  }\n\n  function renderBranchResults(items) {\n    if (!branchResults) return;\n    branchResults.innerHTML = \"\";\n    if (items.length) {\n      items.forEach((item, idx) => {\n        const label = document.createElement(\"label\");\n        label.className = \"jlc-radio\";\n\n        const input = document.createElement(\"input\");\n        input.type = \"radio\";\n        input.name = \"branchChoice\";\n        input.value = item.value || \"\";\n        input.dataset.label = item.label || \"\";\n        if (idx === 0) input.required = true;\n\n        const text = document.createTextNode(item.value || \"\");\n        label.appendChild(input);\n        label.appendChild(text);\n        branchResults.appendChild(label);\n      });\n    }\n  }\n\n  async function searchBranches() {\n    if (!branchQuery || !branchResults) return;\n    const query = branchQuery.value.trim();\n    if (!query) {\n      renderBranchResults([]);\n      updateBranchStatus(\"Enter a location before searching.\");\n      return;\n    }\n    if (!JLC_CONFIG.branchLookupUrl) {\n      updateBranchStatus(\"Search unavailable.\");\n      return;\n    }\n\n    if (branchSearchBtn) branchSearchBtn.disabled = true;\n    updateBranchStatus(\"Searching...\");\n    renderBranchResults([]);\n\n    try {\n      const url = JLC_CONFIG.branchLookupUrl + \"?regionTexte=\" + encodeURIComponent(query);\n      const res = await fetch(url, { method: \"GET\" });\n      if (!res.ok) throw new Error(\"HTTP \" + res.status);\n      const data = await res.json();\n      const items = Array.isArray(data && data.output) ? data.output : [];\n      renderBranchResults(items);\n      updateBranchStatus(items.length ? \"Choose the branch.\" : \"No restaurant found, please refine or broaden your search.\");\n    } catch(_) {\n      renderBranchResults([]);\n      updateBranchStatus(\"Search error. Try again.\");\n    } finally {\n      if (branchSearchBtn) branchSearchBtn.disabled = false;\n    }\n    updateProgress();\n    postHeight();\n  }\n\n  function updateMode() {\n    const mode = getTicketType();\n    const thirdParty = getThirdPartyOrder();\n    const allowFlow = mode === \"complaint\" && thirdParty === \"no\";\n    const hasMode = !!mode;\n\n    wrapper.classList.toggle(\"jlc-complaint-mode\", mode === \"complaint\");\n    if (typeToggle) typeToggle.classList.toggle(\"is-selected\", hasMode);\n    toggleSection(formFields, hasMode);\n    toggleSection(complaintSection, mode === \"complaint\");\n    toggleSection(formBody, mode === \"question\" || allowFlow);\n\n    if (complaintQuestions) complaintQuestions.style.display = allowFlow ? \"block\" : \"none\";\n    if (thirdPartyMessage) {\n      thirdPartyMessage.classList.toggle(\"jlc-hidden\", !(mode === \"complaint\" && thirdParty === \"yes\"));\n    }\n    thirdPartyRadios.forEach((radio, idx) => {\n      radio.required = mode === \"complaint\" && idx === 0;\n      if (mode !== \"complaint\") radio.checked = false;\n    });\n\n    setBaseRequirements(mode === \"question\" || allowFlow);\n    if (complaintType) complaintType.required = allowFlow;\n    if (!allowFlow) {\n      if (complaintType) complaintType.value = \"\";\n      if (serviceChannel) serviceChannel.value = \"\";\n      if (productChannel) productChannel.value = \"\";\n      if (orderProofFile) orderProofFile.value = \"\";\n      if (orderAmount) orderAmount.value = \"\";\n    }\n\n    updateComplaintSubsections();\n    setOrderProofVisibility(allowFlow);\n    onOrderProofChange();\n    setBranchVisibility(allowFlow);\n    setMomentVisibility(allowFlow);\n    setPhotoVisibility(mode === \"question\" || allowFlow);\n    setMascot(mode === \"complaint\" ? \"complaint\" : mode === \"question\" ? \"question\" : \"default\");\n    updateProgress();\n    postHeight();\n  }\n\n  function readFileAsBase64(file) {\n    return new Promise((resolve, reject) => {\n      const reader = new FileReader();\n      reader.onload = () => {\n        const result = String(reader.result || \"\");\n        const base64 = result.includes(\",\") ? result.split(\",\")[1] : result;\n        resolve(base64);\n      };\n      reader.onerror = reject;\n      reader.readAsDataURL(file);\n    });\n  }\n\n  function computeProgress() {\n    const mode = getTicketType();\n    const allowFlow = allowComplaintFlow();\n    if (!mode) return 0;\n    if (mode === \"complaint\" && !allowFlow) return 0;\n\n    const fields = [firstName, lastName, emailField, phoneField, messageField];\n\n    if (mode === \"complaint\") {\n      if (complaintType) fields.push(complaintType);\n      if (complaintType && complaintType.value === \"Service\" && serviceChannel) fields.push(serviceChannel);\n      if (complaintType && complaintType.value === \"Product\" && productChannel) fields.push(productChannel);\n      if (momentDateTime) fields.push(momentDateTime);\n\n      const branchChoice = form.querySelector('input[name=\"branchChoice\"]:checked');\n      fields.push({ value: branchChoice ? \"ok\" : \"\" });\n\n      if (complaintType && PROOF_TYPES.has(complaintType.value)) {\n        const hasProof = form.querySelector('input[name=\"hasOrderProof\"]:checked');\n        fields.push({ value: hasProof ? \"ok\" : \"\" });\n        const val = hasProof ? hasProof.value : \"\";\n        if (val === \"yes\" && orderProofFile) fields.push(orderProofFile);\n        if (val === \"no\" && orderAmount) fields.push(orderAmount);\n      }\n    }\n\n    let done = 0;\n    const total = fields.length;\n\n    for (const field of fields) {\n      const value = field && typeof field.value !== \"undefined\" ? String(field.value || \"\").trim() : \"\";\n      if (value) done += 1;\n    }\n\n    return total ? Math.round((done \/ total) * 100) : 0;\n  }\n\n  function updateProgress() {\n    if (!progressBar) return;\n    const pct = computeProgress();\n    progressBar.style.width = pct + \"%\";\n  }\n\n  function mapTicketType(mode) {\n    return mode === \"complaint\"\n      ? { subject: \"Plainte\", category: \"Plainte\" }\n      : { subject: \"Question \/ Commentaire\", category: \"Question\" };\n  }\n\n  function mapPriority(mode) {\n    return mode === \"complaint\" ? \"High\" : \"Low\";\n  }\n\n  async function buildPayload(recaptchaToken) {\n    const fd = new FormData(form);\n    const data = Object.fromEntries(fd.entries());\n\n    if ((data.company_hp || \"\").trim() !== \"\") return { blocked: true };\n\n    const mode = getTicketType();\n    const r = mapTicketType(mode);\n    const thirdPartyOrder = getThirdPartyOrder();\n\n    const branchChoice = form.querySelector('input[name=\"branchChoice\"]:checked');\n    const branchLabel = branchChoice && branchChoice.dataset ? (branchChoice.dataset.label || \"\") : \"\";\n    const branchValue = branchChoice ? (branchChoice.value || \"\") : \"\";\n\n    const hasOrderProof = (form.querySelector('input[name=\"hasOrderProof\"]:checked') || {}).value || \"\";\n    let orderProof = { hasOrderProof };\n    const proofFile = orderProofFile && orderProofFile.files && orderProofFile.files[0] ? orderProofFile.files[0] : null;\n    if (hasOrderProof === \"yes\" && proofFile) {\n      const base64 = await readFileAsBase64(proofFile);\n      orderProof = {\n        hasOrderProof: \"yes\",\n        orderProofFileName: proofFile.name,\n        orderProofFileMime: proofFile.type || \"application\/octet-stream\",\n        orderProofFileBase64: base64\n      };\n    }\n    if (hasOrderProof === \"no\") {\n      orderProof = {\n        hasOrderProof: \"no\",\n        orderAmount: (data.orderAmount || \"\").trim()\n      };\n    }\n\n    let photoJustificative = {};\n    const justFile = photoFile && photoFile.files && photoFile.files[0] ? photoFile.files[0] : null;\n    if (justFile) {\n      const base64 = await readFileAsBase64(justFile);\n      photoJustificative = {\n        photoFileName: justFile.name,\n        photoFileMime: justFile.type || \"application\/octet-stream\",\n        photoFileBase64: base64\n      };\n    }\n\n    const payload = {\n      recaptchaToken: recaptchaToken || \"\",\n      Email: data.email,\n      Subject: r.subject,\n      \"Cat\u00e9gorie de la plainte\": r.category || \"-None-\",\n      \"Provenance Plaintes\": JLC_CONFIG.defaultSource,\n      \"D\u00e9dommagement offert\": 0,\n      \"Valeur du d\u00e9dommagement\": null,\n      Classification: \"-None-\",\n      Priority: mapPriority(mode),\n      \"Banni\u00e8re Restaurant\": \"Jack Le Coq\",\n      Status: JLC_CONFIG.defaultStatus,\n      \"First Name\": data.firstName,\n      \"Last Name\": data.lastName,\n      Language: JLC_CONFIG.defaultLanguage,\n      existingTicketID: existingTicketID || null,\n      details: {\n        ticketType: mode,\n        thirdPartyOrder,\n        phone: data.phone || \"\",\n        message: data.message || \"\",\n        complaintType: data.complaintType || \"\",\n        serviceChannel: data.serviceChannel || \"\",\n        productChannel: data.productChannel || \"\",\n        momentDateTime: data.momentDateTime || \"\",\n        branchQuery: data.branchQuery || \"\",\n        branchLabel,\n        branchValue,\n        orderProof,\n        photoJustificative,\n        pageUrl: document.referrer || \"\",\n        submittedAt: new Date().toISOString(),\n        userAgent: navigator.userAgent\n      }\n    };\n\n    return { blocked: false, payload };\n  }\n\n  async function sendPayload(payload) {\n    try {\n      const res = await fetch(JLC_CONFIG.webhookUrl, {\n        method: \"POST\",\n        headers: { \"Content-Type\": \"application\/json\" },\n        body: JSON.stringify(payload),\n        mode: \"cors\"\n      });\n      if (!res.ok) throw new Error(\"HTTP \" + res.status);\n      return true;\n    } catch(e) {\n      try {\n        const blob = new Blob([JSON.stringify(payload)], { type: \"text\/plain;charset=UTF-8\" });\n        return navigator.sendBeacon(JLC_CONFIG.webhookUrl, blob);\n      } catch(_) {\n        return false;\n      }\n    }\n  }\n\n  form.addEventListener(\"submit\", async (e) => {\n    e.preventDefault();\n    if (successBox) successBox.style.display = \"none\";\n    if (errorBox) errorBox.style.display = \"none\";\n\n    \/\/ \u2705 Require reCAPTCHA token (final gate)\n    const recaptchaToken = getRecaptchaToken();\n    if (!recaptchaToken) {\n      showCaptchaIndicator();\n      return;\n    } else {\n      clearCaptchaIndicator();\n    }\n\n    if (submitBtn) {\n      submitBtn.disabled = true;\n      submitBtn.textContent = \"Sending...\";\n    }\n\n    try {\n      const { blocked, payload } = await buildPayload(recaptchaToken);\n      if (blocked) return;\n\n      const ok = await sendPayload(payload);\n\n      if (ok) {\n        if (successBox) successBox.style.display = \"block\";\n        form.reset();\n        if (existingTicketID) {\n          existingTicketIdInput.value = existingTicketID;\n          ticketIdSection.classList.remove('jlc-hidden');\n        }\n        window.jlcRecaptchaExpired();\n        updateMode();\n      } else {\n        if (errorBox) errorBox.style.display = \"block\";\n        window.jlcRecaptchaExpired();\n      }\n    } catch(_) {\n      if (errorBox) errorBox.style.display = \"block\";\n      window.jlcRecaptchaExpired();\n    } finally {\n      if (submitBtn) {\n        submitBtn.disabled = false;\n        submitBtn.textContent = \"Send\";\n      }\n      updateProgress();\n      postHeight();\n    }\n  });\n\n  function postHeight() {\n    const h = wrapper.scrollHeight;\n    window.parent && window.parent.postMessage({ type: \"JLC_FORM_HEIGHT\", height: h }, \"*\");\n  }\n\n  if (window.ResizeObserver) {\n    new ResizeObserver(postHeight).observe(wrapper);\n  }\n\n  \/\/ Initialize\n  updateMode();\n\n  if (momentPicker && momentDateTime) {\n    momentPicker.addEventListener(\"click\", () => {\n      momentDateTime.focus();\n      if (typeof momentDateTime.showPicker === \"function\") momentDateTime.showPicker();\n    });\n  }\n\n  if (branchSearchBtn) branchSearchBtn.addEventListener(\"click\", searchBranches);\n\n  if (branchQuery) {\n    branchQuery.addEventListener(\"input\", () => {\n      renderBranchResults([]);\n      updateBranchStatus(\"Enter a location and click Search.\");\n      updateProgress();\n    });\n  }\n\n  typeRadios.forEach((radio) => radio.addEventListener(\"change\", updateMode));\n  thirdPartyRadios.forEach((radio) => radio.addEventListener(\"change\", updateMode));\n\n  if (complaintType) {\n    complaintType.addEventListener(\"change\", () => {\n      updateComplaintSubsections();\n      setOrderProofVisibility(allowComplaintFlow());\n      onOrderProofChange();\n      updateProgress();\n      postHeight();\n    });\n  }\n\n  form.addEventListener(\"input\", updateProgress);\n  form.addEventListener(\"change\", (e) => {\n    if (e.target && e.target.name === \"hasOrderProof\") onOrderProofChange();\n    updateProgress();\n  });\n\n  resetBtn.addEventListener(\"click\", () => {\n    form.reset();\n    if (existingTicketID) {\n      existingTicketIdInput.value = existingTicketID;\n      ticketIdSection.classList.remove('jlc-hidden');\n    }\n    window.jlcRecaptchaExpired();\n    updateMode();\n    if (successBox) successBox.style.display = \"none\";\n    if (errorBox) errorBox.style.display = \"none\";\n    updateProgress();\n  });\n\n})();\n<\/script><\/div><style type=\"text\/css\">.fusion-body .fusion-builder-column-1{width:100% !important;margin-top : 0px;margin-bottom : 20px;}.fusion-builder-column-1 > .fusion-column-wrapper {padding-top : 50px !important;padding-right : 50px !important;margin-right : 1.92%;padding-bottom : 50px !important;padding-left : 50px !important;margin-left : 1.92%;}@media only screen and (max-width:1024px) {.fusion-body .fusion-builder-column-1{width:100% !important;order : 0;}.fusion-builder-column-1 > .fusion-column-wrapper {margin-right : 1.92%;margin-left : 1.92%;}}@media only screen and (max-width:640px) {.fusion-body .fusion-builder-column-1{width:100% !important;order : 2;}.fusion-builder-column-1 > .fusion-column-wrapper {padding-right : 4% !important;margin-right : 1.92%;padding-left : 4% !important;margin-left : 1.92%;}}<\/style><\/div><\/div><style type=\"text\/css\">.fusion-fullwidth.fusion-builder-row-2 a:not(.awb-custom-text-color):not(.fusion-button):not(.fusion-builder-module-control):not(.fusion-social-network-icon):not(.fb-icon-element):not(.fusion-countdown-link):not(.fusion-rollover-link):not(.fusion-rollover-gallery):not(.fusion-button-bar):not(.add_to_cart_button):not(.show_details_button):not(.product_type_external):not(.fusion-view-cart):not(.fusion-quick-view):not(.fusion-rollover-title-link):not(.fusion-breadcrumb-link) , .fusion-fullwidth.fusion-builder-row-2 a:not(.awb-custom-text-color):not(.fusion-button):not(.fusion-builder-module-control):not(.fusion-social-network-icon):not(.fb-icon-element):not(.fusion-countdown-link):not(.fusion-rollover-link):not(.fusion-rollover-gallery):not(.fusion-button-bar):not(.add_to_cart_button):not(.show_details_button):not(.product_type_external):not(.fusion-view-cart):not(.fusion-quick-view):not(.fusion-rollover-title-link):not(.fusion-breadcrumb-link):before, .fusion-fullwidth.fusion-builder-row-2 a:not(.awb-custom-text-color):not(.fusion-button):not(.fusion-builder-module-control):not(.fusion-social-network-icon):not(.fb-icon-element):not(.fusion-countdown-link):not(.fusion-rollover-link):not(.fusion-rollover-gallery):not(.fusion-button-bar):not(.add_to_cart_button):not(.show_details_button):not(.product_type_external):not(.fusion-view-cart):not(.fusion-quick-view):not(.fusion-rollover-title-link):not(.fusion-breadcrumb-link):after {color: #e73440;}.fusion-fullwidth.fusion-builder-row-2 a:not(.awb-custom-text-hover-color):not(.fusion-button):not(.fusion-builder-module-control):not(.fusion-social-network-icon):not(.fb-icon-element):not(.fusion-countdown-link):not(.fusion-rollover-link):not(.fusion-rollover-gallery):not(.fusion-button-bar):not(.add_to_cart_button):not(.show_details_button):not(.product_type_external):not(.fusion-view-cart):not(.fusion-quick-view):not(.fusion-rollover-title-link):not(.fusion-breadcrumb-link):hover, .fusion-fullwidth.fusion-builder-row-2 a:not(.awb-custom-text-hover-color):not(.fusion-button):not(.fusion-builder-module-control):not(.fusion-social-network-icon):not(.fb-icon-element):not(.fusion-countdown-link):not(.fusion-rollover-link):not(.fusion-rollover-gallery):not(.fusion-button-bar):not(.add_to_cart_button):not(.show_details_button):not(.product_type_external):not(.fusion-view-cart):not(.fusion-quick-view):not(.fusion-rollover-title-link):not(.fusion-breadcrumb-link):hover:before, .fusion-fullwidth.fusion-builder-row-2 a:not(.awb-custom-text-hover-color):not(.fusion-button):not(.fusion-builder-module-control):not(.fusion-social-network-icon):not(.fb-icon-element):not(.fusion-countdown-link):not(.fusion-rollover-link):not(.fusion-rollover-gallery):not(.fusion-button-bar):not(.add_to_cart_button):not(.show_details_button):not(.product_type_external):not(.fusion-view-cart):not(.fusion-quick-view):not(.fusion-rollover-title-link):not(.fusion-breadcrumb-link):hover:after {color: #ffffff;}.fusion-fullwidth.fusion-builder-row-2 .pagination a.inactive:hover, .fusion-fullwidth.fusion-builder-row-2 .fusion-filters .fusion-filter.fusion-active a {border-color: #ffffff;}.fusion-fullwidth.fusion-builder-row-2 .pagination .current {border-color: #ffffff; background-color: #ffffff;}.fusion-fullwidth.fusion-builder-row-2 .fusion-filters .fusion-filter.fusion-active a, .fusion-fullwidth.fusion-builder-row-2 .fusion-date-and-formats .fusion-format-box, .fusion-fullwidth.fusion-builder-row-2 .fusion-popover, .fusion-fullwidth.fusion-builder-row-2 .tooltip-shortcode {color: #ffffff;}#wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .fusion-vertical-menu-widget .menu li.current_page_ancestor > a, #wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .fusion-vertical-menu-widget .menu li.current_page_ancestor > a:before, #wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .fusion-vertical-menu-widget .current-menu-item > a, #wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .fusion-vertical-menu-widget .current-menu-item > a:before, #wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .fusion-vertical-menu-widget .current_page_item > a, #wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .fusion-vertical-menu-widget .current_page_item > a:before {color: #ffffff;}#wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .widget_nav_menu .menu li.current_page_ancestor > a, #wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .widget_nav_menu .menu li.current_page_ancestor > a:before, #wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .widget_nav_menu .current-menu-item > a, #wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .widget_nav_menu .current-menu-item > a:before, #wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .widget_nav_menu .current_page_item > a, #wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .widget_nav_menu .current_page_item > a:before {color: #ffffff;}#wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-vertical-menu-widget .menu li.current_page_item > a { border-right-color:#ffffff;border-left-color:#ffffff;}#wrapper .fusion-fullwidth.fusion-builder-row-2 .fusion-widget-area .tagcloud a:hover { color: #fff; background-color: #ffffff;border-color: #ffffff;}#main .fusion-fullwidth.fusion-builder-row-2 .post .blog-shortcode-post-title a:hover {color: #ffffff;}.fusion-body .fusion-flex-container.fusion-builder-row-2{ padding-top : 100px;margin-top : 0;padding-right : 0px;padding-bottom : 100px;margin-bottom : 0;padding-left : 0px;}@media only screen and (max-width:1024px) {.fusion-body .fusion-flex-container.fusion-builder-row-2{ padding-right : 30px;padding-left : 30px;}}@media only screen and (max-width:640px) {.fusion-body .fusion-flex-container.fusion-builder-row-2{ padding-top : 50px;padding-right : 15px;padding-bottom : 50px;padding-left : 15px;}}<\/style><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container fusion-parallax-none gradient-container-3 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"background-color: #9dd6c7;background-image: url(&quot;https:\/\/jacklecoq.com\/wp-content\/uploads\/2022\/10\/JLC-Footer-motif.png&quot;);background-position: center top;background-repeat: no-repeat;border-width: 0px 0px 0px 0px;border-color:var(--awb-color3);border-style:solid;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center\" style=\"max-width:1352px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_3 1_3 fusion-flex-column\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\" style=\"background-position:left top;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;padding: 0px 0px 0px 0px;\"><div ><span class=\" fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"797\" height=\"993\" alt=\"Cow making a graffiti with a milk bag, sunglasses and a ball\" title=\"Vache qui fait un graffiti avec un sac de lait, des lunettes de soleil et un boulet\" src=\"https:\/\/jacklecoq.com\/wp-content\/uploads\/2022\/07\/vache.png\" class=\"img-responsive wp-image-4795\" srcset=\"https:\/\/jacklecoq.com\/wp-content\/uploads\/2022\/07\/vache-200x249.png 200w, https:\/\/jacklecoq.com\/wp-content\/uploads\/2022\/07\/vache-400x498.png 400w, https:\/\/jacklecoq.com\/wp-content\/uploads\/2022\/07\/vache-600x748.png 600w, https:\/\/jacklecoq.com\/wp-content\/uploads\/2022\/07\/vache.png 797w\" sizes=\"(max-width: 640px) 100vw, 400px\" \/><\/span><\/div><\/div><style type=\"text\/css\">.fusion-body .fusion-builder-column-2{width:33.333333333333% !important;margin-top : 0px;margin-bottom : 20px;}.fusion-builder-column-2 > .fusion-column-wrapper {padding-top : 0px !important;padding-right : 0px !important;margin-right : 5.76%;padding-bottom : 0px !important;padding-left : 0px !important;margin-left : 5.76%;}@media only screen and (max-width:1024px) {.fusion-body .fusion-builder-column-2{width:33.333333333333% !important;order : 0;}.fusion-builder-column-2 > .fusion-column-wrapper {margin-right : 5.76%;margin-left : 5.76%;}}@media only screen and (max-width:640px) {.fusion-body .fusion-builder-column-2{width:75% !important;order : 1;}.fusion-builder-column-2 > .fusion-column-wrapper {margin-right : 2.56%;margin-left : 2.56%;}}<\/style><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_2_3 2_3 fusion-flex-column\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\" style=\"background-position:left top;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;padding: 0px 0px 0px 0px;\"><style type=\"text\/css\">@media only screen and (max-width:1024px) {.fusion-title.fusion-title-3{margin-top:0px!important; margin-right:0px!important;margin-bottom:0px!important;margin-left:0px!important;}}@media only screen and (max-width:640px) {.fusion-title.fusion-title-3{margin-top:10px!important; margin-right:0px!important;margin-bottom:10px!important; margin-left:0px!important;}}<\/style><div class=\"fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;\"><h2 class=\"title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;Corben&quot;;font-weight:700;margin:0;color:#17738a;--fontSize:48;line-height:var(--awb-typography1-line-height);\"><span style=\"color: #000000;\">Are you ready<\/span><\/h2><\/div><style type=\"text\/css\">@media only screen and (max-width:1024px) {.fusion-title.fusion-title-4{margin-top:0px!important; margin-right:0px!important;margin-bottom:0px!important;margin-left:0px!important;}}@media only screen and (max-width:640px) {.fusion-title.fusion-title-4{margin-top:10px!important; margin-right:0px!important;margin-bottom:10px!important; margin-left:0px!important;}}<\/style><div class=\"fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;\"><h2 class=\"title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;Corben&quot;;font-weight:700;margin:0;color:#ffffff;--fontSize:48;line-height:var(--awb-typography1-line-height);\"><p>for Jack?<span style=\"color: #000000;\"><br \/>\n<\/span><\/p><\/h2><\/div><div ><style>.fusion-button.button-1 .fusion-button-text,.fusion-button.button-1 i{color:var(--awb-color1);}.fusion-button.button-1{border-color:var(--awb-color1);border-radius:30px 30px 30px 30px;background:#000000;}.fusion-button.button-1:hover .fusion-button-text,.fusion-button.button-1:hover i,.fusion-button.button-1:focus .fusion-button-text,.fusion-button.button-1:focus i,.fusion-button.button-1:active .fusion-button-text,.fusion-button.button-1:active i{color:#000000;}.fusion-button.button-1:hover,.fusion-button.button-1:active,.fusion-button.button-1:focus{border-color:#000000;background:#ffffff;}<\/style><a class=\"fusion-button button-flat button-xlarge button-custom button-1 fusion-button-default-span fusion-button-default-type\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/ordering.jacklecoq.com\/fr\/#\/JackLeCoq\/online\/restaurant-selection\" style=\"margin-top:30px;\"><span class=\"fusion-button-text\">order now<\/span><\/a><\/div><\/div><style type=\"text\/css\">.fusion-body .fusion-builder-column-3{width:66.666666666667% !important;margin-top : 27px;margin-bottom : 20px;}.fusion-builder-column-3 > .fusion-column-wrapper {padding-top : 0px !important;padding-right : 0px !important;margin-right : 2.88%;padding-bottom : 0px !important;padding-left : 0px !important;margin-left : 2.88%;}@media only screen and (max-width:1024px) {.fusion-body .fusion-builder-column-3{width:66.666666666667% !important;order : 0;}.fusion-builder-column-3 > .fusion-column-wrapper {margin-right : 2.88%;margin-left : 2.88%;}}@media only screen and (max-width:640px) {.fusion-body .fusion-builder-column-3{width:100% !important;order : 0;margin-bottom : 55px;}.fusion-builder-column-3 > .fusion-column-wrapper {margin-right : 1.92%;margin-left : 1.92%;}}<\/style><\/div><\/div><style type=\"text\/css\">.fusion-body .fusion-flex-container.fusion-builder-row-3{ padding-top : 30px;margin-top : 0px;padding-right : 0px;padding-bottom : 0px;margin-bottom : 0px;padding-left : 0px;}<\/style><\/div>\n<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":67,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-5012","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Contact our restaurants - Jack Le Coq<\/title>\n<meta name=\"description\" content=\"For questions or comments, contact Jack le Coq fried chicken restaurants. We&#039;re in Montreal, Laval and on the South Shore.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jacklecoq.com\/en\/contact-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Contact our restaurants - Jack Le Coq\" \/>\n<meta property=\"og:description\" content=\"For questions or comments, contact Jack le Coq fried chicken restaurants. We&#039;re in Montreal, Laval and on the South Shore.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jacklecoq.com\/en\/contact-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Jack Le Coq\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RestoJackLeCoq\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-20T17:33:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jacklecoq.com\/wp-content\/uploads\/2023\/05\/socialmedia-jlc2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1134\" \/>\n\t<meta property=\"og:image:height\" content=\"880\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jacklecoq.com\/en\/contact-2\/\",\"url\":\"https:\/\/jacklecoq.com\/en\/contact-2\/\",\"name\":\"Contact our restaurants - Jack Le Coq\",\"isPartOf\":{\"@id\":\"https:\/\/jacklecoq.com\/en\/#website\"},\"datePublished\":\"2022-10-27T01:06:33+00:00\",\"dateModified\":\"2026-02-20T17:33:44+00:00\",\"description\":\"For questions or comments, contact Jack le Coq fried chicken restaurants. We're in Montreal, Laval and on the South Shore.\",\"breadcrumb\":{\"@id\":\"https:\/\/jacklecoq.com\/en\/contact-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jacklecoq.com\/en\/contact-2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jacklecoq.com\/en\/contact-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jacklecoq.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Contact our restaurants\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jacklecoq.com\/en\/#website\",\"url\":\"https:\/\/jacklecoq.com\/en\/\",\"name\":\"Jack Le Coq\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/jacklecoq.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jacklecoq.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jacklecoq.com\/en\/#organization\",\"name\":\"Jack le Coq\",\"url\":\"https:\/\/jacklecoq.com\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jacklecoq.com\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jacklecoq.com\/wp-content\/uploads\/2023\/05\/socialmedia-jlc2.png\",\"contentUrl\":\"https:\/\/jacklecoq.com\/wp-content\/uploads\/2023\/05\/socialmedia-jlc2.png\",\"width\":1134,\"height\":880,\"caption\":\"Jack le Coq\"},\"image\":{\"@id\":\"https:\/\/jacklecoq.com\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RestoJackLeCoq\/\",\"https:\/\/www.instagram.com\/restojacklecoq\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Contact our restaurants - Jack Le Coq","description":"For questions or comments, contact Jack le Coq fried chicken restaurants. We're in Montreal, Laval and on the South Shore.","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:\/\/jacklecoq.com\/en\/contact-2\/","og_locale":"en_US","og_type":"article","og_title":"Contact our restaurants - Jack Le Coq","og_description":"For questions or comments, contact Jack le Coq fried chicken restaurants. We're in Montreal, Laval and on the South Shore.","og_url":"https:\/\/jacklecoq.com\/en\/contact-2\/","og_site_name":"Jack Le Coq","article_publisher":"https:\/\/www.facebook.com\/RestoJackLeCoq\/","article_modified_time":"2026-02-20T17:33:44+00:00","og_image":[{"width":1134,"height":880,"url":"https:\/\/jacklecoq.com\/wp-content\/uploads\/2023\/05\/socialmedia-jlc2.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/jacklecoq.com\/en\/contact-2\/","url":"https:\/\/jacklecoq.com\/en\/contact-2\/","name":"Contact our restaurants - Jack Le Coq","isPartOf":{"@id":"https:\/\/jacklecoq.com\/en\/#website"},"datePublished":"2022-10-27T01:06:33+00:00","dateModified":"2026-02-20T17:33:44+00:00","description":"For questions or comments, contact Jack le Coq fried chicken restaurants. We're in Montreal, Laval and on the South Shore.","breadcrumb":{"@id":"https:\/\/jacklecoq.com\/en\/contact-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jacklecoq.com\/en\/contact-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jacklecoq.com\/en\/contact-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jacklecoq.com\/en\/"},{"@type":"ListItem","position":2,"name":"Contact our restaurants"}]},{"@type":"WebSite","@id":"https:\/\/jacklecoq.com\/en\/#website","url":"https:\/\/jacklecoq.com\/en\/","name":"Jack Le Coq","description":"","publisher":{"@id":"https:\/\/jacklecoq.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jacklecoq.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jacklecoq.com\/en\/#organization","name":"Jack le Coq","url":"https:\/\/jacklecoq.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jacklecoq.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/jacklecoq.com\/wp-content\/uploads\/2023\/05\/socialmedia-jlc2.png","contentUrl":"https:\/\/jacklecoq.com\/wp-content\/uploads\/2023\/05\/socialmedia-jlc2.png","width":1134,"height":880,"caption":"Jack le Coq"},"image":{"@id":"https:\/\/jacklecoq.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RestoJackLeCoq\/","https:\/\/www.instagram.com\/restojacklecoq\/"]}]}},"_links":{"self":[{"href":"https:\/\/jacklecoq.com\/en\/wp-json\/wp\/v2\/pages\/5012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jacklecoq.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jacklecoq.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jacklecoq.com\/en\/wp-json\/wp\/v2\/users\/67"}],"replies":[{"embeddable":true,"href":"https:\/\/jacklecoq.com\/en\/wp-json\/wp\/v2\/comments?post=5012"}],"version-history":[{"count":31,"href":"https:\/\/jacklecoq.com\/en\/wp-json\/wp\/v2\/pages\/5012\/revisions"}],"predecessor-version":[{"id":6657,"href":"https:\/\/jacklecoq.com\/en\/wp-json\/wp\/v2\/pages\/5012\/revisions\/6657"}],"wp:attachment":[{"href":"https:\/\/jacklecoq.com\/en\/wp-json\/wp\/v2\/media?parent=5012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}