/* ===========================================================================
KYLIEBLOOM® policy + contact pages — shared stylesheet
Namespace: .kb | Paste this block at the TOP of EACH page.
Doubled selectors (.kb .kb__x) score 0,2,0 and beat this theme's
.rte h2 / .rte p / .rte a / .rte th rules, which score 0,1,1.
NO CARDS. The pages are set as a LETTER: a letterhead rule, a salutation,
numbered sections whose numerals hang in the left margin, and a signature
block. Nothing is a boxed container.
=========================================================================== */
.kb{
--kb-ink:#16233F;
--kb-ink-2:#22345C;
--kb-body:#2E3A4F;
--kb-mute:#4A5568;
--kb-link:#2C4272;
--kb-rule:#D9DFE9;
--kb-rule-2:#B7C2D6; /* hairlines ONLY — 1.79:1, never put text in it */
--kb-numeral:#616D87; /* 5.19:1 on paper, 4.88:1 on the wash */
--kb-wash:#F7F8FA;
--kb-tint:#EEF1F6;
--kb-pill:40px;
font-family:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
color:var(--kb-body);
font-size:16.5px;
line-height:1.72;
text-align:left;
-webkit-font-smoothing:antialiased;
}
.kb *,.kb *::before,.kb *::after{box-sizing:border-box}
/* Body copy — re-declared, not inherited. .rte p sets size AND align. */
.kb .kb p,
.kb p{
margin:0 0 1em;
color:var(--kb-body);
font-size:16.5px;
line-height:1.72;
text-align:left;
}
.kb p:last-child{margin-bottom:0}
.kb b,.kb strong{color:var(--kb-ink);font-weight:600}
/* Body links only — components declare their own colour. */
.kb a:not([class]){
color:var(--kb-link);
text-decoration:underline;
text-underline-offset:2px;
text-decoration-thickness:1px;
font-weight:500;
}
.kb a:not([class]):hover{color:#16233F;text-decoration-thickness:2px}
.kb a:focus-visible,.kb a:not([class]):focus-visible{
outline:2px solid var(--kb-link);outline-offset:3px;
}
/* ---------- letterhead ---------------------------------------------------
Wide-tracked caps, echoing the KYLIE BLOOM wordmark (which is letterspaced
and has no terminal period — unlike WARM FRIDAYS.).
-------------------------------------------------------------------------- */
.kb .kb__letterhead{
border-top:3px solid var(--kb-ink);
padding:16px 0 0;
margin:0 0 clamp(26px,5vw,36px);
}
.kb .kb__from{
display:block;
font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;
color:var(--kb-mute)!important;
text-align:left!important;
line-height:1.6!important;
margin:0 0 14px!important;
}
.kb .kb__facts{
margin:0!important;
padding:14px 0 0;
border-top:1px solid var(--kb-rule);
font-size:12.5px!important;
line-height:2!important;
letter-spacing:.06em;
color:var(--kb-mute)!important;
text-align:left!important;
}
.kb .kb__fact{color:var(--kb-ink);font-weight:600}
.kb .kb__bar{color:var(--kb-rule-2);padding:0 10px}
/* ---------- salutation + lead --------------------------------------------- */
.kb .kb__salute{
color:var(--kb-ink)!important;
font-size:clamp(19px,4.8vw,22px)!important;
font-weight:600!important;
line-height:1.4!important;
letter-spacing:-.01em;
text-align:left!important;
margin:0 0 14px!important;
}
.kb .kb__lead{
font-size:clamp(17px,4.3vw,18.5px)!important;
line-height:1.62!important;
color:var(--kb-ink)!important;
text-align:left!important;
text-wrap:pretty;
margin:0 0 clamp(30px,6vw,42px)!important;
}
/* ---------- numbered letter sections --------------------------------------
The numeral hangs in the left margin on wider screens and sits above the
heading on narrow ones. A hairline runs ABOVE each section, not below —
the opposite of the other stores in this network, on purpose.
-------------------------------------------------------------------------- */
.kb .kb__part{
position:relative;
border-top:1px solid var(--kb-rule);
padding:clamp(24px,5vw,32px) 0 0;
margin:0 0 clamp(30px,6vw,42px);
}
.kb .kb__num{
display:block;
color:var(--kb-numeral)!important;
font-size:13px;font-weight:700;letter-spacing:.2em;
line-height:1;
text-align:left!important;
margin:0 0 10px;
font-variant-numeric:tabular-nums;
}
.kb .kb__h2{
color:var(--kb-ink)!important;
font-family:inherit;
font-size:clamp(21px,5.2vw,26px)!important;
font-weight:600!important;
line-height:1.28!important;
letter-spacing:-.02em;
text-align:left!important;
text-transform:none!important;
text-wrap:balance;
margin:0 0 16px!important;
}
.kb .kb__h3{
color:var(--kb-ink)!important;
font-family:inherit;
font-size:clamp(16px,4vw,17px)!important;
font-weight:600!important;
line-height:1.4!important;
text-align:left!important;
text-transform:none;
margin:24px 0 8px!important;
}
/* ---------- the aside: a hanging note, open on three sides ---------------- */
.kb .kb__aside{
margin:20px 0 0;
padding:0 0 0 18px;
border-left:2px solid var(--kb-rule-2);
}
.kb .kb__asidelab{
display:block;
font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
color:var(--kb-mute)!important;
text-align:left!important;
line-height:1.5!important;
margin:0 0 7px!important;
}
.kb .kb__aside p{font-size:15.5px!important;color:var(--kb-mute)!important;margin-bottom:.7em!important}
.kb .kb__aside p:last-child{margin-bottom:0!important}
.kb .kb__aside--key{border-left-color:var(--kb-ink)}
.kb .kb__aside--key .kb__asidelab{color:var(--kb-ink)!important}
.kb .kb__aside--key p{color:var(--kb-body)!important}
/* ---------- lists --------------------------------------------------------- */
.kb .kb__list{margin:18px 0 0;padding:0;list-style:none}
.kb .kb__list li{
position:relative;padding:0 0 0 24px;margin:0 0 13px;
font-size:16px;line-height:1.66;color:var(--kb-body);
}
.kb .kb__list li:last-child{margin-bottom:0}
.kb .kb__list li::before{
content:"";position:absolute;left:2px;top:.72em;
width:8px;height:1.5px;background:var(--kb-rule-2);
}
.kb .kb__list--num{counter-reset:kbn}
.kb .kb__list--num li{counter-increment:kbn;padding-left:34px}
.kb .kb__list--num li::before{
content:counter(kbn) ".";
left:0;top:0;width:auto;height:auto;background:none;
color:var(--kb-ink);font-size:14px;font-weight:700;
line-height:1.9;font-variant-numeric:tabular-nums;
}
/* ---------- run-in definition lines (no box) ------------------------------ */
.kb .kb__defs{margin:20px 0 0;padding:0}
.kb .kb__dt{
color:var(--kb-ink)!important;
font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
line-height:1.5;
margin:0 0 6px;
text-align:left!important;
}
.kb .kb__dd{
margin:0 0 20px!important;
padding:0 0 20px;
border-bottom:1px solid var(--kb-rule);
font-size:15.5px!important;
color:var(--kb-body)!important;
text-align:left!important;
}
.kb .kb__dd:last-child{margin-bottom:0!important;padding-bottom:0;border-bottom:0}
/* ---------- table ---------------------------------------------------------
This theme sets .rte th,.rte td { border:.8px solid rgba(0,0,0,.2);
text-align:center; font-weight:700 } — a border on ALL FOUR sides. Clear
the shorthand with border:0 first, or the side borders survive.
-------------------------------------------------------------------------- */
.kb .kb__tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:20px 0 0}
.kb .kb__table{
width:100%;min-width:272px;
border-collapse:collapse;font-size:14px;
}
.kb .kb__table th,.kb .kb__table td{
border:0;border-bottom:1px solid var(--kb-rule);
padding:12px 8px;text-align:left;vertical-align:top;
font-weight:400;
}
.kb .kb__table th:first-child,.kb .kb__table td:first-child{padding-left:0}
.kb .kb__table th:last-child,.kb .kb__table td:last-child{padding-right:0}
.kb .kb__table thead th{
color:var(--kb-mute);
font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
border:0;border-bottom:2px solid var(--kb-ink);
padding-bottom:9px;
}
.kb .kb__table tbody th{color:var(--kb-ink);font-weight:600;line-height:1.45}
.kb .kb__table tbody td{color:var(--kb-body)}
.kb .kb__table tbody tr:last-child th,.kb .kb__table tbody tr:last-child td{border:0}
.kb .kb__tnote{
display:block;font-weight:400;font-size:11px;color:var(--kb-mute);
letter-spacing:.02em;margin-top:3px;
}
.kb .kb__tcap{
margin:12px 0 0!important;font-size:12.5px!important;
color:var(--kb-mute)!important;text-align:left!important;
}
/* ---------- inline button ------------------------------------------------- */
.kb .kb__cta{
display:inline-block;
background:var(--kb-ink)!important;color:#fff!important;
text-decoration:none!important;
font-size:14.25px;font-weight:500;letter-spacing:.095em;
padding:14px 32px;border-radius:var(--kb-pill);
min-height:45px;line-height:1.2;
border:1.5px solid var(--kb-ink);
}
.kb .kb__cta:hover{background:transparent!important;color:var(--kb-ink)!important}
.kb .kb__ctawrap{margin:24px 0 0!important;text-align:left!important}
/* ---------- P.S. — the letter's closing emphasis -------------------------- */
.kb .kb__ps{
margin:clamp(30px,6vw,42px) 0 0;
padding:clamp(24px,5vw,30px) 0 0;
border-top:2px solid var(--kb-ink);
}
.kb .kb__pslab{
display:block;
color:var(--kb-ink)!important;
font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
text-align:left!important;line-height:1.5!important;
margin:0 0 10px!important;
}
.kb .kb__pstext{
color:var(--kb-ink)!important;
font-size:clamp(16.5px,4.2vw,18px)!important;
line-height:1.6!important;
text-align:left!important;
text-wrap:pretty;
margin:0!important;
}
/* ---------- signature ----------------------------------------------------- */
.kb .kb__sig{
margin:clamp(30px,6vw,42px) 0 0;
padding:clamp(24px,5vw,30px) 0 0;
border-top:1px solid var(--kb-rule);
}
.kb .kb__signoff{
color:var(--kb-body)!important;
font-size:16.5px!important;
text-align:left!important;
margin:0 0 6px!important;
}
.kb .kb__signame{
color:var(--kb-ink)!important;
font-size:18px!important;font-weight:600!important;
letter-spacing:-.01em;
text-align:left!important;
margin:0 0 4px!important;
}
.kb .kb__sigrole{
color:var(--kb-mute)!important;
font-size:11px!important;font-weight:600;
letter-spacing:.18em;text-transform:uppercase;
text-align:left!important;
line-height:1.6!important;
margin:0 0 22px!important;
}
.kb .kb__mail{
color:var(--kb-link)!important;
font-weight:600;text-decoration:underline!important;
text-underline-offset:3px;text-decoration-thickness:1.5px;
overflow-wrap:anywhere;
}
.kb .kb__mail:hover{color:#16233F!important}
.kb .kb__siglinks{
margin:0!important;
padding:18px 0 0;
border-top:1px solid var(--kb-rule);
text-align:left!important;
font-size:11.5px!important;line-height:2.1!important;
letter-spacing:.16em;text-transform:uppercase;
font-weight:600;
color:var(--kb-mute)!important;
}
.kb .kb__siglink{
color:var(--kb-ink)!important;text-decoration:none!important;
border-bottom:1.5px solid var(--kb-ink);padding-bottom:2px;
}
.kb .kb__siglink:hover{color:var(--kb-link)!important;border-bottom-color:var(--kb-link)}
.kb .kb__sep{color:var(--kb-rule-2);padding:0 10px}
/* ---------- contact-page details (shares everything above) ---------------- */
.kb .kb__hours{
margin:20px 0 0;padding:0;list-style:none;
border-top:1px solid var(--kb-rule);
}
.kb .kb__hoursrow{
display:flex;flex-wrap:wrap;gap:2px 16px;
padding:13px 0;
border-bottom:1px solid var(--kb-rule);
font-size:15.5px;line-height:1.6;color:var(--kb-body);
}
.kb .kb__hourslab{
flex:0 0 auto;min-width:9.5em;
color:var(--kb-ink);font-weight:600;
font-size:11px;letter-spacing:.16em;text-transform:uppercase;
line-height:2.1;
}
.kb .kb__hoursval{flex:1 1 12em;min-width:0}
/* ---------- 620px and up --------------------------------------------------
The section numeral moves out into the left margin. Note the column here is
690px, the same as shop.wearzodia.com, so the outdent is deliberately small
and falls back to a stacked numeral below this width.
-------------------------------------------------------------------------- */
@media screen and (min-width:620px){
.kb .kb__part{padding-left:64px}
.kb .kb__num{
position:absolute;left:0;top:clamp(24px,5vw,32px);
margin:0;font-size:14px;line-height:1.5;
}
.kb .kb__list--num li{padding-left:38px}
}
@media screen and (min-width:750px){
.kb{font-size:17px}
.kb .kb__table{font-size:15px}
.kb .kb__table th,.kb .kb__table td{padding:14px 12px}
.kb .kb__aside{padding-left:24px}
}
@media (prefers-reduced-motion:no-preference){
.kb a{transition:color .15s ease,background-color .15s ease,border-color .15s ease}
}
From the KylieBloom care desk · On refunds, replacements and returns
0 items posted back | 3 photos asked for | 30 days to a free replacement
Hi there,
This is the page nobody enjoys writing and nobody enjoys reading, so I'd rather be straight with you than bury the hard part. KylieBloom replaces. We don't refund. Below is exactly when a replacement is created, exactly when it isn't, and why the line sits where it does.
01
The part I'd rather not have to write
Our product research team invests substantial time selecting the pieces we carry — things that reflect current market demand, what's trending, and what's genuinely popular. That work all happens well before anything appears on the site.
We'd ask for your understanding here: operating a small business comes with significant costs. So we entrust our customers with the responsibility of researching a purchase thoroughly, and making sure the product suits their needs, before placing the order.
If the correct item arrived and it simply isn't for you, I do acknowledge the dissatisfaction — but the operational expenses have already been incurred by that point.
Plainly
All sales are final, and we are unable to offer refunds.
02
When we do send you a new one
There are exactly two situations. Both end in a replacement order created on the same shipping speed used on your original item, and in neither case do you post anything back to us.
One — a completely different product arrived
An incorrect item means receiving a totally different item from the one shown on our website. You ordered the Mid-low Rise Baggy Jeans and a jacket turned up. You ordered a dress and received a pair of shoes. You ordered lipstick and received mascara.
Send us three photos from different angles of the item you received — it helps us expedite the replacement order. If a replacement is created, there is no need to send the incorrect item back to us.
Two — 30 days have passed and nothing arrived
Items not received after 30 days are eligible for a free replacement. No photos needed for this one; there's nothing to photograph. The single exception is below.
03
The one exception, and it's an important one
Shipments showing as delivered on the carrier's own website — USPS, Canada Post, whichever is carrying it — are excluded from that 30-day replacement. Once a carrier records a delivery, the parcel has passed into their hands rather than ours.
If your tracking status shows “delivered”, please contact your local post office with the tracking number. Parcels marked delivered are very often held at the branch, left with a neighbour, or tucked somewhere at the address. If they can't account for it, email support@kyliebloom.com and tell me what they said.
04
Where the line sits, with worked examples
This is the boundary people write to us about most, so here it is with the actual cases.
- Will be replaced
- You ordered a dress and you received a pair of shoes. You ordered lipstick and you received mascara. In both, a categorically different product arrived.
- Will not be replaced
- You ordered a weighted plushie and you feel that it isn't weighted. You ordered a jacket in size large and you feel that you received a size small. In both, the correct item arrived and did not meet an expectation.
Why the line is there
As a small business we always strive to ensure the product information posted on our website is exhaustive of what a customer would need to decide whether to proceed — and to not proceed if they think our product isn't the one they're looking for, or doesn't meet their needs.
05
How to claim, start to finish
-
Photograph what arrived. Three shots, three different angles, daylight if you can manage it. This is the single thing that moves a replacement along fastest.
-
Email us. Send them to support@kyliebloom.com with your order number and the address you ordered with.
-
We create the replacement. On the same shipping speed you originally paid for. You'll get a fresh confirmation email, then a tracking number once it leaves us.
-
Keep what you have. There is nothing to post back. Once the replacement order exists, the item you received is yours.
For the 30-day claim
Skip step one. Just your order number, and confirmation that tracking isn't showing the parcel as delivered.
06
Before you start counting to 30
Most orders that feel late aren't. Standard delivery runs 7–20 business days in the US and 10–25 business days internationally, counted from the day the parcel ships rather than the day you ordered.
- Business days exclude Saturdays and Sundays.
- Quiet tracking inside those windows is normal — on some routes the first scan doesn't happen until delivery itself.
- The 30 days for a free replacement, though, are counted from your purchase date, not from the ship date.
Read the shipping letter
P.S.
If a replacement is created, keep the original. I mention it twice on this page because it's the question that comes back most often, and because posting something back you didn't need to is a genuinely annoying way to spend an afternoon.