/* Rutaplanner — base visual (restyle 2026) */

/* Fuentes servidas desde la propia web (RGPD). Los .woff2 van en ../fonts/ */
@font-face{font-family:'Space Grotesk';font-weight:300 700;font-style:normal;font-display:swap;src:url('../fonts/space-grotesk-latin.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:100 900;font-style:normal;font-display:swap;src:url('../fonts/inter-latin.woff2') format('woff2')}

:root{
  --rp-bg:#F7F6F1;
  --rp-surface:#FFFFFF;
  --rp-ink:#17201C;
  --rp-muted:#4A554F;
  --rp-line:#E2E0D8;
  --rp-input:#D6D3C8;
  --rp-chip:#F0EEE7;
  --rp-green:#2E6A4C;
  --rp-green-dark:#224F39;
  --rp-green-tint:#E6EFE9;
  --rp-orange:#D9692A;
  --rp-day3:#2F5D8A;
  --rp-day4:#7A4E8C;
  --rp-day5:#8A6A1F;
  --rp-danger:#A1361A;
  --rp-radius-sm:10px;
  --rp-radius:12px;
  --rp-radius-card:16px;
  --rp-radius-lg:20px;
  --rp-font-head:'Space Grotesk',system-ui,sans-serif;
  --rp-font-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}

/* Base */
body{background:var(--rp-bg);color:var(--rp-ink);font-family:var(--rp-font-body);font-size:16px;line-height:1.6}
h1,h2,h3,h4,h5,h6,.sp-megamenu-parent>li>a{font-family:var(--rp-font-head);font-weight:700;color:var(--rp-ink);letter-spacing:-.01em}
p,li{color:var(--rp-ink)}
.text-muted,small{color:var(--rp-muted)!important}
a{color:var(--rp-green);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--rp-green-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--rp-green);outline-offset:2px}
.container,.container-lg,.container-xl{max-width:1200px}

/* Botones (44 px mínimo) */
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:var(--rp-radius);font-family:var(--rp-font-body);font-weight:600;transition:background .15s,border-color .15s}
.btn-primary{background:var(--rp-green);border-color:var(--rp-green);color:#fff}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:var(--rp-green-dark)!important;border-color:var(--rp-green-dark)!important;color:#fff}
.btn-secondary,.btn-outline-secondary,.btn-default{background:var(--rp-surface);border:1px solid var(--rp-input);color:var(--rp-ink)}
.btn-secondary:hover,.btn-outline-secondary:hover,.btn-default:hover{background:var(--rp-chip);border-color:var(--rp-input);color:var(--rp-ink)}
.btn-danger{background:var(--rp-danger);border-color:var(--rp-danger);color:#fff}

/* Chips */
.rp-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:28px;padding:.125rem .75rem;border-radius:999px;background:var(--rp-chip);color:var(--rp-ink);font-size:.875rem;font-weight:500}
.rp-chip--green{background:var(--rp-green-tint);color:var(--rp-green-dark)}

/* Tarjetas */
.card,.rp-card{background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:var(--rp-radius-card);box-shadow:none}
.card-body{padding:1.25rem}
.rp-card--lg{border-radius:var(--rp-radius-lg)}

/* Formularios */
.form-control,.form-select,input[type=text],input[type=email],input[type=password],input[type=search],select,textarea{min-height:44px;border:1px solid var(--rp-input);border-radius:var(--rp-radius-sm);background:var(--rp-surface);color:var(--rp-ink);font-family:var(--rp-font-body)}
.form-control:focus,.form-select:focus{border-color:var(--rp-green);box-shadow:0 0 0 3px var(--rp-green-tint)}
label,.form-label{font-weight:600;color:var(--rp-ink)}

/* Colores por día (líneas y marcadores, no texto) */
.rp-day-1{--rp-day:var(--rp-green)}
.rp-day-2{--rp-day:var(--rp-orange)}
.rp-day-3{--rp-day:var(--rp-day3)}
.rp-day-4{--rp-day:var(--rp-day4)}
.rp-day-5{--rp-day:var(--rp-day5)}

/* Reduce el movimiento si el usuario lo pide */
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Cabecera */
#sp-header{background:var(--rp-surface);border-bottom:1px solid var(--rp-line);box-shadow:none;height:auto;min-height:72px}
#sp-header .logo img{max-height:44px;width:auto}
.sp-megamenu-parent>li>a,.sp-megamenu-parent>li>span,.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a{font-family:var(--rp-font-body)!important;font-weight:600;font-size:16px!important;color:var(--rp-ink);min-height:44px;display:inline-flex;align-items:center}
.sp-megamenu-parent>li:hover>a,.sp-megamenu-parent>li.active>a,.sp-megamenu-parent>li.active:hover>a{color:var(--rp-green)!important}
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner{background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:var(--rp-radius);box-shadow:0 8px 24px rgba(23,32,28,.08)}
.rp-avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--rp-green-tint);color:var(--rp-green-dark);font-weight:700}

/* Pie */
#sp-bottom{background:var(--rp-surface);border-top:1px solid var(--rp-line)}
#sp-footer{background:var(--rp-ink)}
#sp-footer,#sp-footer a,#sp-footer .sp-copyright{color:#E9EAE5}
#sp-footer a{text-decoration:underline}
#sp-footer a:hover{color:#fff}
#sp-bottom a{color:var(--rp-ink)}
#sp-bottom ul.menu{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0;padding:0}
#sp-bottom ul.menu a{display:inline-flex;align-items:center;min-height:44px}

/* Banner de cookies (TermsFeed) */
#cc-main,.termsfeed-com---nb,.termsfeed-com---palette-light.termsfeed-com---nb{font-family:var(--rp-font-body)!important;border-radius:var(--rp-radius-card)!important;border:1px solid var(--rp-line)!important;box-shadow:0 8px 24px rgba(23,32,28,.12)!important}
.termsfeed-com---nb .cc-nb-main-container{background:var(--rp-surface)!important;color:var(--rp-ink)!important}
.termsfeed-com---nb .cc-nb-title{font-family:var(--rp-font-head)!important;color:var(--rp-ink)!important}
.termsfeed-com---nb .cc-nb-text{color:var(--rp-muted)!important}
.termsfeed-com---nb .cc-nb-okagree,.termsfeed-com---nb .cc-nb-reject,.termsfeed-com---nb .cc-nb-changep{min-height:44px;border-radius:var(--rp-radius)!important;font-weight:600!important}
.termsfeed-com---nb .cc-nb-okagree{background:var(--rp-green)!important;color:#fff!important}
.termsfeed-com---nb .cc-nb-reject,.termsfeed-com---nb .cc-nb-changep{background:var(--rp-surface)!important;color:var(--rp-ink)!important;border:1px solid var(--rp-input)!important}

/* Zona de usuario: Mis rutas y detalle */
.rp-zone{max-width:1200px;margin:0 auto;padding:32px 16px 64px}
.rp-zone-title{font-size:clamp(32px,5vw,44px);margin:0 0 12px}
.rp-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.rp-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:24px}
.rp-toolbar-search{flex:1 1 260px}
.rp-filters{display:flex;gap:6px}
.rp-filter{min-height:44px;padding:8px 16px;border:1px solid var(--rp-input);border-radius:999px;background:var(--rp-surface);font:inherit;font-weight:500;cursor:pointer}
.rp-filter.is-on{background:var(--rp-green-tint);border-color:var(--rp-green);color:var(--rp-green-dark);font-weight:600}
.rp-sort select{min-width:170px}
.rp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.rp-route{display:flex;flex-direction:column;background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:var(--rp-radius-card);overflow:hidden}
.rp-route[hidden]{display:none}
.rp-route-map{display:block;background:var(--rp-green-tint);aspect-ratio:320/140}
.rp-route-map svg{display:block;width:100%;height:100%}
.rp-route-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.rp-route-title{font-size:20px;margin:0}
.rp-route-title a{color:var(--rp-ink);text-decoration:none}
.rp-route-title a:hover{color:var(--rp-green)}
.rp-route-way{margin:0;color:var(--rp-muted)}
.rp-route-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.rp-route-actions{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:auto;padding-top:8px;border-top:1px solid var(--rp-line)}
.rp-route-actions form{margin:0}
.rp-act{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;border:0;background:none;font:inherit;font-weight:600;color:var(--rp-green);text-decoration:underline;cursor:pointer}
.rp-act--danger{color:var(--rp-danger)}
.rp-empty-state{padding:48px 16px;text-align:center;background:var(--rp-surface);border:1px dashed var(--rp-input);border-radius:var(--rp-radius-card)}
.rp-back{margin:0 0 8px}
.rp-detail-head{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-start}
.rp-detail-actions{display:flex;flex-wrap:wrap;gap:8px}
.rp-detail-actions form{margin:0}
.rp-detail-map{height:420px;border-radius:var(--rp-radius-card);border:1px solid var(--rp-line);margin:8px 0 6px;z-index:0}
.rp-legend-inline{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;margin:0 0 24px}
.rp-legend-item{display:inline-flex;align-items:center;gap:6px}.rp-legend-item i{display:inline-block;width:16px;height:4px;border-radius:2px}
.rp-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}
.rp-day{background:var(--rp-surface);border:1px solid var(--rp-line);border-left:6px solid var(--day);border-radius:var(--rp-radius-card);padding:16px}
.rp-day-head{display:flex;gap:10px;align-items:center}
.rp-day-head h2{font-size:18px;margin:0}
.rp-dot{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#fff;font-weight:700;flex:none}
.rp-pin div{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.hotel-block[hidden]{display:none}

/* Portada */
.rp-home{background:var(--rp-bg)}
.rp-wrap{max-width:1200px;margin:0 auto;padding:0 16px}
.rp-hero{padding:56px 0 40px}
.rp-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.rp-eyebrow{margin:0 0 8px;font-weight:600;color:var(--rp-green);text-transform:none}
.rp-hero h1{font-size:clamp(36px,5.5vw,56px);line-height:1.05;margin:0 0 16px}
.rp-lead{font-size:19px;color:var(--rp-muted);max-width:34em;margin:0 0 24px}
.rp-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.rp-hero-cta--center{justify-content:center}
.rp-hero-note{margin:16px 0 0;font-size:14px;color:var(--rp-muted)}
.rp-hero-art svg{width:100%;height:auto;display:block;border-radius:var(--rp-radius-lg)}
.rp-section{padding:56px 0}
.rp-section--alt{background:var(--rp-surface);border-block:1px solid var(--rp-line)}
.rp-section h2{font-size:clamp(28px,4vw,36px);margin:0 0 8px}
.rp-sub{margin:0 0 28px;color:var(--rp-muted);font-size:17px}
.rp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.rp-steps li,.rp-features li{background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:var(--rp-radius-card);padding:20px}
.rp-step-n{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--rp-green);color:#fff;font-weight:700;margin-bottom:12px}
.rp-steps h3,.rp-features h3{font-size:18px;margin:0 0 6px}
.rp-steps p,.rp-features p{margin:0;color:var(--rp-muted)}
.rp-features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.rp-features li{background:var(--rp-bg)}
.rp-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}
.rp-section-head a{font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.rp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.rp-card-link{display:flex;flex-direction:column;background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:var(--rp-radius-card);overflow:hidden;text-decoration:none;color:var(--rp-ink)}
.rp-card-link:hover{border-color:#B9C9BF;color:var(--rp-ink)}
.rp-card-img{display:block;aspect-ratio:16/10;background:var(--rp-green-tint)}
.rp-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.rp-card-body{display:flex;flex-direction:column;gap:8px;padding:16px;align-items:flex-start}
.rp-card-title{font-family:var(--rp-font-head);font-weight:700;font-size:18px;line-height:1.25}
.rp-cta{text-align:center;background:var(--rp-green-tint)}
@media (max-width:860px){.rp-hero-grid{grid-template-columns:1fr}.rp-hero{padding-top:32px}}

/* Artículo de ruta */
.rp-article{background:var(--rp-bg)}
.rp-narrow{max-width:860px}
.rp-art-hero{padding:40px 0 24px}
.rp-art-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center}
.rp-art-hero h1{font-size:clamp(30px,4.5vw,46px);line-height:1.1;margin:0 0 12px}
.rp-art-hero-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--rp-radius-lg);display:block}
.rp-art-summary{padding:24px 0}
.rp-art-summary h2,.rp-art-stage h2{font-size:clamp(24px,3.2vw,30px);margin:0 0 16px;display:flex;gap:10px;align-items:center}
.rp-stage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rp-stage-list li{display:flex;gap:12px;align-items:center;background:var(--rp-surface);border:1px solid var(--rp-line);border-left:6px solid var(--day);border-radius:var(--rp-radius);padding:12px 16px}
.rp-stage-list-text{display:flex;flex-direction:column}
.rp-stage-list-text span{color:var(--rp-muted);font-size:14px}
.rp-art-stage{padding:32px 0}
.rp-art-fig{margin:0 0 16px}
.rp-art-fig img{width:100%;max-height:460px;object-fit:cover;border-radius:var(--rp-radius-card);display:block}
.rp-art-fig figcaption{font-size:12px;color:var(--rp-muted);margin-top:6px}
.rp-prose{font-size:17px;line-height:1.7}
.rp-prose p{margin:0 0 1em}
.rp-art-detail{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.rp-art-map{height:260px;border-radius:var(--rp-radius-card);border:1px solid var(--rp-line);z-index:0}
.rp-art-facts{background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:var(--rp-radius-card);padding:16px}
.rp-art-facts p{margin:0 0 8px}
.rp-art-affiliate{margin-top:24px;padding:16px;background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:var(--rp-radius-card)}
.rp-art-affiliate h3{font-size:18px;margin:0 0 8px}
@media (max-width:760px){.rp-art-hero-grid,.rp-art-detail{grid-template-columns:1fr}}

/* Blog: listado */
.rp-blog-featured{margin:8px 0 24px}
.rp-card-link--featured{flex-direction:row}
.rp-card-link--featured .rp-card-img{flex:1.2;aspect-ratio:auto;min-height:280px}
.rp-card-link--featured .rp-card-body{flex:1;justify-content:center;padding:28px}
.rp-card-link--featured .rp-card-title{font-size:clamp(22px,3vw,30px)}
.rp-blog-grid{margin-top:8px}
@media (max-width:760px){.rp-card-link--featured{flex-direction:column}.rp-card-link--featured .rp-card-img{aspect-ratio:16/10;min-height:0}}

/* Planificador: texto bajo el mapa (SEO) */
.rp-seo{padding:48px 0;background:var(--rp-bg)}
.rp-seo h1{font-size:clamp(28px,4vw,38px);margin:0 0 12px}
.rp-seo h2{font-size:24px;margin:32px 0 12px}
.rp-howto{padding-left:1.25rem}.rp-howto li{margin-bottom:8px}
.rp-faq details{background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:var(--rp-radius);padding:0 16px;margin-bottom:10px}
.rp-faq summary{min-height:48px;display:flex;align-items:center;font-weight:600;cursor:pointer}
.rp-faq p{margin:0 0 14px;color:var(--rp-muted)}

/* Menú móvil (offcanvas) */
.offcanvas-menu{background:var(--rp-bg);width:min(86vw,340px);font-family:var(--rp-font-body)}
.offcanvas-menu .close-offcanvas{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}
.offcanvas-menu .burger-icon>span{background-color:var(--rp-ink)}
.offcanvas-inner{display:flex;flex-direction:column;min-height:calc(100% - 84px);padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.offcanvas-menu .menu>li>a{display:flex;align-items:center;min-height:48px;padding:10px 14px;border-radius:12px;font-family:var(--rp-font-body)!important;font-size:18px;font-weight:600;color:var(--rp-ink);text-decoration:none}
.offcanvas-menu .menu>li>a:hover,.offcanvas-menu .menu>li>a:focus-visible{background:var(--rp-chip);color:var(--rp-ink)}
.offcanvas-menu .menu>li.active>a,.offcanvas-menu .menu>li.current>a{background:var(--rp-green-tint);color:var(--rp-green-dark)}
.rp-oc-account{margin-top:auto;padding-top:16px;border-top:1px solid var(--rp-line);display:flex;flex-direction:column;gap:8px}
.rp-oc-account .btn{width:100%}
.rp-oc-user{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-weight:600}
.rp-oc-link{display:flex;align-items:center;min-height:48px;padding:0 14px;border-radius:12px;font-weight:600;color:var(--rp-ink);text-decoration:none}
.rp-oc-link:hover{background:var(--rp-chip);color:var(--rp-ink)}
.rp-oc-link--out{color:var(--rp-danger)}
.offcanvas-menu .menu>li>a{color:var(--rp-ink)!important;opacity:1}
.offcanvas-menu .menu>li.active>a,.offcanvas-menu .menu>li.current>a{color:var(--rp-green-dark)!important}
.offcanvas-menu .rp-oc-account .btn-primary{background:var(--rp-green);border-color:var(--rp-green);color:#fff!important}
.offcanvas-menu .rp-oc-account .btn-secondary{color:var(--rp-ink)!important}
.offcanvas-menu .rp-oc-link{color:var(--rp-ink)!important}
.offcanvas-menu .rp-oc-link--out{color:var(--rp-danger)!important}
.offcanvas-menu .offcanvas-inner .menu>li.active>a,.offcanvas-menu .offcanvas-inner .menu>li.current>a{color:var(--rp-green-dark)!important}

/* Menú móvil: posición coherente con el ancho (Helix lo esconde con ±300px) */
:root{--rp-oc-w:min(86vw,340px)}
.offcanvas-menu{width:var(--rp-oc-w);height:100dvh;overflow-y:auto;overscroll-behavior:contain}
.offcanvs-position-right .offcanvas-menu{left:auto;right:calc(-1 * var(--rp-oc-w) - 16px)}
.offcanvs-position-right.offcanvas-active .offcanvas-menu{left:auto;right:0}
.offcanvs-position-left .offcanvas-menu,.offcanvs-position-default .offcanvas-menu{right:auto;left:calc(-1 * var(--rp-oc-w) - 16px)}
.offcanvs-position-left.offcanvas-active .offcanvas-menu,.offcanvs-position-default.offcanvas-active .offcanvas-menu{right:auto;left:0}
body.ltr.offcanvs-position-right .offcanvas-menu{left:auto;right:calc(-1 * var(--rp-oc-w) - 16px)}
body.ltr.offcanvs-position-right.offcanvas-active .offcanvas-menu{left:auto;right:0}
body.ltr.offcanvs-position-left .offcanvas-menu{right:auto;left:calc(-1 * var(--rp-oc-w) - 16px)}
body.ltr.offcanvs-position-left.offcanvas-active .offcanvas-menu{right:auto;left:0}

/* Planificador: guía bajo el mapa */
.rp-uses{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 8px}
.rp-use{display:flex;flex-direction:column;gap:6px;background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:var(--rp-radius-card);padding:16px;color:var(--rp-ink);text-decoration:none}
a.rp-use:hover{border-color:#B9C9BF;color:var(--rp-ink)}
.rp-use span{color:var(--rp-muted);font-size:15px}
.rp-examples{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:8px}
.rp-examples li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:var(--rp-radius);padding:10px 14px}
.rp-examples a{font-weight:600;margin-right:auto;min-height:32px;display:inline-flex;align-items:center}

/* Logo de marca (SVG 224×40) */
#sp-header .logo img,#sp-header .logo-image,#sp-header .logo-image-phone{height:34px!important;width:auto!important;max-height:none!important}
@media (min-width:992px){#sp-header .logo img,#sp-header .logo-image{height:38px!important}}
@media (max-width:991.98px){
  #sp-header .row{flex-wrap:nowrap;align-items:center}
  #sp-logo{flex:1 1 auto;width:auto;min-width:0}
  #sp-menu{flex:0 0 auto;width:auto;margin-left:auto}
  #sp-header .logo-image-phone{height:30px!important;max-width:100%}
}

/* Afiliados */
.rp-aff-block{margin-top:20px;padding:16px;background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:var(--rp-radius-card)}
.rp-aff-block h3{font-size:18px;margin:0 0 6px}
.rp-aff-block p{margin:0 0 10px;color:var(--rp-muted)}
.rp-aff-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.rp-aff-link{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--rp-input);border-radius:var(--rp-radius);background:var(--rp-bg);color:var(--rp-green-dark);font-weight:600;text-decoration:none}
.rp-aff-link:hover{background:var(--rp-green-tint);color:var(--rp-green-dark)}
.rp-aff-note{margin:0;padding:12px 14px;border-radius:var(--rp-radius);background:var(--rp-chip);color:var(--rp-muted);font-size:14px}

.rp-aff-consent{margin:6px 0 0;font-size:.8rem;color:var(--rp-muted,#6b7280)}
.rp-aff-tiqets{min-height:60px}

.rp-route-desc{margin:12px 0 4px;color:var(--rp-ink,#17201C);line-height:1.55;max-width:70ch}
.rp-route-excerpt{margin:4px 0 8px;font-size:.9rem;color:var(--rp-muted,#6b7280)}
