.entry-content > main { margin-top: -18.208px !important; }.entry-content > style,.entry-content > p:empty { display: none !important; margin: 0 !important; }:root {
–ink: #142b30;
–paper: #f4f0e7;
–paper2: #e9e2d5;
–sea: #006d7b;
–deep: #073e47;
–coral: #e85c3e;
–sun: #e7b758;
–line: rgba(20, 43, 48, .18);
–serif: Georgia, “Times New Roman”, serif;
–sans: “Arial Narrow”, “Helvetica Neue”, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(–paper); color: var(–ink); font: 17px/1.65 var(–sans); overflow-x: hidden; }
img { background: #d8e3e0; display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 1.2rem; }
figure { margin: 0; }
h1, h2, h3 { margin: 0; font-family: var(–serif); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
h2 { font-size: clamp(3rem, 6vw, 6.5rem); }

.pad { padding-left: clamp(24px, 7vw, 112px); padding-right: clamp(24px, 7vw, 112px); }
.eyebrow { color: var(–coral); font-size: .72rem; font-weight: 800; letter-spacing: .16em; margin-bottom: 26px; text-transform: uppercase; }
.eyebrow.pale { color: #fff; }
.lead { font: clamp(1.45rem, 2.4vw, 2.25rem)/1.42 var(–serif); }
.stars { color: var(–sun); display: block; font-size: .85rem; letter-spacing: .18em; }

footer b {
align-items: center; background: var(–coral); color: white; display: inline-flex;
font-size: .78rem; height: 30px; justify-content: center; letter-spacing: 0; width: 30px;
}
footer a:hover { text-decoration: underline; text-underline-offset: 5px; }

.hero { color: white; height: min(900px, 100vh); min-height: 630px; overflow: hidden; position: relative; }
.hero > img { height: 100%; object-fit: cover; transform: scale(1.01); }
.hero-shade {
background: linear-gradient(180deg, transparent 25%, rgba(4,23,28,.82) 100%),
linear-gradient(90deg, rgba(4,23,28,.4), transparent 65%);
inset: 0; position: absolute;
}
.coordinates { font-size: .66rem; font-weight: 800; left: clamp(24px,5vw,76px); letter-spacing: .13em; position: absolute; top: 35px; }
.hero-copy { bottom: clamp(82px,11vh,130px); left: clamp(24px,5vw,76px); max-width: 1200px; position: absolute; }
.hero h1 { font-size: clamp(4.2rem,10.5vw,10.6rem); letter-spacing: -.065em; line-height: .8; }

.scroll { align-items: center; bottom: 28px; display: flex; font-size: .66rem; font-weight: 800; gap: 10px; letter-spacing: .12em; position: absolute; right: clamp(24px,5vw,76px); text-transform: uppercase; }
.scroll i { align-items: center; border: 1px solid #fff9; border-radius: 50%; display: inline-flex; font-style: normal; height: 34px; justify-content: center; width: 34px; }

.route { background: #fffdf8; display: grid; grid-template-columns: 3fr 1.3fr; }
.facts { display: grid; grid-template-columns: repeat(4,1fr); }
.fact { border-right: 1px solid var(–line); display: flex; flex-direction: column; min-height: 190px; padding: 34px clamp(20px,3vw,46px); }
.fact span, .score p, dt { font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.fact strong { font: 400 clamp(1.8rem,3vw,3.1rem)/1 var(–serif); margin: auto 0 10px; }
.fact small { color: #596b6d; font-size: .75rem; }
.score { align-items: center; background: var(–deep); color: white; display: grid; gap: 24px; grid-template-columns: auto 1fr; padding: 30px clamp(24px,4vw,55px); }
.score-ring { align-items: center; background: conic-gradient(var(–sun) 0 342deg, #ffffff22 342deg); border-radius: 50%; display: flex; flex-direction: column; height: 110px; justify-content: center; position: relative; width: 110px; }
.score-ring:after { background: var(–deep); border-radius: 50%; content: “”; inset: 6px; position: absolute; }
.score-ring * { position: relative; z-index: 1; }
.score-ring strong { font: 400 2.2rem/1 var(–serif); }
.score-ring span { font-size: .58rem; }
.score p { line-height: 1.6; margin: 10px 0 0; }
.route-link { align-items: center; border-bottom: 1px solid #ffffff99; display: inline-flex; font-size: .67rem; font-weight: 800; gap: 8px; letter-spacing: .1em; margin-top: 14px; padding-bottom: 3px; text-transform: uppercase; }
.route-link:hover { border-color: var(–sun); color: var(–sun); }

.opening { display: grid; gap: clamp(35px,7vw,120px); grid-template-columns: 100px 1fr; padding-bottom: clamp(90px,11vw,160px); padding-top: clamp(90px,11vw,160px); }
.section-no { color: var(–coral); font-family: var(–serif); }
.section-no:after { background: var(–coral); content: “”; display: block; height: 1px; margin-top: 10px; width: 52px; }
.opening h2 { margin-bottom: 52px; max-width: 1050px; }
.opening .lead { max-width: 920px; }
.columns { display: grid; gap: clamp(28px,5vw,80px); grid-template-columns: repeat(2,1fr); margin-top: 55px; }
.columns p { margin: 0; }

.panorama img { height: min(62vw,780px); object-fit: cover; }
.panorama figcaption { border-bottom: 1px solid var(–line); display: grid; gap: 24px; grid-template-columns: 1fr 2fr; padding: 22px 0 60px; }
figcaption span { font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
figcaption p { font: 1.2rem/1.4 var(–serif); margin: 0; }

.story { align-items: start; display: grid; gap: clamp(50px,8vw,140px); grid-template-columns: .95fr 1.05fr; padding-bottom: clamp(100px,13vw,190px); padding-top: clamp(100px,13vw,190px); }
.story h2 { font-size: clamp(3rem,5vw,5.2rem); margin-bottom: 44px; }
.story figure img { aspect-ratio: auto; height: auto; object-fit: contain; }
.story figure figcaption { border-left: 1px solid var(–coral); font-size: .72rem; margin-top: 18px; padding-left: 14px; }
blockquote { border-top: 1px solid var(–line); color: var(–sea); font: italic clamp(1.5rem,2.4vw,2.3rem)/1.35 var(–serif); margin: 55px 0 0; padding-top: 30px; }

.gr-band { align-items: center; background: var(–coral); color: white; display: grid; gap: clamp(30px,5vw,90px); grid-template-columns: auto 1fr 1.5fr; padding: 62px clamp(24px,7vw,112px); }
.gr-marker { background: white; border: 8px solid white; display: grid; gap: 7px; height: 90px; padding: 7px; width: 70px; }
.gr-marker i:first-child { background: white; border: 1px solid #142b3030; }
.gr-marker i:last-child { background: #c4252c; }
.gr-band .eyebrow { margin-bottom: 8px; opacity: .75; }
.gr-band h2 { font-size: clamp(3rem,5vw,5rem); }
.gr-band > p { border-left: 1px solid #ffffff66; margin: 0; padding-left: clamp(24px,4vw,60px); }

.photo-story { display: grid; gap: 22px; grid-template-columns: repeat(12,1fr); padding-bottom: clamp(90px,10vw,150px); padding-top: clamp(90px,10vw,150px); }
.photo-story .water { grid-column: 1/7; }
.photo-story .bird { grid-column: 8/13; margin-top: 120px; }
.photo-story .cove { grid-column: 3/11; margin-top: 70px; }
.photo-story img { height: clamp(330px,43vw,660px); object-fit: cover; }
.photo-story .bird img { height: clamp(330px,36vw,540px); }
.photo-story figcaption { display: grid; gap: 20px; grid-template-columns: 1fr 2fr; padding-top: 15px; }
.photo-story figcaption p { font-size: 1rem; }

.wind { align-items: start; border-bottom: 1px solid var(–line); border-top: 1px solid var(–line); display: grid; gap: clamp(30px,6vw,90px); grid-template-columns: 1.2fr 1fr auto; padding-bottom: 90px; padding-top: 90px; }
.wind h2 { font-size: clamp(2.8rem,4.4vw,4.8rem); }
.wind > div:nth-child(2) { padding-top: 44px; }
.wind-mark { align-items: center; border: 1px solid var(–coral); border-radius: 50%; color: var(–coral); display: flex; font-size: .7rem; font-weight: 800; height: 100px; justify-content: center; letter-spacing: .12em; width: 100px; }

.lighthouse { background: var(–deep); color: white; display: grid; grid-template-columns: 1.3fr 1fr; }
.lighthouse-photo { min-height: 900px; position: relative; }
.lighthouse-photo img { height: 100%; object-fit: cover; }
.lighthouse-photo > span { background: var(–paper); bottom: 0; color: var(–ink); font-size: .65rem; font-weight: 800; left: 0; letter-spacing: .14em; padding: 18px 24px; position: absolute; text-transform: uppercase; }
.lighthouse-copy { padding: clamp(70px,9vw,140px) clamp(30px,6vw,90px); }
.lighthouse-copy h2 { font-size: clamp(3.4rem,6vw,6.7rem); margin-bottom: 44px; }
.lighthouse-copy .lead { color: #c9e4e1; }
.lighthouse-copy dl { border-bottom: 1px solid #ffffff33; border-top: 1px solid #ffffff33; display: grid; grid-template-columns: repeat(3,1fr); margin: 48px 0 28px; padding: 24px 0; }
.lighthouse-copy dt { color: #90b8b9; margin-bottom: 8px; }
.lighthouse-copy dd { font: 1.05rem var(–serif); margin: 0; }
.history { color: #90b8b9; font-size: .8rem; line-height: 1.55; }

.destination { align-items: center; display: grid; gap: clamp(50px,8vw,130px); grid-template-columns: .8fr 1.2fr; padding-bottom: clamp(100px,13vw,190px); padding-top: clamp(100px,13vw,190px); }
.destination .section-no { margin-bottom: 65px; }
.destination h2 { font-size: clamp(3.5rem,6vw,6.7rem); margin-bottom: 38px; }
.destination figure img { aspect-ratio: auto; height: auto; object-fit: contain; }
.destination figcaption { font-size: .7rem; margin-top: 14px; }

.nature { align-items: start; background: var(–paper2); display: grid; gap: clamp(50px,8vw,130px); grid-template-columns: 1.2fr .8fr; padding-bottom: clamp(80px,9vw,130px); padding-top: clamp(80px,9vw,130px); }
.nature > img { aspect-ratio: auto; height: auto; object-fit: contain; }
.nature h2 { font-size: clamp(3rem,5vw,5.6rem); margin-bottom: 40px; }
.nature ul { list-style: none; margin: 40px 0 0; padding: 0; }
.nature li { border-top: 1px solid var(–line); display: grid; font: 1.25rem var(–serif); grid-template-columns: 50px 1fr; padding: 12px 0; }
.nature li span { color: var(–coral); font: 800 .65rem var(–sans); letter-spacing: .1em; padding-top: 5px; }

.experience { padding-bottom: clamp(100px,12vw,170px); padding-top: clamp(100px,12vw,170px); }
.experience h2 { max-width: 1120px; }
.columns.three { grid-template-columns: repeat(3,1fr); }

.tips { background: var(–sea); color: white; }
.tips-head { padding-bottom: 68px; padding-top: 88px; }
.tips-head h2 { font-size: clamp(4rem,8vw,8rem); }
.tips-grid { border-top: 1px solid #ffffff55; display: grid; grid-template-columns: repeat(5,1fr); }
.tip { border-right: 1px solid #ffffff55; min-height: 280px; padding: 30px; }
.tip > span { color: #8fd1cf; font-size: .64rem; font-weight: 800; letter-spacing: .12em; }
.tip h3 { font-size: 2rem; margin: 70px 0 20px; }
.tip p { color: #d4eeec; font-size: .84rem; line-height: 1.5; margin: 0; }

.route-highlights { background: var(–paper2); display: grid; gap: clamp(45px,8vw,130px); grid-template-columns: 1.35fr .85fr; padding-bottom: clamp(70px,8vw,110px); padding-top: clamp(70px,8vw,110px); }
.verdict-list { border-top: 3px solid var(–ink); padding-top: 25px; }
.verdict-list.plus { border-color: var(–coral); }
.verdict-list h3 { font-size: 1.8rem; line-height: 1.15; margin-bottom: 30px; }
.verdict-list ul { list-style: none; margin: 0; padding: 0; }
.verdict-list li { border-top: 1px solid var(–line); padding: 12px 0 12px 25px; position: relative; }
.verdict-list li:before { color: var(–coral); content: “+”; left: 0; position: absolute; }
.verdict-list.minus li:before { color: var(–ink); content: “–”; }

.photo-story,
.wind,
.lighthouse,
.destination,
.nature,
.experience,
.tips {
content-visibility: auto;
contain-intrinsic-size: auto 900px;
}

footer { align-items: end; background: var(–ink); color: white; display: flex; justify-content: space-between; min-height: 220px; padding: 55px clamp(24px,7vw,112px); }
footer > div { align-items: center; display: flex; gap: 18px; }
footer p { color: #aec2c3; font-size: .76rem; margin: 0; }
footer a { font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 1050px) {
.route, .lighthouse { grid-template-columns: 1fr; }
.score { min-height: 170px; }
.lighthouse-photo { min-height: auto; }
.lighthouse-photo img { aspect-ratio: 16/10; }
.tips-grid { grid-template-columns: repeat(2,1fr); }
.tip:last-child { grid-column: 1/-1; min-height: 220px; }
}

@media (max-width: 760px) {
body { font-size: 16px; }
.hero { min-height: 650px; }
.hero h1 { font-size: clamp(4rem,18vw,6.6rem); line-height: .84; }

.scroll { left: 24px; right: auto; }
.facts { grid-template-columns: repeat(2,1fr); }
.fact { border-bottom: 1px solid var(–line); min-height: 150px; }
.opening { gap: 42px; grid-template-columns: 1fr; }
.columns, .columns.three { grid-template-columns: 1fr; margin-top: 40px; }
.panorama { padding: 0; }
.panorama figcaption { margin: 0 24px; }
.panorama figcaption, .photo-story figcaption { grid-template-columns: 1fr; }
.story, .destination, .nature { grid-template-columns: 1fr; }
.story > div { order: 1; }
.gr-band { grid-template-columns: auto 1fr; }
.gr-band > p { border-left: 0; border-top: 1px solid #ffffff66; grid-column: 1/-1; padding: 28px 0 0; }
.photo-story .water, .photo-story .bird, .photo-story .cove { grid-column: 1/-1; margin-top: 25px; }
.wind { grid-template-columns: 1fr; }
.wind > div:nth-child(2) { padding-top: 0; }
.wind-mark { height: 80px; width: 80px; }
.lighthouse-copy dl { grid-template-columns: 1fr; }
.lighthouse-copy dl div + div { border-top: 1px solid #ffffff22; margin-top: 15px; padding-top: 15px; }
.nature > img { order: 2; }
.tips-grid { grid-template-columns: 1fr; }
.tip, .tip:last-child { border-bottom: 1px solid #ffffff55; grid-column: auto; min-height: 220px; }
.tip h3 { margin-top: 45px; }
.route-highlights { grid-template-columns: 1fr; }
footer { align-items: start; flex-direction: column; gap: 50px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.gr92-actions{align-items:center;background:#173c3a;box-sizing:border-box;color:#fff;display:grid;gap:22px;grid-template-columns:96px 1fr;margin:0;min-height:112px;padding:22px clamp(24px,6vw,92px);text-decoration:none;width:100%}.gr92-actions b{align-items:center;border:1px solid #ffffff88;border-radius:50%;display:flex;font-size:.72rem;height:58px;justify-content:center;letter-spacing:.12em;width:58px}.gr92-actions span{font-family:Arial,sans-serif;font-size:clamp(1rem,1.4vw,1.22rem);font-weight:800}.gr92-actions small{display:block;font-size:.72rem;font-weight:500;letter-spacing:.04em;margin-top:5px;opacity:.78}.gr92-actions:hover{background:#245552;color:#fff}main .hero{color:#fff!important;isolation:isolate;position:relative!important}main .hero-shade{z-index:1}main .coordinates,main .hero-copy,main .scroll{color:#fff!important;z-index:2}@media(max-width:760px){.gr92-actions{grid-template-columns:64px 1fr;min-height:96px;padding:18px 24px}.gr92-actions b{height:50px;width:50px}}

The bay and mountains at Llançà

42.34° N  ·  3.20° E

GR 92 · Sender del Mediterrani

From Llançà to
Port de la Selva

↓ Read the walking story

Our distance7.1 kmfrom the holiday home
Full route8.9 kmfrom Llançà station
RegionGironaAlt Empordà, Catalonia
RouteGR 92Camí de Ronda
95/100
★★★★★

One of the most beautiful coastal walks in Catalonia.

GPXRoute and GPX on KomootView or download the coastal walk ↗

This makes the route special

  • Spectacular coastal landscapes
  • Lots of variety
  • Historic lighthouse
  • Clear Mediterranean Sea
  • Good signage
  • Authentic fishing villages

To take into account

  • Little shade
  • On warm days it can get quite hot
01

The first meters

Directly onto the most beautiful part of the coast

During our holiday on the Costa Brava we wanted to walk part of the famous GR 92. The route between Llançà and Port de la Selva is without a doubt one of the highlights.

Many directions start at Llançà train station. Our holiday home was about two kilometers away. We skipped the village and ended up almost directly on the beautiful coastal path.

From the first meters you are surrounded by jagged rocks, azure blue water and the smell of pine trees and rosemary. Behind every bend a new view awaits.

Advertentie
Panorama over the Costa Brava
The Costa Brava

Gray and red rocks, with a sea that turns from deep blue to bright turquoise.

A rugged coast

Shaped by wind and water

Costa Brava literally means rugged coast. Steep granite cliffs have been eroded over millions of years by wind, rain and the Mediterranean Sea. This created hundreds of small bays, hidden beaches and jagged rock formations.

The contrast is special. When the sun is high, the water seems almost tropical. One moment you are walking high above the sea, a little later you descend to a small pebble beach.

“No kilometer is the same. Every bend opens up a new postcard image.”

The Mediterranean Coastal Path
The Camí de Ronda follows the edge of the sea.

Marked red and white

The GR 92

The Sender del Mediterrani connects nature reserves, fishing villages and historic towns along the Spanish Mediterranean coast. On this section, almost the entire route runs directly along the sea. The signage is excellent.

Turquoise sea water between rocks
01 — Hidden water

Natural coves invite you to swim and snorkel.

A cormorant on the rocks
02 — Life on the rocks

Seagulls, cormorants and falcons feel at home on this coast.

A small bay with swimmers
03 — Small bays

Some beaches are only accessible on foot and remain remarkably quiet.

The wind from the north

The Tramuntana

This powerful north wind blows from the Pyrenees towards the sea and has influenced the landscape, vegetation and the construction of coastal villages for centuries.

During our walk the sea was as smooth as glass. When the Tramuntana blows, the coast takes on a completely different character with high waves and splashing water.

N → Z

Advertentie
S'Arenella LighthouseEl Far de S'Arenella

The highlight

S'Arenella Lighthouse

A beautiful place to rest, search the sea and take photos.

Before there was a lighthouse here, a watchtower guarded the coast against corsairs and Saracen pirates. The watchtowers formed a network through which residents could warn each other.

Growing shipping created a need for better navigation at the end of the nineteenth century. After years of preparation, the light went on on November 16, 1913.

In use
16.11.1913
Height
± 22 m above sea
Watch over
Cap de Creus

During the Spanish Civil War there were anti-aircraft positions here. During the Second World War, sea mines regularly washed up on the rocks under the lighthouse.

02

The destination

Port de la Selva

A white fishing village that lies like a ribbon around the clear blue bay.

Its history goes back to the tenth century. For a long time, fishermen only came there temporarily for their boats and nets; later the settlement grew into a real village.

Today the harbor is the cozy center. Restaurants and terraces await you along the boulevard — perfect for fresh fish or a cool drink after the walk.

Port de la Selva on the bay
Arrival with a view of the white harbor front.
Snorkeler in crystal clear sea water

Flora

Mediterranean scents, crystal clear water

Typical Mediterranean vegetation grows between the rocks. With a bit of luck, seagulls, cormorants, falcons or even an osprey will fly overhead.

  • 01Rosemary
  • 02Thyme
  • 03Lavender
  • 04Aleppo pines
  • 05Holm oaks
  • 06Succulents

My experience

Peace, space and a constant view of the sea

Despite the popularity of the Costa Brava, we hardly encountered anyone on long stretches.

The variety of cliffs, bays and viewpoints means that every bend reveals something new.

Because we started two kilometers after Llançà, we immediately arrived at the most beautiful part. Not a wrong choice.

For the backpack

Practical tips

01

Water

Take enough with you; There are hardly any facilities along the way.

02

Shoes

Wear good hiking shoes for the uneven rocks.

03

Swim stop

Pack swimwear in your backpack for the clear bays.

04

Timing

Leave early to avoid the heat.

05

Weather

Check the Tramuntana; strong winds make the route more difficult.