/* Ridewell Cargo · RW Run Planner. Ported from the reference .rp* rules (design/source/v2.css), scoped to the
   widget's own markup. Colours read the Global Kit so Site Settings changes reach the console. */
.rp{
--navy:var(--e-global-color-primary,#111E38);--ink:var(--e-global-color-primary,#111E38);--teal:var(--e-global-color-secondary,#207F86);
--teal-hover:var(--e-global-color-rwtealh,#19676D);--teal-text:var(--e-global-color-accent,#1B7077);--teal-tint:var(--e-global-color-rwtealt,#E9F4F5);
--body:var(--e-global-color-text,#3B4252);--muted:var(--e-global-color-rwmuted,#5E6878);--line:var(--e-global-color-rwline0,#E2E7EC);
--line-strong:var(--e-global-color-rwline1,#CDD5DD);--red:var(--e-global-color-rwred00,#C8263A);--red-tint:var(--e-global-color-rwredt0,#FDECEE);
--red-hover:var(--e-global-color-rwredh0,#A81E30);--f-body:"Inter",ui-sans-serif,system-ui,sans-serif;--f-display:"Figtree",ui-sans-serif,system-ui,sans-serif;
--f-mono:"IBM Plex Mono",ui-monospace,monospace;--ease:var(--rw-ease);--fast:var(--rw-fast);--med:var(--rw-med);
font-family:var(--f-body);color:var(--body)}
:where(.rp) p{margin:0}
.rp legend,.rp .rp-end label{line-height:1.6}
.rp svg.i{display:block;flex:none;width:18px;height:18px;stroke-width:1.75}
.rp select,.rp button{font:inherit}
.rp-swap{background:#fff;cursor:pointer;padding:0}
.rp-clock .rw-live-dot{width:8px;height:8px}
.rp{position:relative;border-radius:26px;background:#fff;border:1px solid #D7E2E8;box-shadow:0 2px 6px rgba(17,30,56,.06),0 30px 70px -20px rgba(17,30,56,.28);overflow:hidden}
.rp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;background:var(--navy);color:#AEBBCF}
.rp-k{display:inline-flex;align-items:center;gap:9px;font:500 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.rp-k .i{width:17px;height:17px;color:#7FD0D6}
.rp-clock{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#C9D4E3;white-space:nowrap}
.rp-az{color:#fff;font-variant-numeric:tabular-nums}
.rp-body{padding:18px 20px 16px}
.rp fieldset{border:0;margin:0;padding:0;min-width:0}
.rp legend,.rp-end label{display:flex;align-items:center;gap:8px;margin-bottom:9px;font-size:13.5px;font-weight:600;color:var(--ink)}
.rp-n{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--teal-tint);color:var(--teal-text);font:500 11px/1 var(--f-mono)}
.rp-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rp-chip{position:relative;cursor:pointer}
.rp-chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.rp-chip span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:8px 10px;border-radius:12px;border:1px solid var(--line-strong);background:#fff;font-size:14px;font-weight:600;line-height:1.2;color:var(--ink);text-align:center;transition:border-color var(--fast),background-color var(--fast),color var(--fast),box-shadow var(--fast)}
.rp-chip .rp-ic{display:inline-flex;color:var(--teal)}
.rp-chip .rp-ic svg{display:block;width:17px;height:17px}
.rp-chip span.is-med .rp-ic{color:var(--red)}
.rp-chip:hover span{border-color:#9FB0BF}
.rp-chip input:checked+span{border-color:var(--teal);background:var(--teal-tint);color:var(--teal-text);box-shadow:0 0 0 3px rgba(32,127,134,.12)}
.rp-chip input:focus-visible+span{outline:3px solid var(--teal);outline-offset:2px}
.rp-ends{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px;margin-top:16px}
.rp .sel{position:relative}
.rp .sel select{appearance:none;-webkit-appearance:none;width:100%;height:48px;padding:0 38px 0 38px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;font:500 15px/1 var(--f-body);color:var(--ink);cursor:pointer;transition:border-color var(--fast),box-shadow var(--fast)}
.rp .sel select:hover{border-color:#9FB0BF}
.rp .sel select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(32,127,134,.16)}
.rp-pin{position:absolute;left:12px;top:50%;width:17px;height:17px;margin-top:-8.5px;color:var(--teal);pointer-events:none}
.rp .sel-i{position:absolute;right:12px;top:50%;width:17px;height:17px;margin-top:-8.5px;color:var(--muted);pointer-events:none}
.rp-swap{display:grid;place-items:center;width:44px;height:48px;border-radius:12px;border:1px solid var(--line-strong);color:var(--teal-text);transition:border-color var(--fast),background-color var(--fast)}
.rp-swap:hover{border-color:var(--teal);background:var(--teal-tint)}
.rp-swap .i{width:18px;height:18px;transition:transform var(--med) var(--ease)}
.rp-swap:active .i{transform:rotate(180deg)}
.rp-map{position:relative;display:flex;justify-content:center;height:clamp(230px,21vw,300px);margin-top:14px;border-radius:16px;background:linear-gradient(180deg,#F4F8F9,#EEF4F6);border:1px solid var(--line);overflow:hidden}
.rp-map::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(17,30,56,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(17,30,56,.045) 1px,transparent 1px);background-size:28px 28px}
.rp-svg{position:relative;height:100%;width:auto;max-width:100%}
.rp-svg [data-st="AZ"]{--sc:#207F86;--sf:rgba(32,127,134,.20)}
.rp-svg [data-st="CA"]{--sc:#3F8FB0;--sf:rgba(79,167,194,.16)}
.rp-svg [data-st="NV"]{--sc:#5B6FB8;--sf:rgba(91,111,184,.15)}
.rp-svg [data-st="UT"]{--sc:#B07A2A;--sf:rgba(196,140,58,.16)}
.rp-svg [data-st="CO"]{--sc:#3E8A5A;--sf:rgba(76,154,106,.16)}
.rp-svg [data-st="NM"]{--sc:#B4553A;--sf:rgba(201,106,74,.15)}
.rp-states path{fill:var(--sf);stroke:var(--sc);stroke-width:1.4;stroke-opacity:.7;stroke-linejoin:round;transition:fill var(--med) var(--ease)}
.rp-states path.on{fill:color-mix(in srgb,var(--sc) 30%,transparent)}
.rp-lab text{font:600 19px var(--f-mono);letter-spacing:.06em;fill:var(--sc);opacity:.85}
.rp-cities circle{fill:#fff;stroke:var(--sc);stroke-width:2.4;transition:r var(--fast)}
.rp-cities circle.base{fill:var(--teal);stroke:#fff;stroke-width:2}
.rp-route{fill:none;stroke:var(--teal);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.rp-route.draw{animation:rp-draw 1.1s var(--ease) forwards}
.rp-a{fill:var(--teal);stroke:#fff;stroke-width:4}
.rp-b{fill:var(--navy);stroke:#fff;stroke-width:4}
.rp-mv circle:first-child{fill:rgba(32,127,134,.55)}
.rp-mv circle:last-child{fill:#fff;stroke:var(--teal);stroke-width:3.5}
.rp-tags rect{fill:var(--navy)}
.rp-tags .rp-tb rect{fill:#fff;stroke:var(--navy);stroke-width:1.2}
.rp-tags text{font:600 19px var(--f-body);fill:#fff;dominant-baseline:central}
.rp-tags .rp-tb text{fill:var(--navy)}
.rp-out{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 22px;align-items:end;margin-top:14px}
.rp-stat small{display:block;margin-bottom:3px;font:500 11px/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rp-stat b{display:block;font-family:var(--f-display);font-weight:700;font-size:22px;line-height:1.15;letter-spacing:-.015em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-stat b span{display:inline-block}
.rp-stat b.pop,.rp-stat b span.pop{animation:rp-pop .45s var(--ease)}
.rp-note{grid-column:1/-1;margin-top:8px;font-size:14px;line-height:1.5;color:var(--body)}
.rp-cta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.rp-call{flex:1 1 260px;height:52px;font-size:15.5px}
.rp-fine{margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--muted)}
@media (max-width:760px){
.rp{border-radius:22px}
.rp-body{padding:16px 14px 14px}
.rp-head{padding:12px 14px}
.rp-chips{grid-template-columns:1fr}
.rp-chip span{justify-content:flex-start;min-height:46px;padding:8px 14px}
.rp-ends{grid-template-columns:1fr;gap:10px}
.rp-swap{justify-self:center;width:48px;height:40px;transform:rotate(90deg)}
.rp-map{height:230px}
.rp-stat b{font-size:19px}
.rp-call{flex-basis:100%}
.rp-cta .rp-link{margin:0 auto}
}
@media (prefers-reduced-motion:reduce){
.rp-route.draw{animation:none;stroke-dashoffset:0}
.rp-mv{display:none}
}
@media (max-width:480px){
.rp-on,.rp-sep{display:none}
.rp-stat b{white-space:normal}
.rp-out{grid-template-columns:1fr 1.4fr}
}
.rp-chip input:checked+span.is-med{border-color:var(--red);background:var(--red-tint);color:var(--red-hover);box-shadow:0 0 0 3px rgba(200,38,58,.12)}
@keyframes rp-draw{to{stroke-dashoffset:0}}
@keyframes rp-pop{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:none}}
/* Call button: teal pill with a pulsing ring (reference .btn .btn-teal .btn-pulse). */
.rp-call{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;border-radius:999px;background:var(--teal);color:#fff;font-family:var(--f-body);font-weight:600;letter-spacing:-.005em;text-decoration:none;white-space:nowrap;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 6px 16px -6px rgba(32,127,134,.6);transition:background-color var(--fast) var(--ease),box-shadow var(--med) var(--ease),transform var(--fast) var(--ease)}
.rp-call:hover,.rp-call:focus-visible{background:var(--teal-hover);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 10px 24px -8px rgba(32,127,134,.7)}
.rp-call:active{transform:scale(.98)}
.rp-call .i,.rp .rp-call svg.i{width:17px;height:17px}
.rp-call::before{content:"";position:absolute;inset:-3px;border-radius:inherit;border:2px solid var(--teal);opacity:0;animation:rw-pulse-b 2.4s var(--ease) infinite;pointer-events:none}
/* Text link with arrow (reference .tlink). */
.rp-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:14.5px;color:var(--teal-text);text-decoration:none;border-bottom:1.5px solid transparent;transition:border-color var(--fast) var(--ease)}
.rp-link:hover{color:var(--teal-text);border-bottom-color:currentColor}
.rp-link .arrow,.rp .rp-link svg.arrow{width:17px;height:17px;transition:transform var(--med) var(--ease)}
.rp-link:hover .arrow{transform:translateX(3px)}
.rp-route.drawn{stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){
.rp-call::before{animation:none!important}
.rp-call,.rp-link .arrow,.rp-chip span,.rp .sel select,.rp-swap,.rp-swap .i,.rp-states path,.rp-cities circle{transition:none!important}
.rp-stat b.pop,.rp-stat b span.pop{animation:none}
}
/* The kit styles every <button> and <a> on the site (Site Settings → Buttons, link colour); the console's own
   controls opt out with more specific selectors. */
.rp button.rp-swap,.rp button.rp-swap:hover,.rp button.rp-swap:focus{padding:0;border-radius:12px;border:1px solid var(--line-strong);background:#fff;background-image:none;color:var(--teal-text);box-shadow:none;font:inherit;line-height:1}
.rp button.rp-swap:hover{border-color:var(--teal);background:var(--teal-tint)}
.rp a.rp-call,.rp a.rp-call:hover,.rp a.rp-call:focus,.rp a.rp-call:visited{color:#fff}
.rp a.rp-link,.rp a.rp-link:hover,.rp a.rp-link:visited{color:var(--teal-text)}
@media (max-width:760px){.rp button.rp-swap{width:48px;height:40px;transform:rotate(90deg)}}

/* Elementor resets .elementor a to no shadow, which outranks .rp-call: the reference button keeps its glow. */
.rp a.rp-call{box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 6px 16px -6px rgba(32,127,134,.6)}
.rp a.rp-call:hover,.rp a.rp-call:focus-visible{box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 10px 24px -8px rgba(32,127,134,.7)}
