{"id":13439,"date":"2026-10-21T20:01:20","date_gmt":"2026-10-21T20:01:20","guid":{"rendered":"https:\/\/cofdar.com\/?page_id=13439"},"modified":"2026-10-21T20:01:36","modified_gmt":"2026-10-21T20:01:36","slug":"request-a-quote","status":"publish","type":"page","link":"https:\/\/cofdar.com\/en\/request-a-quote\/","title":{"rendered":"Request a Quote"},"content":{"rendered":"\n<div id=\"cofdar-direct-rfq\" dir=\"ltr\" lang=\"en\">\n  <section class=\"cdr-login\" aria-labelledby=\"cdr-login-title\">\n    <div class=\"cdr-login-symbol\">\u2713<\/div>\n    <div class=\"cdr-eyebrow\">COFDAR DIRECT \u00b7 BUSINESS SOURCING<\/div>\n    <h2 id=\"cdr-login-title\">Request a quotation for green coffee<\/h2>\n    <p>This service is for businesses registered with Cofdar. Sign in to prepare a quotation request for one or more coffee items.<\/p>\n    <a class=\"cdr-login-button\" href=\"https:\/\/cofdar.com\/en\/my-account-2\/?redirect_to=https%3A%2F%2Fcofdar.com%2Fen%2Frequest-a-quote%2F\">Sign in or create an account<\/a>\n    <a class=\"cdr-return\" href=\"https:\/\/cofdar.com\/en\/cofdar-direct\/\">Back to Cofdar Direct<\/a>\n  <\/section>\n\n  <main class=\"cdr-member\">\n    <header class=\"cdr-hero\">\n      <div class=\"cdr-hero-content\">\n        <div class=\"cdr-eyebrow\">COFDAR DIRECT \/ REQUEST FOR QUOTATION<\/div>\n        <h1>Request a quotation <span>for green coffee<\/span><\/h1>\n        <p>Select the coffees you would like quotations for, then complete your company details and sourcing requirements. Cofdar will review your request and coordinate the available offers.<\/p>\n        <div class=\"cdr-hero-tags\">\n          <span>Multiple coffees<\/span>\n          <span>Commercial sourcing<\/span>\n          <span>Non-binding request<\/span>\n        <\/div>\n      <\/div>\n      <aside class=\"cdr-hero-steps\">\n        <div class=\"cdr-eyebrow\">HOW IT WORKS<\/div>\n        <div><b>01<\/b><span>Choose your coffees<\/span><\/div>\n        <div><b>02<\/b><span>Complete company details<\/span><\/div>\n        <div><b>03<\/b><span>Send your request to Cofdar<\/span><\/div>\n        <p>The quotation specifies available quantities, prices and supplier terms.<\/p>\n      <\/aside>\n    <\/header>\n\n    <form id=\"cdr-rfq-form\" novalidate>\n      <section class=\"cdr-section\">\n        <div class=\"cdr-section-heading\">\n          <span class=\"cdr-step\">01<\/span>\n          <div>\n            <h2>Company details<\/h2>\n            <p>Details of the company and the person responsible for this request.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"cdr-grid\">\n          <label class=\"cdr-field cdr-full\">\n            <span>Registered company name <b>*<\/b><\/span>\n            <input name=\"company\" required maxlength=\"120\" autocomplete=\"organization\" placeholder=\"Company name as officially registered\">\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Country of business registration <b>*<\/b><\/span>\n            <input name=\"registration_country\" required maxlength=\"80\" placeholder=\"Country where the business is registered\">\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Commercial \/ official business registration number <b>*<\/b><\/span>\n            <input name=\"registration\" required maxlength=\"50\" placeholder=\"The official registration number in your country\">\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Tax \/ VAT number<\/span>\n            <input name=\"vat\" maxlength=\"50\" placeholder=\"Optional\">\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Business type <b>*<\/b><\/span>\n            <select name=\"business_type\" required>\n              <option value=\"\">Select business type<\/option>\n              <option>Coffee roaster<\/option>\n              <option>Coffee importer<\/option>\n              <option>Trader or distributor<\/option>\n              <option>Cafe chain<\/option>\n              <option>Food or beverage manufacturer<\/option>\n              <option>Hospitality<\/option>\n              <option>Government or institutional organisation<\/option>\n              <option>Other<\/option>\n            <\/select>\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Contact person <b>*<\/b><\/span>\n            <input name=\"contact\" required maxlength=\"80\" autocomplete=\"name\" placeholder=\"Full name\">\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Job title<\/span>\n            <input name=\"position\" maxlength=\"80\" autocomplete=\"organization-title\" placeholder=\"e.g. Purchasing Manager\">\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Business email <b>*<\/b><\/span>\n            <input name=\"email\" type=\"email\" required maxlength=\"120\" autocomplete=\"email\" dir=\"ltr\" placeholder=\"name@company.com\">\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Phone number with country code <b>*<\/b><\/span>\n            <input name=\"phone\" type=\"tel\" required maxlength=\"25\" autocomplete=\"tel\" dir=\"ltr\" placeholder=\"+966...\">\n          <\/label>\n\n          <label class=\"cdr-field cdr-full\">\n            <span>Company address <b>*<\/b><\/span>\n            <input name=\"address\" required maxlength=\"180\" autocomplete=\"street-address\" placeholder=\"Country, city and address\">\n          <\/label>\n        <\/div>\n      <\/section>\n\n      <section class=\"cdr-section\">\n        <div class=\"cdr-section-heading\">\n          <span class=\"cdr-step\">02<\/span>\n          <div>\n            <h2>Requested coffee items<\/h2>\n            <p>Choose one coffee or add several items to the same request.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"cdr-quantity-policy\">\n          <div class=\"cdr-policy-icon\">i<\/div>\n          <div>\n            <strong>Quantity and supply basis<\/strong>\n            <p>Supply is primarily based on a full container of a single coffee item. Smaller quantities or flexible supply options may be available for selected items, subject to availability and supplier terms. Quantities, prices and minimum order requirements are specified in the quotation.<\/p>\n          <\/div>\n        <\/div>\n\n        <div id=\"cdr-coffee-items\" class=\"cdr-coffee-items\"><\/div>\n\n        <button type=\"button\" id=\"cdr-add-item\" class=\"cdr-add-item\">\n          <span>+<\/span> Add another coffee\n        <\/button>\n\n        <p class=\"cdr-section-note\">Selecting multiple coffees does not necessarily mean they can be shipped in a mixed container. Shipping arrangements are subject to supplier terms.<\/p>\n      <\/section>\n\n      <section class=\"cdr-section\">\n        <div class=\"cdr-section-heading\">\n          <span class=\"cdr-step\">03<\/span>\n          <div>\n            <h2>Supply requirements and market information<\/h2>\n            <p>Initial information to help review your request and identify sourcing options.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"cdr-grid\">\n          <label class=\"cdr-field\">\n            <span>Destination country <b>*<\/b><\/span>\n            <input name=\"destination_country\" required maxlength=\"80\" placeholder=\"Import or delivery country\">\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Destination port or delivery city <b>*<\/b><\/span>\n            <input name=\"destination\" required maxlength=\"120\" placeholder=\"e.g. Port of Jeddah\">\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Purchasing purpose <b>*<\/b><\/span>\n            <select name=\"purchase_purpose\" required>\n              <option value=\"\">Select purchasing purpose<\/option>\n              <option>Roasting<\/option>\n              <option>Import and resale<\/option>\n              <option>Commercial distribution<\/option>\n              <option>Manufacturing<\/option>\n              <option>Institutional use<\/option>\n              <option>Other<\/option>\n            <\/select>\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Expected purchasing frequency<\/span>\n            <select name=\"purchase_frequency\">\n              <option>Not yet determined<\/option>\n              <option>One-off purchase<\/option>\n              <option>Monthly<\/option>\n              <option>Every three months<\/option>\n              <option>As needed<\/option>\n            <\/select>\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Expected supply timing <b>*<\/b><\/span>\n            <select name=\"timeline\" required>\n              <option value=\"\">Select expected timing<\/option>\n              <option>As soon as possible<\/option>\n              <option>Within one month<\/option>\n              <option>Within two to three months<\/option>\n              <option>Within three to six months<\/option>\n              <option>Flexible timing<\/option>\n            <\/select>\n          <\/label>\n\n          <label class=\"cdr-field\">\n            <span>Accepting alternative coffees<\/span>\n            <select name=\"alternatives\">\n              <option>No, selected coffees only<\/option>\n              <option>Yes, alternatives with similar specifications<\/option>\n              <option>Yes, suggest suitable alternatives<\/option>\n            <\/select>\n          <\/label>\n\n          <label class=\"cdr-field cdr-full\">\n            <span>Additional notes or requirements<\/span>\n            <textarea name=\"notes\" maxlength=\"700\" rows=\"4\" placeholder=\"Preferred processing, packaging specifications, shipping terms or other information needed to prepare the offer\"><\/textarea>\n          <\/label>\n        <\/div>\n\n        <label class=\"cdr-managed\">\n          <input type=\"checkbox\" name=\"managed_supply\" value=\"Interested\">\n          <span>\n            <strong>I would like to explore having Cofdar manage the sourcing process<\/strong>\n            <small>This is a non-binding option. Services, responsibilities and fees are defined in a separate agreement and are not included in the initial coffee quotation.<\/small>\n          <\/span>\n        <\/label>\n      <\/section>\n\n      <section class=\"cdr-section cdr-final\">\n        <div class=\"cdr-section-heading\">\n          <span class=\"cdr-step\">04<\/span>\n          <div>\n            <h2>Review and submit your request<\/h2>\n            <p>Check your company details and selected coffees before continuing.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"cdr-summary\">\n          <div>\n            <small>Selected coffees<\/small>\n            <strong id=\"cdr-items-count\">One coffee item<\/strong>\n          <\/div>\n          <div>\n            <small>Quantities<\/small>\n            <strong>Specified in the quotation<\/strong>\n          <\/div>\n          <div>\n            <small>Send via<\/small>\n            <strong>Cofdar WhatsApp<\/strong>\n          <\/div>\n        <\/div>\n\n        <label class=\"cdr-consent\">\n          <input name=\"consent\" type=\"checkbox\" required>\n          <span>I confirm that the information provided is accurate and that I am authorised to communicate on behalf of the business. I understand that this is a preliminary, non-binding request and that prices, available quantities and supply terms require supplier confirmation. I consent to Cofdar using these details to process and discuss the request, and sharing them with relevant suppliers as necessary.<\/span>\n        <\/label>\n\n        <div id=\"cdr-form-error\" class=\"cdr-error\" role=\"alert\" hidden><\/div>\n\n        <button type=\"submit\" class=\"cdr-submit\">\n          <span>Prepare quotation request via WhatsApp<\/span>\n          <span aria-hidden=\"true\">\u2197<\/span>\n        <\/button>\n\n        <p class=\"cdr-disclaimer\">WhatsApp will open with a prepared message. Review it, then press Send inside WhatsApp to submit your request to Cofdar.<\/p>\n      <\/section>\n    <\/form>\n  <\/main>\n<\/div>\n\n<style>\nbody:has(#cofdar-direct-rfq) .theme-banner{display:none!important}\n\n#cofdar-direct-rfq{\n  --navy:#2B406F;\n  --deep:#192D52;\n  --copper:#B27244;\n  --olive:#6F7752;\n  --ink:#273142;\n  --muted:#606B7B;\n  --line:#DCE3EC;\n  --paper:#F5F7FA;\n  max-width:1100px;\n  margin:auto;\n  padding:24px 18px 65px;\n  font-family:Arial,Helvetica,sans-serif;\n  color:var(--ink);\n  text-align:left;\n  box-sizing:border-box;\n}\n#cofdar-direct-rfq *{box-sizing:border-box}\n#cofdar-direct-rfq [hidden]{display:none!important}\n#cofdar-direct-rfq .cdr-member{display:none}\nbody.logged-in #cofdar-direct-rfq .cdr-member{display:block}\nbody.logged-in #cofdar-direct-rfq .cdr-login{display:none}\n\n#cofdar-direct-rfq .cdr-login{\n  max-width:700px;\n  margin:45px auto;\n  padding:45px 35px;\n  border:1px solid var(--line);\n  border-top:4px solid var(--copper);\n  background:#fff;\n  text-align:center;\n  box-shadow:0 16px 45px rgba(25,45,82,.07);\n}\n#cofdar-direct-rfq .cdr-login-symbol{\n  display:grid;\n  place-items:center;\n  width:52px;height:52px;\n  margin:0 auto 20px;\n  border-radius:50%;\n  background:#EAF0F8;\n  color:var(--navy);\n  font-size:25px;font-weight:700;\n}\n#cofdar-direct-rfq .cdr-eyebrow{\n  color:var(--copper);\n  font:700 11px \"IBM Plex Mono\",monospace;\n  letter-spacing:.06em;\n}\n#cofdar-direct-rfq .cdr-login h2{\n  color:var(--deep);\n  font-size:29px;\n  line-height:1.5;\n  margin:14px 0;\n}\n#cofdar-direct-rfq .cdr-login p{\n  max-width:540px;\n  margin:0 auto 25px;\n  color:var(--muted);\n  font-size:14px;\n  line-height:2;\n}\n#cofdar-direct-rfq .cdr-login-button{\n  display:inline-flex;\n  min-height:50px;\n  padding:12px 24px;\n  justify-content:center;\n  align-items:center;\n  background:var(--navy);\n  color:#fff!important;\n  text-decoration:none!important;\n  font-size:14px;\n  font-weight:700;\n}\n#cofdar-direct-rfq .cdr-return{\n  display:block;\n  width:max-content;\n  margin:18px auto 0;\n  color:var(--muted)!important;\n  font-size:13px;\n  text-decoration:underline!important;\n}\n\n#cofdar-direct-rfq .cdr-hero{\n  display:grid;\n  grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);\n  background:var(--deep);\n  color:#fff;\n  margin-bottom:20px;\n}\n#cofdar-direct-rfq .cdr-hero-content{\n  padding:40px;\n}\n#cofdar-direct-rfq .cdr-hero h1{\n  color:#fff!important;\n  font-family:Arial,Helvetica,sans-serif;\n  font-size:clamp(27px,3.5vw,40px);\n  line-height:1.5;\n  margin:12px 0;\n}\n#cofdar-direct-rfq .cdr-hero h1 span{\n  color:#E2AD80;\n}\n#cofdar-direct-rfq .cdr-hero-content>p{\n  max-width:590px;\n  color:#E2E9F4;\n  font-size:14px;\n  line-height:2;\n  margin:0;\n}\n#cofdar-direct-rfq .cdr-hero-tags{\n  display:flex;\n  flex-wrap:wrap;\n  gap:8px;\n  margin-top:22px;\n}\n#cofdar-direct-rfq .cdr-hero-tags span{\n  padding:7px 11px;\n  border:1px solid rgba(255,255,255,.25);\n  color:#fff;\n  font-size:12px;\n}\n#cofdar-direct-rfq .cdr-hero-steps{\n  padding:35px 27px;\n  background:#263D65;\n  border-left:1px solid rgba(255,255,255,.12);\n}\n#cofdar-direct-rfq .cdr-hero-steps>div:not(.cdr-eyebrow){\n  display:flex;\n  align-items:center;\n  gap:14px;\n  padding:13px 0;\n  border-bottom:1px solid rgba(255,255,255,.12);\n  font-size:13px;\n  color:#fff;\n}\n#cofdar-direct-rfq .cdr-hero-steps b{\n  color:#E2AD80;\n  font:700 12px \"IBM Plex Mono\",monospace;\n}\n#cofdar-direct-rfq .cdr-hero-steps p{\n  margin:19px 0 0;\n  color:#D3DEED;\n  font-size:12px;\n  line-height:1.9;\n}\n\n#cofdar-direct-rfq .cdr-section{\n  padding:30px 34px 34px;\n  margin-bottom:18px;\n  border:1px solid var(--line);\n  background:#fff;\n}\n#cofdar-direct-rfq .cdr-section-heading{\n  display:flex;\n  gap:15px;\n  align-items:flex-start;\n  margin-bottom:24px;\n  padding-bottom:19px;\n  border-bottom:1px solid var(--line);\n}\n#cofdar-direct-rfq .cdr-step{\n  display:grid;\n  place-items:center;\n  min-width:42px;\n  height:42px;\n  background:#F4EAE2;\n  color:#98613A;\n  font:700 13px \"IBM Plex Mono\",monospace;\n}\n#cofdar-direct-rfq .cdr-section-heading h2{\n  color:var(--deep);\n  font-family:Arial,Helvetica,sans-serif;\n  font-size:20px;\n  line-height:1.5;\n  margin:0 0 4px;\n}\n#cofdar-direct-rfq .cdr-section-heading p{\n  color:var(--muted);\n  font-size:13px;\n  line-height:1.8;\n  margin:0;\n}\n#cofdar-direct-rfq .cdr-grid{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:17px;\n}\n#cofdar-direct-rfq .cdr-field{\n  display:flex;\n  flex-direction:column;\n  min-width:0;\n  gap:8px;\n}\n#cofdar-direct-rfq .cdr-full{\n  grid-column:1\/-1;\n}\n#cofdar-direct-rfq .cdr-field>span{\n  font-size:13px;\n  font-weight:700;\n  color:#354052;\n}\n#cofdar-direct-rfq .cdr-field b{\n  color:#B54738;\n}\n#cofdar-direct-rfq .cdr-field input,\n#cofdar-direct-rfq .cdr-field select,\n#cofdar-direct-rfq .cdr-field textarea{\n  width:100%;\n  min-width:0;\n  border:1px solid #C9D2DF;\n  border-radius:3px;\n  background:#fff;\n  color:#273142;\n  font:400 14px Arial,Helvetica,sans-serif;\n  outline:none;\n  box-shadow:none;\n}\n#cofdar-direct-rfq .cdr-field input,\n#cofdar-direct-rfq .cdr-field select{\n  height:48px;\n  padding:0 13px;\n}\n#cofdar-direct-rfq .cdr-field textarea{\n  min-height:110px;\n  padding:13px;\n  resize:vertical;\n}\n#cofdar-direct-rfq .cdr-field input:focus,\n#cofdar-direct-rfq .cdr-field select:focus,\n#cofdar-direct-rfq .cdr-field textarea:focus{\n  border-color:var(--navy);\n  box-shadow:0 0 0 3px rgba(43,64,111,.12);\n}\n#cofdar-direct-rfq .cdr-field input::placeholder,\n#cofdar-direct-rfq .cdr-field textarea::placeholder{\n  color:#8792A1;\n}\n#cofdar-direct-rfq .cdr-field input[dir=ltr]{\n  text-align:left;\n}\n\n#cofdar-direct-rfq .cdr-quantity-policy{\n  display:flex;\n  gap:14px;\n  align-items:flex-start;\n  padding:20px;\n  margin-bottom:21px;\n  background:#F5F7F2;\n  border:1px solid #D7DECE;\n  border-left:4px solid var(--olive);\n}\n#cofdar-direct-rfq .cdr-policy-icon{\n  display:grid;\n  place-items:center;\n  min-width:29px;\n  width:29px;\n  height:29px;\n  border-radius:50%;\n  background:var(--olive);\n  color:#fff;\n  font:700 17px Georgia,serif;\n}\n#cofdar-direct-rfq .cdr-quantity-policy strong{\n  display:block;\n  color:var(--deep);\n  font-size:14px;\n  margin-bottom:6px;\n}\n#cofdar-direct-rfq .cdr-quantity-policy p{\n  color:#4F5C4D;\n  font-size:13px;\n  line-height:2;\n  margin:0;\n}\n#cofdar-direct-rfq .cdr-coffee-items{\n  display:flex;\n  flex-direction:column;\n  gap:12px;\n}\n#cofdar-direct-rfq .cdr-coffee-card{\n  border:1px solid #D9E1EB;\n  border-left:3px solid var(--navy);\n  background:#FAFBFD;\n  padding:18px;\n}\n#cofdar-direct-rfq .cdr-coffee-head{\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  gap:12px;\n  margin-bottom:14px;\n}\n#cofdar-direct-rfq .cdr-coffee-title{\n  display:flex;\n  align-items:center;\n  gap:10px;\n  color:var(--deep);\n  font-size:14px;\n  font-weight:700;\n}\n#cofdar-direct-rfq .cdr-coffee-index{\n  display:grid;\n  place-items:center;\n  width:30px;\n  height:30px;\n  background:var(--deep);\n  color:#fff;\n  font:700 12px \"IBM Plex Mono\",monospace;\n}\n#cofdar-direct-rfq .cdr-remove{\n  padding:7px 12px;\n  border:1px solid #E7CECA;\n  background:#fff;\n  color:#9B443B;\n  font:600 12px Arial,Helvetica,sans-serif;\n  cursor:pointer;\n}\n#cofdar-direct-rfq .cdr-remove:hover{\n  background:#FFF1EF;\n}\n#cofdar-direct-rfq .cdr-add-item{\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  gap:10px;\n  width:100%;\n  min-height:52px;\n  margin-top:15px;\n  background:#F3F6FA;\n  border:1px dashed #8DA0BB;\n  color:var(--navy);\n  font:700 14px Arial,Helvetica,sans-serif;\n  cursor:pointer;\n}\n#cofdar-direct-rfq .cdr-add-item:hover{\n  background:#EAF0F8;\n}\n#cofdar-direct-rfq .cdr-add-item>span{\n  display:grid;\n  place-items:center;\n  width:27px;\n  height:27px;\n  background:var(--navy);\n  color:#fff;\n  font:700 21px Arial,sans-serif;\n}\n#cofdar-direct-rfq .cdr-section-note{\n  margin:13px 0 0;\n  color:var(--muted);\n  font-size:12px;\n  line-height:1.9;\n}\n\n#cofdar-direct-rfq .cdr-managed{\n  display:flex;\n  gap:12px;\n  align-items:flex-start;\n  margin-top:23px;\n  padding:19px;\n  background:#F7F8F4;\n  border:1px solid #D9DDCE;\n  border-left:3px solid var(--olive);\n  cursor:pointer;\n}\n#cofdar-direct-rfq .cdr-managed input,\n#cofdar-direct-rfq .cdr-consent input{\n  width:18px;\n  height:18px;\n  min-width:18px;\n  margin:3px 0 0;\n  accent-color:var(--navy);\n}\n#cofdar-direct-rfq .cdr-managed strong{\n  display:block;\n  color:var(--deep);\n  font-size:14px;\n  line-height:1.7;\n}\n#cofdar-direct-rfq .cdr-managed small{\n  display:block;\n  color:var(--muted);\n  font-size:12px;\n  line-height:1.9;\n  margin-top:5px;\n}\n\n#cofdar-direct-rfq .cdr-final{\n  border-top:3px solid var(--copper);\n}\n#cofdar-direct-rfq .cdr-summary{\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  margin-bottom:24px;\n  background:#F3F6FA;\n  border:1px solid #E0E6EF;\n}\n#cofdar-direct-rfq .cdr-summary>div{\n  padding:18px;\n}\n#cofdar-direct-rfq .cdr-summary>div:not(:last-child){\n  border-right:1px solid #DDE4ED;\n}\n#cofdar-direct-rfq .cdr-summary small{\n  display:block;\n  color:var(--muted);\n  font-size:11px;\n  margin-bottom:7px;\n}\n#cofdar-direct-rfq .cdr-summary strong{\n  color:var(--deep);\n  font-size:13px;\n  line-height:1.7;\n}\n#cofdar-direct-rfq .cdr-consent{\n  display:flex;\n  gap:12px;\n  align-items:flex-start;\n  color:#475467;\n  font-size:12.5px;\n  line-height:2;\n  cursor:pointer;\n}\n#cofdar-direct-rfq .cdr-error{\n  margin-top:16px;\n  padding:12px 15px;\n  border-left:3px solid #B54738;\n  background:#FFF2F0;\n  color:#912D26;\n  font-size:13px;\n}\n#cofdar-direct-rfq .cdr-submit{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:15px;\n  width:100%;\n  min-height:58px;\n  margin-top:23px;\n  padding:12px 22px;\n  border:0;\n  background:var(--navy);\n  color:#fff;\n  font:700 15px Arial,Helvetica,sans-serif;\n  cursor:pointer;\n}\n#cofdar-direct-rfq .cdr-submit:hover{\n  background:var(--deep);\n}\n#cofdar-direct-rfq .cdr-submit>span:last-child{\n  font-size:24px;\n}\n#cofdar-direct-rfq .cdr-disclaimer{\n  color:var(--muted);\n  font-size:12px;\n  line-height:1.9;\n  margin:13px 0 0;\n}\n#cofdar-direct-rfq button:focus-visible,\n#cofdar-direct-rfq a:focus-visible{\n  outline:3px solid var(--copper);\n  outline-offset:3px;\n}\n\n@media(max-width:800px){\n  #cofdar-direct-rfq .cdr-hero{\n    grid-template-columns:1fr;\n  }\n  #cofdar-direct-rfq .cdr-hero-content{\n    padding:30px 25px;\n  }\n  #cofdar-direct-rfq .cdr-hero-steps{\n    padding:20px 25px;\n    border-left:0;\n    border-top:1px solid rgba(255,255,255,.14);\n  }\n}\n@media(max-width:600px){\n  #cofdar-direct-rfq{\n    padding:14px 10px 45px;\n  }\n  #cofdar-direct-rfq .cdr-login{\n    margin:20px 0;\n    padding:30px 18px;\n  }\n  #cofdar-direct-rfq .cdr-login-button{\n    width:100%;\n  }\n  #cofdar-direct-rfq .cdr-hero-content{\n    padding:27px 20px;\n  }\n  #cofdar-direct-rfq .cdr-hero h1{\n    font-size:28px;\n  }\n  #cofdar-direct-rfq .cdr-section{\n    padding:21px 16px 25px;\n    margin-bottom:12px;\n  }\n  #cofdar-direct-rfq .cdr-section-heading{\n    gap:11px;\n    margin-bottom:20px;\n  }\n  #cofdar-direct-rfq .cdr-step{\n    min-width:35px;\n    height:35px;\n    font-size:12px;\n  }\n  #cofdar-direct-rfq .cdr-section-heading h2{\n    font-size:18px;\n  }\n  #cofdar-direct-rfq .cdr-grid{\n    grid-template-columns:1fr;\n    gap:15px;\n  }\n  #cofdar-direct-rfq .cdr-full{\n    grid-column:auto;\n  }\n  #cofdar-direct-rfq .cdr-quantity-policy{\n    padding:15px;\n    gap:11px;\n  }\n  #cofdar-direct-rfq .cdr-coffee-card{\n    padding:14px;\n  }\n  #cofdar-direct-rfq .cdr-summary{\n    grid-template-columns:1fr;\n  }\n  #cofdar-direct-rfq .cdr-summary>div{\n    padding:12px 16px;\n  }\n  #cofdar-direct-rfq .cdr-summary>div:not(:last-child){\n    border-right:0;\n    border-bottom:1px solid #DDE4ED;\n  }\n}\n@media(prefers-reduced-motion:reduce){\n  #cofdar-direct-rfq *{\n    transition:none!important;\n    scroll-behavior:auto!important;\n  }\n}\n<\/style>\n\n<script>\n(function(){\n  \"use strict\";\n\n  const root=document.getElementById(\"cofdar-direct-rfq\");\n  if(!root||root.dataset.initialized===\"1\")return;\n  root.dataset.initialized=\"1\";\n\n  const form=root.querySelector(\"#cdr-rfq-form\");\n  const container=root.querySelector(\"#cdr-coffee-items\");\n  const addButton=root.querySelector(\"#cdr-add-item\");\n  const count=root.querySelector(\"#cdr-items-count\");\n  const error=root.querySelector(\"#cdr-form-error\");\n\n  const whatsapp=\"966503992690\";\n  const maxItems=15;\n\n  const coffees=[\n    \"Ethiopian Yirgacheffe G1\",\n    \"Ethiopian Yirgacheffe G2\",\n    \"Ethiopian Yirgacheffe G3\",\n    \"Ethiopian Guji G1\",\n    \"Ethiopian Guji G2\",\n    \"Ethiopian Sidamo G1\",\n    \"Ethiopian Sidamo G2\",\n    \"Ethiopian Lekempti G3\",\n    \"Ethiopian Lekempti G4\",\n    \"Ethiopian Harrar G4\"\n  ];\n\n  function element(tag,className,text){\n    const node=document.createElement(tag);\n    if(className)node.className=className;\n    if(text!==undefined)node.textContent=text;\n    return node;\n  }\n\n  function updateCount(){\n    const cards=[...container.querySelectorAll(\".cdr-coffee-card\")];\n    cards.forEach((card,index)=>{\n      card.querySelector(\".cdr-coffee-index\").textContent=\n        String(index+1).padStart(2,\"0\");\n      card.querySelector(\".cdr-coffee-label\").textContent=\n        \"Coffee item \"+(index+1);\n      card.querySelector(\".cdr-remove\").hidden=cards.length===1;\n    });\n    count.textContent=cards.length===1\n      ?\"One coffee item\":cards.length+\" coffee items\";\n    addButton.disabled=cards.length>=maxItems;\n    addButton.style.opacity=addButton.disabled?\".5\":\"1\";\n  }\n\n  function addCoffee(){\n    if(container.children.length>=maxItems)return;\n\n    const card=element(\"div\",\"cdr-coffee-card\");\n    const head=element(\"div\",\"cdr-coffee-head\");\n    const title=element(\"div\",\"cdr-coffee-title\");\n\n    title.append(\n      element(\"span\",\"cdr-coffee-index\",\"01\"),\n      element(\"span\",\"cdr-coffee-label\",\"Coffee item\")\n    );\n\n    const remove=element(\"button\",\"cdr-remove\",\"Remove coffee\");\n    remove.type=\"button\";\n    remove.addEventListener(\"click\",()=>{\n      if(container.children.length<=1)return;\n      card.remove();\n      updateCount();\n    });\n\n    head.append(title,remove);\n\n    const label=element(\"label\",\"cdr-field\");\n    label.append(element(\"span\",\"\",\"Required coffee *\"));\n\n    const select=document.createElement(\"select\");\n    select.className=\"cdr-coffee-select\";\n    select.required=true;\n\n    const initial=document.createElement(\"option\");\n    initial.value=\"\";\n    initial.textContent=\"Select coffee\";\n    select.append(initial);\n\n    coffees.forEach(coffee=>{\n      const option=document.createElement(\"option\");\n      option.value=coffee;\n      option.textContent=coffee;\n      select.append(option);\n    });\n\n    const otherOption=document.createElement(\"option\");\n    otherOption.value=\"other\";\n    otherOption.textContent=\"Other coffee or origin\";\n    select.append(otherOption);\n    label.append(select);\n\n    const otherLabel=element(\"label\",\"cdr-field\");\n    otherLabel.style.marginTop=\"13px\";\n    otherLabel.hidden=true;\n    otherLabel.append(element(\"span\",\"\",\"Specify the other coffee or origin *\"));\n\n    const otherInput=document.createElement(\"input\");\n    otherInput.type=\"text\";\n    otherInput.className=\"cdr-other-coffee\";\n    otherInput.maxLength=140;\n    otherInput.placeholder=\"Enter the origin, coffee type and available specifications\";\n    otherLabel.append(otherInput);\n\n    select.addEventListener(\"change\",()=>{\n      const isOther=select.value===\"other\";\n      otherLabel.hidden=!isOther;\n      otherInput.required=isOther;\n      if(!isOther)otherInput.value=\"\";\n    });\n\n    card.append(head,label,otherLabel);\n    container.append(card);\n    updateCount();\n  }\n\n  addButton.addEventListener(\"click\",addCoffee);\n  addCoffee();\n  const requestedCoffee=new URLSearchParams(window.location.search).get('coffee'); if(requestedCoffee&&coffees.includes(requestedCoffee)){container.querySelector('.cdr-coffee-select').value=requestedCoffee;}\n\n  function value(name){\n    const control=form.elements.namedItem(name);\n    return control&&typeof control.value===\"string\"\n      ?control.value.trim():\"\";\n  }\n\n  function clean(text){\n    return String(text||\"\")\n      .replace(\/[\\r\\n\\t]+\/g,\" \")\n      .replace(\/\\s{2,}\/g,\" \")\n      .trim();\n  }\n\n  function showError(message){\n    error.textContent=message;\n    error.hidden=false;\n    error.scrollIntoView({behavior:\"smooth\",block:\"center\"});\n  }\n\n  form.addEventListener(\"submit\",function(event){\n    event.preventDefault();\n    error.hidden=true;\n\n    if(!document.body.classList.contains(\"logged-in\")){\n      showError(\"Please sign in first.\");\n      return;\n    }\n\n    if(!form.checkValidity()){\n      showError(\"Please complete all required fields.\");\n      form.reportValidity();\n      return;\n    }\n\n    const selected=[];\n    for(const card of container.querySelectorAll(\".cdr-coffee-card\")){\n      const selector=card.querySelector(\".cdr-coffee-select\");\n      const other=card.querySelector(\".cdr-other-coffee\");\n      const coffee=selector.value===\"other\"\n        ?clean(other.value):clean(selector.value);\n\n      if(!coffee){\n        showError(\"Please select all the requested coffee items.\");\n        return;\n      }\n      selected.push(coffee);\n    }\n\n    const now=new Date();\n    const reference=\"RFQ-\"+\n      now.getFullYear()+\n      String(now.getMonth()+1).padStart(2,\"0\")+\n      String(now.getDate()).padStart(2,\"0\")+\"-\"+\n      String(now.getHours()).padStart(2,\"0\")+\n      String(now.getMinutes()).padStart(2,\"0\")+\n      String(now.getSeconds()).padStart(2,\"0\");\n\n    const message=[\n      \"*New quotation request | COFDAR DIRECT*\",\n      \"Preliminary reference: \"+reference,\n      \"\",\n      \"*Company details*\",\n      \"Registered company name: \"+clean(value(\"company\")),\n      \"Registration country: \"+clean(value(\"registration_country\")),\n      \"Business registration number: \"+clean(value(\"registration\")),\n      \"Tax \/ VAT number: \"+(clean(value(\"vat\"))||\"Not provided\"),\n      \"Business type: \"+clean(value(\"business_type\")),\n      \"Contact: \"+clean(value(\"contact\")),\n      \"Job title: \"+(clean(value(\"position\"))||\"Not specified\"),\n      \"Email: \"+clean(value(\"email\")),\n      \"Phone: \"+clean(value(\"phone\")),\n      \"Address: \"+clean(value(\"address\")),\n      \"\",\n      \"*Requested coffee items*\",\n      ...selected.map((coffee,index)=>\n        (index+1)+\". \"+coffee\n      ),\n      \"\",\n      \"*Quantity basis*\",\n      \"Basis: a full container of a single coffee item.\",\n      \"Any flexibility, available quantities and minimum order requirements are specified in the quotation under supplier terms.\",\n      \"\",\n      \"*Supply requirements*\",\n      \"Destination country: \"+clean(value(\"destination_country\")),\n      \"Destination: \"+clean(value(\"destination\")),\n      \"Purchasing purpose: \"+clean(value(\"purchase_purpose\")),\n      \"Purchasing frequency: \"+clean(value(\"purchase_frequency\")),\n      \"Supply timing: \"+clean(value(\"timeline\")),\n      \"Alternative coffees: \"+clean(value(\"alternatives\")),\n      \"Sourcing management: \"+(\n        form.elements.namedItem(\"managed_supply\").checked\n          ?\"Interested in exploring this service\":\"Not requested\"\n      ),\n      \"Notes: \"+(clean(value(\"notes\"))||\"None\"),\n      \"\",\n      \"This is a preliminary, non-binding request.\",\n      \"Prices, availability, quantities and terms require supplier confirmation.\"\n    ].join(\"\\n\");\n\n    const url=\"https:\/\/wa.me\/\"+whatsapp+\n      \"?text=\"+encodeURIComponent(message);\n\n    if(url.length>7500){\n      showError(\"The request is too long. Please shorten your notes or reduce the number of coffee items.\");\n      return;\n    }\n\n    window.location.href=url;\n  });\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u2713 COFDAR DIRECT \u00b7 BUSINESS SOURCING Request a quotation for green coffee This service is for businesses registered with Cofdar. Sign in to prepare a quotation request for one or more coffee items. Sign in or create an account Back to Cofdar Direct COFDAR DIRECT \/ REQUEST FOR QUOTATION Request a quotation for green coffee &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_rtcl_gb_attr":"","footnotes":""},"class_list":["post-13439","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cofdar.com\/en\/wp-json\/wp\/v2\/pages\/13439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cofdar.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cofdar.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cofdar.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cofdar.com\/en\/wp-json\/wp\/v2\/comments?post=13439"}],"version-history":[{"count":1,"href":"https:\/\/cofdar.com\/en\/wp-json\/wp\/v2\/pages\/13439\/revisions"}],"predecessor-version":[{"id":13440,"href":"https:\/\/cofdar.com\/en\/wp-json\/wp\/v2\/pages\/13439\/revisions\/13440"}],"wp:attachment":[{"href":"https:\/\/cofdar.com\/en\/wp-json\/wp\/v2\/media?parent=13439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}