/* ===========================================================================
OCEANS SHOP(R) — shared stylesheet for Refund and Shipping
Namespace: .ocn | Paste this block at the TOP of BOTH pages.
Doubled selectors (.ocn .ocn__x) score 0,2,0 and beat this theme's
.rte h2 / .rte p / .rte a rules, which score 0,1,1.
STRUCTURE: THE CONDITIONS LEDGER. The whole policy is written as IF /
THEN pairs. The left column is a condition you can check against your own
situation; the right column is what follows from it. Find your row, read
your outcome.
⚠ YOU RUN THE SAME THEME AS ONE OF YOUR OTHER STORES (Tenor Sans
uppercase headings, Outfit 300 body, cream page). So NONE of the design
here leans on the type: the ledger layout, the sea palette and the
wide-tracked Outfit labels are what make this store look like itself.
THE PAGE IS NOT WHITE. It is #FFFAE9. Every contrast figure below is
computed against that cream.
======================================================================== */
.ocn{
--ocn-cream:#FFFAE9; /* the theme's own page background */
--ocn-ink:#1A1A1A; /* 16.66:1 on cream */
--ocn-body:#242424; /* 14.86:1 */
--ocn-mute:#4B4F4D; /* 7.96:1 — warm grey-green */
--ocn-sea:#1F5A52; /* 7.61:1 — links, IF labels, accents */
--ocn-sea-deep:#0F463F; /* 10.21:1 */
--ocn-surf:#82B6AC; /* 2.18:1 — the store's own green. */
/* DECORATIVE + button fills ONLY. */
/* Black on it is 9.24:1, which is exactly */
/* how the store uses it. NEVER as text */
/* colour on the cream. */
--ocn-panel:#FFFFFF;
--ocn-tint:#F2F7F5;
--ocn-hair:#E8E8E1; /* the theme's own input border */
--ocn-hair-sea:#CFE0DB;
font-family:Outfit,var(--font-body-family,sans-serif);
font-size:16.5px;
font-weight:300;
line-height:1.66;
letter-spacing:.414px;
color:var(--ocn-body);
max-width:100%;
box-sizing:border-box;
}
.ocn *,.ocn *::before,.ocn *::after{box-sizing:border-box}
/* The theme renders .rte a as PURE BLACK with NO UNDERLINE — identical to
body copy. Ours declare a colour and an underline. */
.ocn a:not([class]){
color:var(--ocn-sea);
text-decoration:underline;
text-underline-offset:3px;
text-decoration-thickness:2px;
font-weight:600;
}
.ocn a:not([class]):hover{color:var(--ocn-sea-deep);text-decoration-thickness:3px}
.ocn p{
margin:0 0 13px;
font-family:inherit!important;
font-size:16.5px!important;
font-weight:300!important;
line-height:1.66!important;
letter-spacing:.414px!important;
color:var(--ocn-body)!important;
}
.ocn p:last-child{margin-bottom:0}
/* body weight is 300, so 600 is the floor at which emphasis actually reads */
.ocn b,.ocn strong{font-weight:600;color:var(--ocn-ink)}
/* ---------- masthead: CENTRED, echoing the theme's centred uppercase h1 -- */
.ocn .ocn__mast{
text-align:center;
margin:0 0 30px;
padding:0 0 24px;
border-bottom:3px solid var(--ocn-sea);
}
.ocn .ocn__kicker{
display:block;
font-family:Outfit,var(--font-body-family,sans-serif);
font-size:11.5px!important;
font-weight:700!important;
line-height:1.5;
letter-spacing:3.9px!important; /* the store's own button tracking */
text-transform:uppercase;
color:var(--ocn-sea)!important;
margin:0 0 14px;
}
.ocn .ocn__lede{
font-size:clamp(16px,3.9vw,18px)!important;
line-height:1.6!important;
color:var(--ocn-ink)!important;
margin:0 auto!important;
max-width:48ch;
text-wrap:balance;
}
/* ---------- section band ------------------------------------------------ */
.ocn .ocn__band{
margin:0 0 14px;
padding:0 0 12px;
border-bottom:2px solid var(--ocn-sea);
}
.ocn .ocn__bandname{
display:block;
font-family:"Tenor Sans",var(--font-heading-family,serif)!important;
font-size:clamp(20px,4.8vw,26px)!important;
font-weight:400!important; /* Tenor Sans ships NO bold — never ask */
line-height:1.24!important;
letter-spacing:2.4px!important;
text-transform:uppercase!important;
text-align:left!important;
color:var(--ocn-ink)!important;
margin:0!important;
}
.ocn .ocn__bandsub{
display:block;
font-size:14.5px!important;
font-weight:300!important;
line-height:1.5;
letter-spacing:.414px!important;
color:var(--ocn-mute)!important;
margin:8px 0 0;
}
.ocn .ocn__sec{margin:0 0 40px}
/* ---------- THE LEDGER — the signature device --------------------------- */
.ocn .ocn__ledger{
list-style:none!important;
margin:0!important;
padding:0!important;
}
.ocn .ocn__row{
list-style:none!important;
display:grid;
grid-template-columns:minmax(0,1fr);
gap:10px;
margin:0;
padding:20px 0;
border-bottom:1px solid var(--ocn-hair);
}
.ocn .ocn__ledger > .ocn__row:last-child{border-bottom:0;padding-bottom:0}
.ocn .ocn__if,.ocn .ocn__then{min-width:0}
.ocn .ocn__lab{
display:block;
font-family:Outfit,var(--font-body-family,sans-serif);
font-size:10.5px!important;
font-weight:700!important;
line-height:1.5;
letter-spacing:3.9px!important; /* the store's own button tracking */
text-transform:uppercase;
margin:0 0 7px;
}
.ocn .ocn__if .ocn__lab{color:var(--ocn-sea)!important}
.ocn .ocn__then .ocn__lab{color:var(--ocn-mute)!important}
.ocn .ocn__cond{
font-family:"Tenor Sans",var(--font-heading-family,serif)!important;
font-size:clamp(15px,3.6vw,16.5px)!important;
font-weight:400!important;
line-height:1.4!important;
letter-spacing:1.1px!important;
text-transform:uppercase!important;
color:var(--ocn-ink)!important;
margin:0!important;
}
.ocn .ocn__out{
font-size:16.5px!important;
font-weight:300!important;
line-height:1.62!important;
letter-spacing:.414px!important;
color:var(--ocn-body)!important;
margin:0 0 11px!important;
}
.ocn .ocn__out:last-child{margin-bottom:0}
/* the outcome in one word, for a reader who is only scanning */
.ocn .ocn__verdict{
display:inline-block;
background:var(--ocn-surf);
color:#000000!important; /* 9.24:1 on the surf — the store's own pairing */
font-family:Outfit,var(--font-body-family,sans-serif);
font-size:11px;
font-weight:700;
line-height:1;
letter-spacing:2.6px;
text-transform:uppercase;
padding:8px 12px;
margin:0 0 10px;
}
.ocn .ocn__verdict--no{
background:transparent;
color:var(--ocn-ink)!important;
border:2px solid var(--ocn-ink);
padding:6px 10px;
}
/* ---------- lists ------------------------------------------------------- */
.ocn .ocn__list{margin:0 0 13px;padding:0;list-style:none}
.ocn .ocn__list > li{
position:relative;
padding:0 0 0 21px;
margin:0 0 10px;
font-size:16.5px;
font-weight:300;
line-height:1.66;
letter-spacing:.414px;
color:var(--ocn-body);
}
.ocn .ocn__list > li:last-child{margin-bottom:0}
.ocn .ocn__list > li::before{
content:"";
position:absolute;
left:0;
top:10px;
width:9px;
height:9px;
background:var(--ocn-surf);
}
.ocn .ocn__list--num{counter-reset:ocnn}
.ocn .ocn__list--num > li{counter-increment:ocnn;padding-left:28px}
.ocn .ocn__list--num > li::before{
content:counter(ocnn);
top:0;
width:auto;
height:auto;
background:none;
font-family:"Tenor Sans",var(--font-heading-family,serif);
font-size:13.5px;
font-weight:400;
line-height:2;
letter-spacing:.8px;
color:var(--ocn-sea);
}
/* ---------- worked examples --------------------------------------------- */
.ocn .ocn__cases{margin:13px 0 0;padding:0;list-style:none}
.ocn .ocn__case{
list-style:none;
background:var(--ocn-panel);
border:1px solid var(--ocn-hair);
border-left:4px solid var(--ocn-hair);
padding:13px 15px;
margin:0 0 11px;
font-size:15.5px;
font-weight:300;
line-height:1.6;
letter-spacing:.414px;
color:var(--ocn-body);
}
.ocn .ocn__case:last-child{margin-bottom:0}
.ocn .ocn__case--yes{border-left-color:var(--ocn-sea)}
.ocn .ocn__caselab{
display:block;
font-family:Outfit,var(--font-body-family,sans-serif);
font-size:10px;
font-weight:700;
line-height:1.5;
letter-spacing:2.6px;
text-transform:uppercase;
color:var(--ocn-mute);
margin:0 0 7px;
}
.ocn .ocn__case--yes .ocn__caselab{color:var(--ocn-sea)}
/* ---------- note -------------------------------------------------------- */
.ocn .ocn__note{
background:var(--ocn-tint);
border-left:4px solid var(--ocn-sea);
padding:clamp(14px,3.4vw,18px);
margin:14px 0 0;
}
.ocn .ocn__notelab{
display:block;
font-family:Outfit,var(--font-body-family,sans-serif);
font-size:10px!important;
font-weight:700!important;
line-height:1.5;
letter-spacing:2.6px!important;
text-transform:uppercase;
color:var(--ocn-sea)!important;
margin:0 0 8px;
}
.ocn .ocn__note p{font-size:15.5px!important;line-height:1.6!important}
/* ---------- figures ----------------------------------------------------- */
.ocn .ocn__figs{
background:var(--ocn-panel);
border:1px solid var(--ocn-hair);
border-top:3px solid var(--ocn-sea);
padding:clamp(18px,4.2vw,24px);
margin:clamp(28px,6vw,38px) 0 0;
}
.ocn .ocn__figslab{
display:block;
font-family:Outfit,var(--font-body-family,sans-serif);
font-size:10.5px!important;
font-weight:700!important;
line-height:1.5;
letter-spacing:3.9px!important;
text-transform:uppercase;
color:var(--ocn-sea)!important;
margin:0 0 15px;
padding:0 0 12px;
border-bottom:1px solid var(--ocn-hair-sea);
}
.ocn .ocn__figrow{
display:grid;
grid-template-columns:minmax(0,1fr) auto;
gap:5px 18px;
align-items:baseline;
padding:11px 0;
border-bottom:1px solid var(--ocn-hair);
}
.ocn .ocn__figrow:last-child{border-bottom:0;padding-bottom:0}
.ocn .ocn__figlab{
font-size:15.5px;
font-weight:300;
line-height:1.5;
letter-spacing:.414px;
color:var(--ocn-body);
}
.ocn .ocn__figval{
font-family:"Tenor Sans",var(--font-heading-family,serif);
font-size:14px;
font-weight:400;
line-height:1.55;
letter-spacing:1.1px;
text-transform:uppercase;
color:var(--ocn-ink);
text-align:right;
white-space:nowrap;
}
/* ---------- call to action: the store's own square green button --------- */
.ocn .ocn__ctawrap{margin:15px 0 0}
.ocn .ocn__cta{
display:inline-block;
background:var(--ocn-sea);
color:#FFFFFF!important; /* 7.95:1 on the deep sea */
font-family:Outfit,var(--font-body-family,sans-serif);
font-size:12.5px;
font-weight:700;
line-height:1;
letter-spacing:3.9px;
text-transform:uppercase;
text-decoration:none;
padding:16px 26px;
}
.ocn .ocn__cta:hover{background:var(--ocn-sea-deep);color:#FFFFFF!important}
/* ---------- sign-off ---------------------------------------------------- */
.ocn .ocn__signoff{
margin:clamp(28px,6vw,38px) 0 0;
padding:24px 0 0;
border-top:3px solid var(--ocn-sea);
text-align:center;
}
.ocn .ocn__sig{
font-family:"Tenor Sans",var(--font-heading-family,serif)!important;
font-size:16.5px!important;
font-weight:400!important;
line-height:1.4!important;
letter-spacing:2.2px!important;
text-transform:uppercase;
color:var(--ocn-ink)!important;
margin:16px 0 5px!important;
}
.ocn .ocn__sigrole{
display:block;
font-size:11px!important;
font-weight:300!important;
line-height:1.5;
letter-spacing:2.2px!important;
text-transform:uppercase;
color:var(--ocn-mute)!important;
}
/* ---------- foot links -------------------------------------------------- */
.ocn .ocn__foot{
margin:24px 0 0;
padding:18px 0 0;
border-top:1px solid var(--ocn-hair);
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:11px 24px;
}
.ocn .ocn__footlink{
font-family:Outfit,var(--font-body-family,sans-serif);
font-size:10.5px;
font-weight:700;
line-height:1.5;
letter-spacing:2.6px;
text-transform:uppercase;
color:var(--ocn-sea)!important;
text-decoration:none;
border-bottom:2px solid var(--ocn-hair-sea);
padding-bottom:4px;
}
.ocn .ocn__footlink:hover{border-bottom-color:var(--ocn-sea)}
/* ---------- >=769px: the theme's own breakpoint ------------------------- */
/* The ledger becomes two real columns: condition on the left, outcome on
the right, so a reader scans conditions down one edge. */
@media screen and (min-width:769px){
.ocn{font-size:17px}
.ocn p{font-size:17px!important}
.ocn .ocn__row{
grid-template-columns:minmax(0,15.5rem) minmax(0,1fr);
gap:0 clamp(24px,4vw,40px);
padding:24px 0;
}
.ocn .ocn__out{font-size:17px!important}
.ocn .ocn__list > li,.ocn .ocn__figlab{font-size:16.5px}
.ocn .ocn__case{font-size:16px}
.ocn .ocn__figval{font-size:15px}
.ocn .ocn__cond{font-size:17px!important}
}
Oceans — Refunds & Replacements
Written as conditions and outcomes. Find the row that matches your situation, and the right-hand column is what follows from it.
The standing terms
True of every order, whatever else applies
-
If
You are unhappy with a product that arrived as ordered
Then No refund
All sales are final, and refunds cannot be granted. Our product research team invests substantial time in selecting what we carry, choosing products that reflect current market demand, trends, or proven popularity. That work happens well before anything reaches the site.
Operating a small business carries significant costs. We therefore entrust our customers with researching a purchase thoroughly, and confirming the product suits their needs, before ordering. We work to make the product information on our website exhaustive of what a customer needs in order to decide whether to proceed — and to not proceed, where they think our product is not the one they are looking for.
-
If
A replacement is created for you
Then Nothing to send back
There is no return address, no return label and no restocking fee, because there are no returns. You keep whatever arrived, and the replacement is sent on the same shipping speed used on your original order.
When a replacement is created
Two conditions, and only these two
-
If
A completely different product arrived
Then Free replacement
Send three photos from different angles of the item you received to support@tryoceans.com, with your order number and the address you ordered with. Three angles is what lets us process the replacement on the first reply rather than the third.
-
Replaced You ordered the weighted plush and received a different product entirely. You ordered one item and a different item arrived.
-
Not replaced You ordered the weighted plush and feel it is not weighted enough. You ordered one size and feel you received another.
In the second pair the correct item arrived. That is the line, and it does not move.
-
If
Nothing has arrived 30 days after you ordered
Then Free replacement
Items not received after 30 days are eligible for a free replacement, again on the same shipping speed used on your original order. No photographs are needed for this one. The 30 days run from your purchase date.
Standard delivery is 7 to 20 business days in the United States and 10 to 25 business days internationally, and quiet tracking inside those windows is ordinary — the shipping policy sets out the four usual reasons.
Where it does not apply
Stated plainly, rather than left for you to discover
-
If
Tracking shows the parcel as delivered
Then Excluded
Shipments showing as delivered on the carrier's own website — USPS or Canada Post, for example — are excluded from the 30-day replacement above. Once a carrier records a delivery, the parcel has passed into their hands rather than ours.
Parcels marked delivered are commonly held at the branch, left with a neighbour, or placed somewhere at the address. Take the tracking number to your local post office first. If they cannot account for it, tell us what they said.
-
If
The correct product arrived and you have changed your mind
Then No replacement
Dissatisfaction with a correctly supplied product is not a ground for a refund or a replacement under this policy. It is named here because it is the case customers most often expect to be covered.
Stopping something before it happens
Both of these have a deadline, and both are easy to meet
-
If
You want to stop an order that has not shipped
Then Email us at once
Write to support@tryoceans.com with your order number as soon as you know. Orders ship within 1 to 5 business days, so the sooner the message reaches us, the better the chance it is still with our team rather than the carrier. Once a parcel has been handed over it cannot be recalled, and the standing terms above apply as written.
-
If
You want to end a VIP membership
Then 3 business days' notice
VIP membership is a recurring charge, not a one-time payment. It continues on its stated interval until you cancel, and each charge is taken automatically without a further prompt.
Any one of these reaches us: email support@tryoceans.com, reply to any order confirmation email, or use the membership cancellation form. A cancellation is honoured when it reaches us at least 3 business days before the next billing date.
Your confirmation email governs the amount
Your membership confirmation email states what you are charged and how often. That email is the one that counts. If any figure elsewhere on the site disagrees with it, write to us before your next billing date rather than after, and quote the email.
-
If
A membership charge has already been taken
Then Not reversed
Cancelling a membership stops the charges that have not happened yet. It does not undo one that has. The three-business-day notice above exists precisely so that this distinction never has to be tested.
The whole policy, in eight lines
Refunds grantedNone
Items you send back to usNone
Conditions that get a free replacementTwo
Photos we ask for — wrong productThree
Photos we ask for — never arrivedNone
Days before a missing order is replaced30 days
Replacements once tracking reads deliveredNone
Notice to cancel a membership3 business days
If your situation is not a row on this page, write to us anyway — working out which row it belongs in is our job, not yours: support@tryoceans.com, with your order number. Delivery windows and what to do while you wait are in the shipping policy.
Frida Anselm
Customer Care Lead — Oceans Shop®