/* Alpine passes hub: the gravel side of the Alps, our Westalpen tours. One white panel
   (photo + body), then the shared tour cards (cp-tours-section.css draws the card). */

.ap-gv { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; background: #fff; border: 1px solid var(--ap-line); border-radius: 8px; }
.ap-gv__media { position: relative; min-height: 220px; background: var(--ap-closed); }
.ap-gv__media picture { position: absolute; inset: 0; display: block; }
.ap-gv__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ap-gv__body { padding: 26px 20px; }
.ap-gv__list { list-style: none; margin: 0 0 24px; padding: 0; }
.ap-gv__list li {
    display: flex; justify-content: space-between; gap: 12px; align-items: baseline;
    padding: 10px 0; border-bottom: 1px solid rgba(17, 18, 20, .08); font-size: 15px; font-weight: 700;
}
.ap-gv__list a:hover { text-decoration: underline; text-decoration-color: var(--ap-or); text-underline-offset: 3px; }
.ap-gv__list span { font-size: 13px; font-weight: 400; color: var(--ap-muted); text-align: right; font-variant-numeric: tabular-nums; }
.ap-gv__body .ap-btn { width: 100%; }

.ap-gravel__h3 { margin: 36px 0 14px; font-size: 19px; font-weight: 700; line-height: 1.3; scroll-margin-top: 100px; }
.ap-gravel__tours .cp-tour-card { height: 300px; }

@media (min-width: 600px) {
    .ap-gv__body .ap-btn { width: auto; }
}

@media (min-width: 900px) {
    .ap-gv { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
    .ap-gv__media { min-height: 420px; }
    .ap-gv__body { padding: 44px 44px 40px; }
    .ap-gravel__tours.cp-tours__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .ap-gravel__tours .cp-tour-card { height: 320px; }
}
