/* Trace VTT — barre de caractéristiques, carte, profil altimétrique, bouton GPX. Charte Tracea. */

.ra-topo-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 12px;
	margin: 20px 0 26px;
}
.ra-topo-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 3px;
	padding: 14px 10px;
	background: #f3f6f2;
	border: 1px solid #e3e9e2;
	border-radius: 12px;
}
.ra-topo-stat-ico {
	color: #7D9275;
	font-size: 24px;
	width: 24px;
	height: 24px;
}
.ra-topo-stat-lbl {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .4px;
	color: #6b7280;
}
.ra-topo-stat-val {
	font-size: 17px;
	font-weight: 700;
	color: #1C5140;
	line-height: 1.2;
}

/* Carte + profil */
.ra-topo-carte-bloc { margin: 24px 0; }
.ra-topo-map {
	width: 100%;
	height: 440px;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #dcdcde;
	background: #eef2ee;
	z-index: 0;
}
.ra-topo-map-load {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: #6b7280;
	font-size: 14px;
}
.ra-topo-profil {
	margin-top: 10px;
	background: #fff;
	border: 1px solid #e3e9e2;
	border-radius: 12px;
	padding: 8px 10px;
}
.ra-topo-profil-svg { width: 100%; height: 160px; display: block; }
.ra-topo-profil-aire { fill: rgba(125, 146, 117, 0.18); stroke: none; }
.ra-topo-profil-ligne { fill: none; stroke: #1C5140; stroke-width: 2; vector-effect: non-scaling-stroke; }
.ra-topo-profil-txt { fill: #6b7280; font-size: 13px; font-family: inherit; }

/* Bouton GPX */
.ra-topo-actions { margin: 16px 0 0; }
.ra-topo-gpx-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #1C5140;
	color: #fff !important;
	text-decoration: none;
	font-weight: 600;
	padding: 11px 20px;
	border-radius: 999px;
	transition: background .15s ease;
}
.ra-topo-gpx-btn:hover { background: #16412f; }
.ra-topo-gpx-btn .dashicons { font-size: 18px; width: 18px; height: 18px; }

/* Retour archive */
.ra-topo-retour { margin: 30px 0 0; }
.ra-topo-retour a {
	color: #1C5140;
	font-weight: 600;
	text-decoration: none;
}
.ra-topo-retour a:hover { text-decoration: underline; }

@media (max-width: 600px) {
	.ra-topo-map { height: 320px; }
}

/* ---------------------------------------------------------------------------
 * Encart « Envie de le descendre avec un guide ? » : seul appel à l'action du
 * topo, posé après la description pour ne pas couper la lecture.
 * ------------------------------------------------------------------------- */
.ra-topo-cta{
	margin:32px 0 8px;
	padding:20px 22px;
	border:1px solid var(--ra-line,#E5E7EB);
	border-left:4px solid var(--ra-brand,#7D9275);
	border-radius:var(--ra-radius,12px);
	background:var(--ra-brand-soft,#EEF1EC);
}
.ra-topo-cta p{margin:0;}
.ra-topo-cta-titre{
	font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;
	color:var(--ra-muted,#6B7280);margin-bottom:6px!important;
}
.ra-topo-cta-sortie{
	font-size:1.125rem;font-weight:700;line-height:1.3;
	color:var(--ra-ink,#171717);
}
.ra-topo-cta-details{
	margin-top:4px!important;color:var(--ra-ink-2,#374151);font-size:.9375rem;
}
.ra-topo-cta-action{margin-top:14px!important;}
.ra-topo-cta-btn{
	display:inline-block;padding:11px 20px;border-radius:var(--ra-radius-sm,8px);
	background:var(--ra-accent,#DE9A32);color:var(--ra-on-accent,#fff);
	font-weight:600;text-decoration:none;line-height:1.2;
}
.ra-topo-cta-btn:hover,.ra-topo-cta-btn:focus{background:var(--ra-accent-dark,#C4842A);color:var(--ra-on-accent,#fff);}
.ra-topo-cta-btn:focus-visible{outline:2px solid var(--ra-ink,#171717);outline-offset:2px;}

/* ===========================================================================
 * Archive /topos/ : grille de cartes.
 * Reprend la charte des pages listing (Montez + Manrope, variables brand.css).
 * ========================================================================= */
.ra-topos-archive { max-width: 1320px; margin: 0 auto; padding: 24px 20px 56px; }

/* Le gabarit affiche son propre H1 : on masque celui du thème. */
body.ra-has-topos .entry-title,
body.ra-has-topos .page-header .entry-title,
body.ra-has-topos .page-header { display: none !important; }

.ra-topos-hero { text-align: center; margin: 8px 0 30px; }
.ra-topos-slogan {
	font-family: 'Montez', cursive; font-weight: 400; color: #54595F;
	font-size: clamp(26px, 4vw, 39px); line-height: 1; margin: 0 0 2px;
}
.ra-topos-h1 {
	font-family: 'Manrope', sans-serif; font-weight: 600; color: #54595F;
	font-size: clamp(30px, 5vw, 45px); line-height: 1.1; margin: 0;
}
.ra-topos-intro { margin: 10px auto 0; max-width: 62ch; color: var(--ra-muted, #6B7280); font-size: 15px; }

.ra-topos-grille {
	display: grid; gap: 22px;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	margin-top: 8px;
}

.ra-topo-carte {
	background: var(--ra-white, #fff);
	border: 1px solid var(--ra-line, #E5E7EB);
	border-radius: var(--ra-radius, 12px);
	overflow: hidden;
	transition: box-shadow .18s ease, transform .18s ease;
}
.ra-topo-carte:hover { box-shadow: 0 10px 28px -14px rgba(0,0,0,.35); transform: translateY(-2px); }
.ra-topo-carte-lien { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.ra-topo-carte-lien:focus-visible { outline: 2px solid var(--ra-brand, #7D9275); outline-offset: -2px; }

.ra-topo-carte-img { position: relative; aspect-ratio: 4 / 3; background: var(--ra-bg-soft, #F4F4F5); overflow: hidden; }
.ra-topo-carte-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ra-topo-carte-vide {
	display: block; width: 100%; height: 100%;
	background: linear-gradient(135deg, #DCE5DA 0%, #B9C9C4 55%, #8FA8A5 100%);
}
.ra-topo-carte-badge {
	position: absolute; top: 10px; left: 10px;
	font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	padding: 4px 9px; border-radius: 999px; color: #fff; background: #6B7280;
}
.ra-topo-diff-facile  .ra-topo-carte-badge { background: #42873F; }
.ra-topo-diff-sportif .ra-topo-carte-badge { background: #B0432C; }
.ra-topo-diff-extreme .ra-topo-carte-badge { background: #23282B; }

.ra-topo-carte-corps { padding: 14px 16px 4px; flex: 1 1 auto; }
.ra-topo-carte-commune {
	margin: 0 0 3px; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase;
	color: var(--ra-muted, #6B7280);
}
.ra-topo-carte-titre {
	font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 600; line-height: 1.25;
	margin: 0 0 10px; color: var(--ra-ink, #171717);
}
.ra-topo-carte-specs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ra-topo-carte-specs li {
	display: inline-flex; align-items: center; gap: 5px;
	font-size: 12.5px; color: var(--ra-ink-2, #374151);
	border: 1px solid var(--ra-line, #E5E7EB); border-radius: 999px; padding: 3px 10px;
}
.ra-topo-carte-specs .dashicons { font-size: 14px; width: 14px; height: 14px; color: var(--ra-brand, #7D9275); }
.ra-topo-carte-extrait { margin: 10px 0 0; font-size: 14px; line-height: 1.5; color: var(--ra-ink-2, #374151); }

.ra-topo-carte-pied {
	display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;
	margin: 0; padding: 12px 16px 15px; font-size: 12.5px;
}
.ra-topo-carte-guide {
	color: var(--ra-brand-dark, #5F7358); font-weight: 600;
	background: var(--ra-brand-soft, #EEF1EC); border-radius: 999px; padding: 3px 9px;
}
.ra-topo-carte-plus { margin-left: auto; font-weight: 600; color: var(--ra-ink, #171717); }
.ra-topo-carte:hover .ra-topo-carte-plus { color: var(--ra-brand-dark, #5F7358); }

.ra-topos-vide { text-align: center; color: var(--ra-muted, #6B7280); padding: 40px 0; }
.ra-topos-archive .navigation.pagination { margin-top: 34px; display: flex; justify-content: center; }
.ra-topos-archive .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.ra-topos-archive .page-numbers {
	padding: 7px 13px; border: 1px solid var(--ra-line, #E5E7EB); border-radius: 8px;
	text-decoration: none; color: var(--ra-ink-2, #374151);
}
.ra-topos-archive .page-numbers.current { background: var(--ra-brand, #7D9275); border-color: var(--ra-brand, #7D9275); color: #fff; }

@media (max-width: 480px) {
	.ra-topos-grille { grid-template-columns: 1fr; }
	.ra-topos-archive { padding: 16px 14px 40px; }
}

/* ---- Canyon interdit à la descente : bandeau (page topo) + badge (carte) ---- */
.ra-topo-interdit {
	margin: 0 0 22px; padding: 14px 18px;
	border: 1px solid #E4A9A5; border-left: 5px solid #B32D2E;
	background: #FBF0F0; border-radius: var(--ra-radius-sm, 8px);
}
.ra-topo-interdit-titre {
	margin: 0 0 4px !important;
	font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	font-size: .8125rem; color: #B32D2E;
}
.ra-topo-interdit-txt { margin: 0 !important; color: #6B2321; font-size: .9375rem; line-height: 1.5; }

.ra-topo-carte-interdit {
	position: absolute; top: 10px; left: 10px;
	font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	padding: 4px 10px; border-radius: 999px; color: #fff; background: #B32D2E;
}
.ra-topo-est-interdit .ra-topo-carte-img::after {
	content: ""; position: absolute; inset: 0;
	box-shadow: inset 0 0 0 3px #B32D2E;
}
