.sample-route-card { min-width:0; padding:25px; background:var(--cp-surface); border:1px solid var(--cp-border); display:flex; flex-direction:column; }
.sample-route-card h3 { font:400 1.75rem/1.2 Georgia,serif; margin:12px 0; overflow-wrap:anywhere; }
.sample-route-card p { font-size:13px; line-height:1.8; color:var(--cp-text-muted); overflow-wrap:anywhere; }
.sample-route-summary strong { font-weight:700; color:var(--cp-accent); }
#sampleCards .sample-route-card--photo .sample-route-summary strong { color:inherit; }
.sample-route-copy { min-width:0; display:flex; flex-direction:column; flex:1; }
.sample-route-overline { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; font-size:13px; color:var(--cp-accent); }
.sample-route-days { font-weight:600; }
.sample-route-cities { color:var(--cp-accent)!important; }
.sample-route-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:auto; padding-top:18px; }
.sample-route-actions a,.sample-route-actions button { min-height:44px; display:inline-flex; align-items:center; }
.sample-route-actions [hidden] { display:none!important; }
.sample-route-match-reason { border-left:2px solid var(--cp-accent); padding-left:12px; }
.route-match-panel { padding:20px; margin-top:24px; border:1px solid var(--cp-border); background:var(--cp-surface-soft); }
.route-match-panel h4 { margin-top:0; font-size:18px; }
.route-match-panel>p { font-size:13px; line-height:1.8; }
.route-match-cards { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; margin-block:18px; }
.route-match-cards .sample-route-card h3 { font-size:1.3rem; }
#selectedJourney #removeRouteReference { margin-left:16px; }
@media(max-width:600px){.sample-route-card{padding:18px;}.route-match-panel{padding:14px;}#selectedJourney #removeRouteReference{margin-left:0;}}

/* Public inspiration cards use only the route's own licensed photograph.
   The intake form's purpose matches stay compact and intentionally text-only. */
#sampleCards .sample-route-card--featured { padding:0; border:0; border-radius:28px; overflow:hidden; background:var(--cp-surface); }
#sampleCards .sample-route-surface { position:relative; isolation:isolate; min-width:0; min-height:400px; padding:32px; display:flex; flex:1; background:var(--cp-surface-soft); }
#sampleCards .sample-route-figure { position:absolute; inset:0; margin:0; z-index:-1; background:var(--cp-bg-elevated); }
#sampleCards .sample-route-figure img { display:block; width:100%; height:100%; object-fit:cover; }
#sampleCards .sample-route-figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(16,27,25,.55) 0%,rgba(16,27,25,.64) 35%,rgba(16,27,25,.94) 100%); }
#sampleCards .sample-route-copy { position:relative; justify-content:flex-end; }
#sampleCards .sample-route-card--featured h3 { font:600 clamp(1.65rem,2.8vw,2.5rem)/1.13 Manrope,"Segoe UI",system-ui,sans-serif; letter-spacing:-.025em; margin:18px 0 12px; }
#sampleCards .sample-route-card--featured .sample-route-cities { font-size:14px; line-height:1.65; margin:0 0 10px; }
#sampleCards .sample-route-card--featured .sample-route-summary { max-width:66ch; font-size:14px; line-height:1.75; margin:0; }
#sampleCards .sample-route-card--featured .sample-route-overline { font-size:13px; }
#sampleCards .sample-route-card--featured .sample-route-days { border:1px solid currentColor; border-radius:999px; padding:6px 12px; }
#sampleCards .sample-route-card--featured .sample-route-actions { margin-top:0; padding-top:22px; gap:10px; }
#sampleCards .sample-route-card--featured .sample-route-actions :is(a,button) { min-height:44px; padding:10px 16px; border:1px solid var(--cp-border); border-radius:999px; color:var(--cp-text); background:var(--cp-surface); font:600 13px/1.45 Manrope,"Segoe UI",system-ui,sans-serif; text-decoration:none; text-align:center; justify-content:center; }
#sampleCards .sample-route-card--featured .sample-route-actions :is(a,button):hover:not(:disabled) { background:var(--cp-bg-elevated); }
#sampleCards .sample-route-card--featured .sample-route-actions :is(a,button):active:not(:disabled) { transform:scale(.98); }
#sampleCards .sample-route-card--photo :is(h3,.sample-route-overline,.sample-route-summary) { color:#fff; }
#sampleCards .sample-route-card--photo .sample-route-cities { color:#fff!important; }
#sampleCards .sample-route-card--photo .sample-route-days { background:rgba(11,31,28,.72); border-color:rgba(255,255,255,.55); }
#sampleCards .sample-route-card--photo .sample-route-actions :is(a,button) { background:#f6f4ed; color:#20332e; border-color:#f6f4ed; }
#sampleCards .sample-route-card--photo .sample-route-actions :is(a,button):hover:not(:disabled) { background:#fff; }
#sampleCards .sample-route-card--text { border:1px solid var(--cp-border); }
#sampleCards .sample-route-card--text .sample-route-surface { background:var(--cp-surface-soft); }
#sampleCards .sample-route-card--text h3 { color:var(--cp-text); }
#sampleCards .sample-route-card--text .sample-route-days { background:var(--cp-accent-soft); border-color:var(--cp-border); }
#sampleCards .sample-route-photo-status { font-size:13px; color:var(--cp-text-muted); line-height:1.6; margin:14px 0 0; }
#sampleCards .sample-route-card--featured :is(a,button,summary):focus-visible { outline:3px solid var(--cp-accent); outline-offset:4px; }
#sampleCards .sample-route-card--photo .sample-route-actions :is(a,button):focus-visible { outline-color:#fff; }
.route-match-cards .sample-route-card--compact { padding:20px; min-height:0; border-radius:10px; }
.route-match-cards .sample-route-card--compact .sample-route-copy h3 { font:600 1.25rem/1.35 Manrope,"Segoe UI",system-ui,sans-serif; letter-spacing:0; }
.route-match-cards .sample-route-card--compact .sample-route-summary { font-size:14px; }
@media(max-width:600px) {
  #sampleCards .sample-route-surface { min-height:400px; padding:24px; }
  #sampleCards .sample-route-card--featured h3 { font-size:1.8rem; line-height:1.15; }
  #sampleCards .sample-route-card--featured .sample-route-actions :is(a,button) { padding:10px 13px; }
  .route-match-cards .sample-route-card--compact { padding:16px; }
}
