La casquette Stuburt Rosefinch offre un design moderne et une protection exceptionnelle contre les intempéries pour le golfeur moderne. Fabriquée en 100 % nylon, elle bénéficie d'une excellente imperméabilité, permettant à l'eau de perler et de vous garder au sec même sous une pluie fine. Son design élégant et ses performances en font l'accessoire idéal pour toutes vos parties.
Caractéristiques:
Résistant à l'eau : la construction en nylon durable repousse l'eau, gardant votre tête au sec et confortable.
Design moderne : un look contemporain qui complète n'importe quelle tenue de golf.
100 % nylon : léger et durable pour une utilisation longue durée.
Coupe confortable : Conçu pour un maintien sûr et confortable sur le parcours. Avec une bande élastique en D au dos et une fermeture auto-agrippante réglable.
Respirant : Aide à réguler la température et à prévenir la surchauffe.
Marque Stuburt : impression en silicone en relief sur le devant, mettant en valeur la qualité et le style de Stuburt.
1 / 11
Casquette Roselin£13.99
Select couleur
1
Made for British weatherThe days we actually play
Priced like it is your moneyNo tour budget to recover
Free UK delivery over £50Standard 3 to 5 working days
British since 1860Founded in Britain
Where the price difference actually goes
Where the price difference actually goes
Feature
This piece£13.99
Typical equivalent£30+
Does the job it is sold for
Yes, for Stuburt
Yes, 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 accessories at UK RRP.
Est. 1860 · Sergio Garcia’s Fireballs GC wear Stuburt on the LIV tour
`;
};
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.