This polyester/elastane mix polo has a plain body which is accented to the cuff and colour using the same pattern print as seen on the Sergio polo. The Seville has a 3 button placket, like all polos in this micro Fireballs x Stuburt range, side vents and set in sleeves. The Fireballs logo sits to the left chest with the Stuburt "S" carried on the yolk of the polo short.
92% polyester, 8% spandex. Machine wash cold at 30°C. Do not bleach. Tumble dry low. No ironing needed — the collar holds its set.
1 / 4
Fireballs Seville Polo Shirt£59.99 £29.99
Colour
Size
1
What golfers say
Independent reviews, collected from Stuburt retailers.
4.8 / 5from 4 reviews
★★★★☆
Comfortable
Very comfortable and nice fit
Obioma Ozo · April 2023 · via Amazon
★★★★★
Not just for golf! Surprising!
I bought this polo as I’m an avid golfer and Stubert makes cool, affordable gear for a large man like me. It looks SO good though I’ve taken it on holiday and wore it when not playing golf. Here’s me, not playing golf, at the beach in the shirt. A surprising item.
Andy Lee · April 2022 · via Amazon
★★★★★
Nice golf top
My husband wanted a new gold top and chose this.
Mrs J McDermott · November 2020 · via Amazon
★★★★★
Very comfortable an easily washed.
Very pleased with item husband buys these tops to play golf in .
Mrs Joyce Hughes · July 2020 · via Amazon
Dry at the 18thMoisture-managed knit
Moves with your swing4-way stretch fabric
True to sizeRegular fit, not athletic
Est. 1860Founded in Britain
Where the price difference actually goes
Where the price difference actually goes
Feature
This polo£29.99
Typical polo£70+
Moisture-managed performance knit
Yes, for Stuburt
Yes, for the comparison polo
Cut for the swing
Yes, for Stuburt
No, for the comparison polo
No superstar mark-up in the price
Yes, for Stuburt
No, for the comparison polo
British sporting house since 1860
Yes, for Stuburt
No, for the comparison polo
Comparison against widely sold branded golf polos at UK RRP.
The fit between baggy and tight
Too tight. Squashes the middle.
This cut
Too baggy. Looks untidy.
Room through the middle, tidy across the shoulders, long enough to stay tucked in.
No sweat patch in the clubhouse
The knit pulls sweat away instead of holding it against you.
Never needs ironing
Wash it, hang it, wear it. No ironing board, no starch.
Passes any dress code
Smart enough for the clubhouse, never looks like sports kit.
The collar you never think about
Nothing to flatten at the turn, nothing to fold back down in the bar.
Est. 1860 · Darren Clarke won The Open in Stuburt shoes, 2011
`;
};
const bindCarousel = () => {
const carousel = section.querySelector('[data-carousel]');
const prev = section.querySelector('[data-direction="prev"]');
const next = section.querySelector('[data-direction="next"]');
if (!carousel) return;
const cardWidth = () => {
const c = carousel.querySelector('.stb-card');
if (!c) return 0;
return c.getBoundingClientRect().width + (parseFloat(getComputedStyle(carousel).gap) || 20);
};
const update = () => {
const max = carousel.scrollWidth - carousel.clientWidth;
// Edge fade: only where there's more to scroll (crisp resting edges).
carousel.toggleAttribute('data-fade-start', carousel.scrollLeft > 2);
carousel.toggleAttribute('data-fade-end', carousel.scrollLeft < max - 2);
if (!prev || !next) return;
prev.disabled = carousel.scrollLeft <= 2;
next.disabled = carousel.scrollLeft >= max - 2;
};
if (prev) prev.addEventListener('click', () => carousel.scrollBy({ left: -cardWidth(), behavior: 'smooth' }));
if (next) next.addEventListener('click', () => carousel.scrollBy({ left: cardWidth(), behavior: 'smooth' }));
carousel.addEventListener('scroll', update, { passive: true });
window.addEventListener('resize', update);
update();
};
/* Adding to cart is handled by the shared web component
(assets/stuburt-quick-pick.js) — it posts to /cart/add.js and dispatches the
`cart:update` event the mini-cart + cart bubble subscribe to, identical to
the SS26 carousel and the collection page. */
const load = async () => {
const handles = getViewed().filter(h => h && h !== currentHandle).slice(0, limit);
if (!handles.length) return; // stays hidden
const results = await Promise.all(
handles.map(h => fetch(`/products/${encodeURIComponent(h)}.js`, { headers: { Accept: 'application/json' }})
.then(r => r.ok ? r.json() : null).catch(() => null))
);
const valid = results.filter(Boolean);
if (!valid.length) return;
const carousel = section.querySelector('[data-carousel]');
carousel.innerHTML = valid.map(cardHTML).join('');
section.removeAttribute('hidden');
bindCarousel();
};
// Clear all: wipe the stored history and hide the section
const bindClearAll = () => {
const btn = section.querySelector('[data-clear-all]');
if (!btn) return;
btn.addEventListener('click', () => {
setViewed([]);
section.setAttribute('hidden', '');
});
};
bindClearAll();
// If we already have stored handles, reveal section so skeletons show while fetching
if (getViewed().filter(h => h && h !== currentHandle).length > 0) {
section.removeAttribute('hidden');
}
load();
})();
Cookie consent
We and our partners use cookies to personalise your experience, show relevant ads and analyse traffic. We won’t use them for these purposes unless you accept. Privacy Policy.