);
}
function BookingBar({ cta, overlap = true }) {
const { openBooking } = useShell();
const [bar, setBar] = useState({ arrive: '2026-07-18', depart: '2026-07-25', guests: '4' });
const set = (k) => (e) => setBar((b) => ({ ...b, [k]: e.target.value }));
// Moving arrival drags an earlier/empty departure with it.
const onArrive = (e) => { const v = e.target.value; setBar((b) => { const next = { ...b, arrive: v }; if (v && (!b.depart || b.depart < v)) next.depart = v; return next; }); };
return (
);
}
function Hero({ t }) {
const { openBooking } = useShell();
const eyebrow = 'Self-catering · near Southwold, Suffolk';
const title = "Escape to The Gamekeeper's Cottage";
const lead = 'A cosy cottage hidden in a hundred-acre Suffolk wood — for slow weekends, woodland walks, birdsong and proper countryside quiet.';
if (t.hero === 'split') {
return (
{eyebrow}
{title}
{lead}
);
}
const aligned = t.hero === 'panel';
return (
{eyebrow}
{title}
{lead}
);
}
function Story() {
return (
The Cottage
A beautiful spot for a gorgeous stay
The original Gamekeeper's Cottage sits in the middle of a hundred-acre wood, in a wonderfully secluded position — with four acres of private woodland attached for you to roam. It's your own birdwatching venue: deer, pheasants, owls, nuthatches and woodpeckers all visit the feeders.
Inside it's warm and homely — a well-equipped kitchen, a cosy sitting room with a log burner and a separate dining room. It was Nick's family home as a teenager, and we keep it more like a home to share with you than a faceless rental.
Sleeps 53 bedroomsLog burner4 acres of private wood
);
}
function WhyStay() {
const items = [
['trees', 'Four acres of private wood', 'Yours to roam — no footpaths, no neighbours, just woodland'],
['bird', 'Birdwatching from the door', 'Feeders by the windows; deer, owls and woodpeckers visit'],
['flame', 'Log burner & cosy interiors', 'A proper countryside sitting room for slow evenings'],
['moon', 'Dark, star-filled skies', 'No light pollution — the Milky Way on clear nights'],
['car-front', 'Easy to reach, free parking', 'Near Southwold, Minsmere, Beccles & Aldeburgh'],
['heart-handshake', 'Book direct with Nick', 'No agency fees — better rates and a personal welcome'],
];
return (
{shots.slice(1, 5).map((s, i) => openLightbox(shots, i + 1)} />)}
);
}
function Reviews() {
const quotes = [
['One of the loveliest places we have ever stayed — cosy and characterful, with a stunning garden and an abundance of woodland wildlife. We had the whole place to ourselves, apart from the many birds at the feeders.', 'JP', 'A winter woodland paradise · Jan 2026'],
["Such a beautiful, secluded location. A week of sunny weather made it ideal for sitting out and listening to nature, a BBQ and the occasional glass of wine. We all loved it — just how life should be.", 'Mark Rawlinson', 'Idyllic · Sep 2025'],
['We saw deer, buzzard and woodpeckers in the wood, with plenty of birds on the feeders. Just stopping to listen to the sounds of nature was wonderful. I couldn’t recommend it more.', 'William Ripper', 'Perfect for Easter · Apr 2025'],
];
const live = useReviews();
const liveQuotes = (live || []).map((r) => [r.body, r.name, (r.title ? r.title + ' · ' : '') + reviewMonth(r.date), r.rating || 5]);
const shown = (liveQuotes.length ? liveQuotes : quotes.map(([q, who, when]) => [q, who, when, 5])).slice(0, 3);
const stats = reviewStats(live);
return (
Guest reviews
What our guests say
{stats.count > 0 && }
{shown.map(([q, who, when, rating], i) => (
“{q}”
{who} · {when}
))}
);
}
function ExploreTeaser() {
const cards = [
[IMG.stroll, 'Walks & birdwatching', 'Minsmere, Dunwich Heath and miles of quiet trails from the door.'],
[IMG.aerial, 'Southwold & the coast', 'The pier, the lighthouse, fish & chips and Adnams, 20 minutes away.'],
[IMG.pond, 'Proper Suffolk pubs', 'The White Hart, The Eels Foot and more — our local favourites.'],
];
return (