*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--cream: #F5F0E8;
--black: #1C1C1A;
--adana: #C0392B;
--xalapa: #27714E;
--berry: #2B5FAC;
--mid: #6B6860;
--rule: #D8D0C0;
}
body {
background: var(--cream);
color: var(--black);
font-family: 'Inter', sans-serif;
font-size: 17px;
line-height: 1.7;
-webkit-font-smoothing: antialiased;
}
/* ── HERO ── */
.hero {
padding: 64px 24px 48px;
max-width: 740px;
margin: 0 auto;
}
.hero-chip {
display: inline-block;
font-family: 'Barlow Condensed', sans-serif;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--mid);
border: 1px solid var(--rule);
padding: 4px 10px;
border-radius: 2px;
margin-bottom: 28px;
}
.hero h1 {
font-family: 'Playfair Display', serif;
font-size: clamp(36px, 6vw, 52px);
font-weight: 700;
line-height: 1.1;
letter-spacing: -0.01em;
margin-bottom: 20px;
}
.hero h1 em {
font-style: italic;
font-weight: 400;
color: var(--xalapa);
}
.hero-meta {
display: flex;
gap: 24px;
flex-wrap: wrap;
font-family: 'Barlow Condensed', sans-serif;
font-size: 13px;
font-weight: 500;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--mid);
margin-bottom: 36px;
padding-bottom: 28px;
border-bottom: 1px solid var(--rule);
}
.hero-meta span::before {
content: '—';
margin-right: 6px;
color: var(--rule);
}
/* ── INTRO ── */
.intro {
max-width: 740px;
margin: 0 auto 48px;
padding: 0 24px;
}
.intro p {
font-size: 18px;
line-height: 1.75;
color: var(--black);
padding-left: 20px;
border-left: 3px solid var(--xalapa);
}
/* ── BODY ── */
.post-body {
max-width: 740px;
margin: 0 auto;
padding: 0 24px;
}
.post-body > p {
font-size: 17px;
line-height: 1.75;
color: var(--black);
margin-top: 20px;
}
/* ── SECTION HEADS ── */
.section-head {
margin-top: 56px;
margin-bottom: 20px;
padding-bottom: 12px;
border-bottom: 1px solid var(--rule);
}
.section-head h2 {
font-family: 'Playfair Display', serif;
font-size: clamp(22px, 3.5vw, 30px);
font-weight: 700;
line-height: 1.15;
letter-spacing: -0.01em;
}
.section-head h2 em {
font-style: italic;
font-weight: 400;
}
/* ── POLICY ROWS ── */
.policy-rows {
display: flex;
flex-direction: column;
margin-top: 24px;
border-top: 1px solid var(--rule);
}
.policy-row {
display: grid;
grid-template-columns: 28px 1fr;
gap: 16px;
align-items: start;
padding: 18px 0;
border-bottom: 1px solid var(--rule);
}
.policy-icon {
font-size: 15px;
padding-top: 2px;
line-height: 1;
text-align: center;
}
.policy-text {
font-size: 16px;
line-height: 1.72;
color: var(--black);
}
.policy-text strong {
font-weight: 600;
}
/* ── STEPS ── */
.steps {
display: flex;
flex-direction: column;
gap: 0;
margin-top: 24px;
border-top: 1px solid var(--rule);
}
.step {
display: grid;
grid-template-columns: 40px 1fr;
gap: 16px;
align-items: start;
padding: 18px 0;
border-bottom: 1px solid var(--rule);
}
.step-num {
font-family: 'Playfair Display', serif;
font-size: 22px;
font-weight: 700;
color: var(--xalapa);
line-height: 1.2;
padding-top: 1px;
}
.step-text {
font-size: 16px;
line-height: 1.72;
color: var(--black);
}
.step-text strong {
font-weight: 600;
display: block;
margin-bottom: 2px;
}
/* ── DARK CALLOUT ── */
.callout {
background: var(--black);
color: var(--cream);
border-radius: 4px;
padding: 40px 44px;
margin: 56px 0;
}
.callout-label {
font-family: 'Barlow Condensed', sans-serif;
font-size: 10px;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
color: rgba(245,240,232,0.45);
margin-bottom: 16px;
}
.callout h3 {
font-family: 'Playfair Display', serif;
font-size: clamp(18px, 2.8vw, 24px);
font-style: italic;
font-weight: 400;
color: var(--cream);
margin-bottom: 16px;
line-height: 1.25;
}
.callout p {
font-size: 15.5px;
line-height: 1.72;
color: rgba(245,240,232,0.82);
}
.callout p + p { margin-top: 14px; }
/* ── CONTACT BLOCK ── */
.contact-block {
margin-top: 24px;
border: 1px solid var(--rule);
border-radius: 3px;
overflow: hidden;
}
.contact-row {
display: grid;
grid-template-columns: 110px 1fr;
gap: 0;
border-bottom: 1px solid var(--rule);
}
.contact-row:last-child { border-bottom: none; }
.contact-label {
font-family: 'Barlow Condensed', sans-serif;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--mid);
padding: 14px 16px;
background: rgba(216,208,192,0.2);
border-right: 1px solid var(--rule);
display: flex;
align-items: center;
}
.contact-value {
font-size: 15.5px;
line-height: 1.6;
color: var(--black);
padding: 14px 16px;
display: flex;
align-items: center;
}
.contact-value a {
color: var(--xalapa);
text-decoration: none;
}
.contact-value a:hover { text-decoration: underline; }
/* ── DIVIDER ── */
.post-body .divider {
border: none;
border-top: 1px solid var(--rule);
margin: 52px 0 0;
}
/* ── CLOSING ── */
.closing {
max-width: 740px;
margin: 0 auto;
padding: 0 24px 72px;
}
.closing p {
font-size: 17px;
line-height: 1.75;
margin-top: 20px;
}
.closing p:first-child { margin-top: 36px; }
/* ── CTA ── */
.cta-block {
max-width: 740px;
margin: 0 auto 80px;
padding: 0 24px;
display: flex;
gap: 16px;
flex-wrap: wrap;
align-items: center;
}
.cta-block a {
display: inline-block;
font-family: 'Barlow Condensed', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
text-decoration: none;
padding: 14px 28px;
border-radius: 2px;
transition: opacity 0.15s;
}
.cta-block a:hover { opacity: 0.82; }
.cta-primary { background: var(--black); color: var(--cream); }
.cta-secondary { background: transparent; color: var(--black); border: 1.5px solid var(--black); }
/* ── RESPONSIVE ── */
@media (max-width: 520px) {
.contact-row { grid-template-columns: 1fr; }
.contact-label { border-right: none; border-bottom: 1px solid var(--rule); padding: 10px 14px; }
.contact-value { padding: 10px 14px; }
.callout { padding: 28px 24px; }
.step { grid-template-columns: 32px 1fr; }
}
Policy
Refunds &
Returns
Canbo Limited Last updated 2025
We want every order to arrive in perfect condition. Because our products are perishable, we handle refunds differently from non-food items — but we always aim to be fair and transparent.
When a refund or replacement
is available
✓
Your order arrives damaged due to packaging or courier handling.
✓
You receive the wrong product.
✓
The product is spoiled or unfit for consumption upon delivery — and not due to storage after delivery.
How to
request a refund
Contact us within 48 hours of delivery. We'll need the following:
1
Your order numberFound in your confirmation email.
2
A short description of the issueTell us what arrived and what's wrong.
3
Clear photosOf the product and packaging as received.
When a refund or replacement
is not available
✗
You change your mind after delivery.
✗
The product has been opened or partially consumed and is not faulty.
✗
Damage or spoilage occurs after delivery due to incorrect storage or delayed collection.
✗
An incorrect delivery address was provided or delivery attempts were missed.
Allergen information
Please review ingredients before ordering.
Our products may be prepared in environments that handle allergens including mustard seeds, sesame, and others. Full ingredient and allergen information is listed on all product pages and labels.
It is your responsibility to review this information before consuming our products. If you have any allergies or intolerances, please contact us before ordering. We cannot accept responsibility for allergic reactions where allergen information has been provided.
Refund
processing
⟳
Approved refunds are issued to your original payment method within 5–10 working days.
⟳
In some cases we may offer a replacement product or store credit instead.
⟳
Due to food safety regulations, we cannot accept returns of perishable goods. Every order is carefully packed to arrive fresh and safe.
Contact us
If you have any concerns about your order, get in touch directly.
We always aim to resolve issues fairly where something has gone wrong. If your order isn't right, we want to know about it.