:root{--wehamba-blue:#082a52;--wehamba-bg:#f5f7fa;--wehamba-text:#172033;--wehamba-muted:#667085;--wehamba-border:#d9dfeb;--wehamba-bottom:58px}
*{box-sizing:border-box}
html,body{margin:0!important;padding:0!important}
.wehamba-shell-page{background:var(--wehamba-bg);color:var(--wehamba-text);font-family:Arial,sans-serif}
.wehamba-shell{min-height:100dvh;padding-bottom:calc(var(--wehamba-bottom) + env(safe-area-inset-bottom));overflow-x:hidden;padding-top:58px}
.wehamba-shell-topbar{position:fixed;top:0;left:0;right:0;z-index:999999;height:58px;background:#082a52;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.wehamba-shell-page.admin-bar .wehamba-shell-topbar{top:32px}

#wehamba-map-nav{
 position:sticky;top:0;left:0;right:0;width:100%;height:58px;
 display:flex;align-items:stretch;background:#082a52;z-index:999999;
 box-sizing:border-box;box-shadow:0 2px 6px rgba(0,0,0,.18)
}
#wehamba-map-nav .wehamba-map-nav-item{
 flex:1 1 20%;width:20%;min-width:0;display:flex;flex-direction:column;
 align-items:center;justify-content:center;gap:2px;box-sizing:border-box;
 color:#fff!important;text-decoration:none!important;
 border-right:1px solid rgba(255,255,255,.35);
 -webkit-tap-highlight-color:transparent;transition:background .15s ease
}
#wehamba-map-nav .wehamba-map-nav-item:last-child{border-right:none}
#wehamba-map-nav .wehamba-map-nav-item.is-active{background:rgba(255,255,255,.12)}
#wehamba-map-nav .wehamba-map-icon{
 width:27px;height:27px;display:flex;align-items:center;justify-content:center;flex-shrink:0
}
#wehamba-map-nav svg{
 width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.8;
 stroke-linecap:round;stroke-linejoin:round;display:block
}
#wehamba-map-nav .wehamba-map-label{
 color:#fff!important;font-family:Arial,Helvetica,sans-serif;font-size:10px;
 font-weight:700;line-height:1.05;text-align:center;white-space:nowrap;
 overflow:hidden;text-overflow:ellipsis;max-width:100%
}
#wehamba-map-nav .wehamba-map-nav-item:hover,
#wehamba-map-nav .wehamba-map-nav-item:focus,
#wehamba-map-nav .wehamba-map-nav-item:active{
 background:rgba(255,255,255,.12);color:#fff!important;text-decoration:none!important
}
@media(max-width:430px){
 #wehamba-map-nav{height:58px}
 #wehamba-map-nav .wehamba-map-icon{width:24px;height:24px}
 #wehamba-map-nav svg{width:23px;height:23px}
 #wehamba-map-nav .wehamba-map-label{font-size:9.8px}
}
@media(max-width:360px){
 #wehamba-map-nav .wehamba-map-label{font-size:9px}
}
@supports (padding-left:env(safe-area-inset-left)){
 #wehamba-map-nav{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
}
.wehamba-shell-main{width:100%;margin:0}
.wehamba-shell-map-brand{position:relative;height:38px;display:flex;align-items:center;justify-content:center;padding:3px 44px;background:#fff;border-bottom:1px solid #edf0f4}
.wehamba-shell-map-brand a{display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--wehamba-blue);font-size:21px;font-weight:800;line-height:1}
.wehamba-shell-map-brand img{display:block;max-height:30px;width:auto;max-width:190px;object-fit:contain}
.wehamba-shell-brand-text{color:#f26a21;font-family:Arial,Helvetica,sans-serif;font-size:28px;font-weight:700;line-height:1;letter-spacing:.2px}

.wehamba-context-actions{position:absolute;inset:0;z-index:2;pointer-events:none}
.wehamba-context-help-btn,.wehamba-context-share-btn{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:2px solid #082a52;background:#fff;color:#082a52!important;display:flex;align-items:center;justify-content:center;text-decoration:none!important;font:700 16px/1 Arial,Helvetica,sans-serif;box-shadow:0 1px 2px rgba(0,0,0,.08);-webkit-tap-highlight-color:transparent;padding:0;cursor:pointer;pointer-events:auto}
.wehamba-context-share-btn{left:12px}
.wehamba-context-help-btn{right:12px}
.wehamba-context-share-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
.wehamba-context-help-btn:hover,.wehamba-context-help-btn:focus,.wehamba-context-help-btn:active,.wehamba-context-share-btn:hover,.wehamba-context-share-btn:focus,.wehamba-context-share-btn:active{background:#082a52;color:#fff!important;text-decoration:none!important}
.wehamba-share-toast{position:absolute;left:12px;top:42px;background:#082a52;color:#fff;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:700;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.2);z-index:4;white-space:nowrap}

.wehamba-shell-page-title{padding:12px 14px 8px;background:#fff}
.wehamba-shell-page-title h1{margin:0;font-size:24px;line-height:1.1}
.wehamba-shell-content{width:min(1100px,100%);margin:0 auto;padding:12px}
.wehamba-shell-map-content{width:100%;max-width:none;padding:0}
.wehamba-shell-map-content>.wehamba-map-app{margin:0!important;width:100%!important;max-width:none!important}
.wehamba-shell-placeholder{margin:12px;padding:22px;border:1px dashed #aab2c0;border-radius:12px;background:#fff;text-align:center}
.wehamba-shell-info{width:min(900px,calc(100% - 20px));margin:10px auto;padding:18px;background:#fff;border:1px solid var(--wehamba-border);border-radius:14px}
.wehamba-shell-info h2{margin:0 0 10px;font-size:21px}.wehamba-shell-info h3{margin:14px 0 6px;font-size:16px}
.wehamba-shell-info p{color:#475467;line-height:1.55}
.wehamba-shell-faq details{border-top:1px solid var(--wehamba-border);padding:11px 0}
.wehamba-shell-faq details:first-child{border-top:0}
.wehamba-shell-faq summary{font-weight:700;cursor:pointer}
.wehamba-shell-primary-btn{display:inline-block;padding:10px 14px;border-radius:8px;background:var(--wehamba-blue);color:#fff!important;text-decoration:none;font-weight:700}
.wehamba-shell-bottom{
 position:fixed;z-index:9998;left:0;right:0;
 bottom:var(--wehamba-browser-bottom,0px);
 height:calc(58px + env(safe-area-inset-bottom));
 padding-bottom:env(safe-area-inset-bottom);
 display:grid;grid-template-columns:repeat(4,1fr);
 background:#082a52;border-top:1px solid rgba(255,255,255,.35);
 box-shadow:0 -2px 6px rgba(0,0,0,.18)
}
.wehamba-shell-bottom a{
 min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
 gap:2px;padding:3px 2px;text-decoration:none!important;color:#fff!important;
 font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700;line-height:1.05;
 text-align:center;border-right:1px solid rgba(255,255,255,.35);
 -webkit-tap-highlight-color:transparent;transition:background .15s ease
}
.wehamba-shell-bottom a:last-child{border-right:0}
.wehamba-shell-bottom a.is-active,
.wehamba-shell-bottom a:hover,
.wehamba-shell-bottom a:focus,
.wehamba-shell-bottom a:active{background:rgba(255,255,255,.12);color:#fff!important}
.wehamba-shell-bottom .nav-icon{
 width:27px;height:27px;display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.wehamba-shell-bottom .nav-icon svg{
 width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.8;
 stroke-linecap:round;stroke-linejoin:round;display:block
}
@media(max-width:430px){
 .wehamba-shell-bottom a{font-size:10.5px}
 .wehamba-shell-bottom .nav-icon{width:24px;height:24px}
 .wehamba-shell-bottom .nav-icon svg{width:23px;height:23px}
}
@media(max-width:360px){
 .wehamba-shell-bottom a{font-size:9.6px}
}
/* v0.5.4: iPhone Safari already lays the page out above its dynamic browser chrome.
   Do not add the legacy 56px lift/visualViewport offset; that created a white gap
   below the Wehamba bottom navigation when no announcement overlay was present. */
.wehamba-shell-page.wehamba-ios-safari .wehamba-shell-bottom{bottom:0}
.wehamba-shell-page.wehamba-ios-webview .wehamba-shell-bottom{
 bottom:0;
 padding-bottom:max(env(safe-area-inset-bottom),8px);
 height:calc(58px + max(env(safe-area-inset-bottom),8px));
}

@media(max-width:520px){
 .wehamba-shell-topbar{height:56px}
 .wehamba-shell-feature-nav .feature-icon{font-size:19px}
 .wehamba-shell-feature-nav .feature-label{font-size:8px}
}
@media(min-width:900px){
 .wehamba-shell-map-content .wehamba-map-canvas{height:min(78vh,820px)!important}
 .wehamba-shell-bottom{left:50%;right:auto;transform:translateX(-50%);width:min(760px,100%);border-left:1px solid rgba(255,255,255,.2);border-right:1px solid rgba(255,255,255,.2);border-radius:12px 12px 0 0}
}


/* Native RV Elevation Planner integration */
.wehamba-shell-feature-content{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.wehamba-shell-feature-flattest{
  width:100%;
  margin:0;
  padding:0;
}
.wehamba-shell-feature-flattest .rvep-app{
  width:100%;
  max-width:none;
  margin:0;
  box-shadow:none;
}
.wehamba-shell-feature-flattest .rvep-hero{
  background:#082a52;
}
@media(max-width:520px){
  .wehamba-shell-feature-flattest .rvep-map{
    min-height:360px;
    height:calc(100dvh - 280px);
    max-height:none;
  }
}

@media(max-width:782px){.wehamba-shell-page.admin-bar .wehamba-shell-topbar{top:46px}}

/* Sticky top navigation stability */
.wehamba-shell-topbar{
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  will-change:transform;
}

/* v0.3.9 Trip Planner shell integration */
#wehamba-map-nav .wehamba-map-nav-item{flex:1 1 16.666%;width:16.666%}
.wehamba-shell-role-trip_planner .wehamba-shell-content{width:100%;max-width:none;padding:0}
.wehamba-shell-role-trip_planner .wehamba-trip-planner{width:100%;max-width:none;margin:0}
@media(max-width:430px){
 #wehamba-map-nav .wehamba-map-label{font-size:9.8px}
}
@media(max-width:360px){
 #wehamba-map-nav .wehamba-map-label{font-size:9px}
}


/* v0.4.3 Help Center */
.wehamba-help-center{width:min(920px,calc(100% - 20px));margin:10px auto 84px;padding:0 0 10px}
.wehamba-help-intro{background:#fff;border:1px solid var(--wehamba-border);border-radius:14px;padding:18px;margin-bottom:10px;text-align:center}
.wehamba-help-intro h2{margin:0 0 5px;font-size:22px;color:#102a43}
.wehamba-help-intro p{margin:0;color:#667085;font-size:14px}
/* v0.5.5 Trip Planner Help guide */
.wehamba-trip-help-start{background:#fff;border:2px solid #f28c28;border-radius:14px;padding:16px;margin:0 0 10px;box-shadow:0 2px 8px rgba(16,42,67,.06)}
.wehamba-trip-help-heading{display:flex;align-items:flex-start;gap:11px;margin-bottom:13px}
.wehamba-trip-help-icon{width:34px;height:34px;border-radius:9px;background:#fff4e8;color:#d66d00;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;flex:0 0 34px}
.wehamba-trip-help-heading h2{margin:0 0 4px;color:#102a43;font-size:20px;line-height:1.2}
.wehamba-trip-help-heading p{margin:0;color:#52606d;font-size:13px;line-height:1.5}
.wehamba-trip-help-video-btn{display:flex;align-items:center;gap:10px;width:100%;margin:2px 0 15px;padding:11px 12px;border:1px solid #d9dfeb;border-radius:10px;background:#f7f9fc;color:#17324d!important;text-decoration:none!important;box-shadow:0 1px 2px rgba(16,42,67,.04)}
.wehamba-trip-help-video-btn:hover,.wehamba-trip-help-video-btn:focus,.wehamba-trip-help-video-btn:active{background:#eef3f8;color:#17324d!important;text-decoration:none!important}
.wehamba-trip-help-video-play{width:34px;height:34px;border-radius:50%;background:#082a52;color:#fff;display:flex;align-items:center;justify-content:center;padding-left:2px;font-size:13px;flex:0 0 34px}
.wehamba-trip-help-video-btn>span:last-child{display:flex;flex-direction:column;min-width:0;text-align:left}
.wehamba-trip-help-video-btn strong{font-size:14px;line-height:1.25}
.wehamba-trip-help-video-btn small{margin-top:2px;color:#667085;font-size:11.5px;line-height:1.3}
.wehamba-help-section-video{padding:12px 14px 0;background:#fff}
.wehamba-help-section-video .wehamba-trip-help-video-btn{margin:0 0 12px}
.wehamba-trip-help-steps{counter-reset:wehamba-trip-step;list-style:none;margin:0;padding:0}
.wehamba-trip-help-steps li{counter-increment:wehamba-trip-step;position:relative;padding:0 0 13px 42px;min-height:34px}
.wehamba-trip-help-steps li:last-child{padding-bottom:4px}
.wehamba-trip-help-steps li:before{content:counter(wehamba-trip-step);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:#10233f;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.wehamba-trip-help-steps strong{display:block;color:#17324d;font-size:14px;line-height:1.3;margin-bottom:2px}
.wehamba-trip-help-steps span{display:block;color:#52606d;font-size:12.5px;line-height:1.5}
.wehamba-trip-help-flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;background:#f7f9fc;border:1px solid var(--wehamba-border);border-radius:10px;padding:10px;margin:9px 0;color:#17324d;font-size:11px;font-weight:700}
.wehamba-trip-help-flow span{background:#fff;border:1px solid #dfe7ef;border-radius:7px;padding:5px 7px}
.wehamba-trip-help-flow b{color:#d66d00;font-size:17px;line-height:1}
.wehamba-trip-help-tips{background:#fff8ef;border-left:4px solid #f28c28;border-radius:8px;padding:10px 11px;margin:10px 0 13px;color:#52606d;font-size:12.5px;line-height:1.5}
.wehamba-trip-help-tips strong{color:#17324d}
.wehamba-trip-help-open{display:flex!important;width:max-content;max-width:100%;margin:0 auto;justify-content:center}
.wehamba-help-community{display:flex;align-items:center;gap:12px;background:#1877f2;color:#fff!important;text-decoration:none;border-radius:14px;padding:13px 14px;margin-bottom:10px;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.wehamba-help-community:hover,.wehamba-help-community:focus{color:#fff!important}
.wehamba-help-fb{width:34px;height:34px;border-radius:50%;background:#fff;color:#1877f2;display:flex;align-items:center;justify-content:center;font:700 27px/1 Arial,sans-serif;flex:0 0 34px}
.wehamba-help-community>span:nth-child(2){min-width:0;flex:1;display:flex;flex-direction:column;text-align:left}
.wehamba-help-community strong{font-size:15px;line-height:1.2}
.wehamba-help-community small{font-size:11.5px;line-height:1.35;opacity:.94;margin-top:2px}
.wehamba-help-arrow{font-size:28px;line-height:1}
.wehamba-help-topic-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}
.wehamba-help-topic-nav a{min-height:46px;display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--wehamba-border);border-radius:10px;background:#fff;color:#17324d;text-decoration:none;font-size:12.5px;font-weight:700;line-height:1.2}
.wehamba-help-topic-nav a span{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#eef3f8;color:#17324d;flex:0 0 22px}
.wehamba-help-section{scroll-margin-top:76px;background:#fff;border:1px solid var(--wehamba-border);border-radius:14px;margin:0 0 10px;overflow:hidden}
.wehamba-help-section:target{border-color:#f28c28;box-shadow:0 0 0 2px rgba(242,140,40,.18)}
.wehamba-help-section h3{display:flex;align-items:center;gap:9px;margin:0;padding:13px 14px;background:#f7f9fc;color:#17324d;font-size:16px;border-bottom:1px solid var(--wehamba-border)}
.wehamba-help-section h3 span{width:26px;height:26px;border-radius:7px;background:#e9eff6;display:flex;align-items:center;justify-content:center;font-size:14px}
.wehamba-help-questions details{border-top:1px solid #e8edf3}
.wehamba-help-questions details:first-child{border-top:0}
.wehamba-help-questions summary{list-style:none;cursor:pointer;position:relative;padding:13px 40px 13px 14px;font-size:13.5px;font-weight:700;color:#223b53}
.wehamba-help-questions summary::-webkit-details-marker{display:none}
.wehamba-help-questions summary:after{content:'+';position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:400;color:#526d82}
.wehamba-help-questions details[open] summary:after{content:'−'}
.wehamba-help-answer{padding:0 14px 13px}
.wehamba-help-answer p{margin:0;color:#52606d;font-size:13px;line-height:1.55}
.wehamba-help-contact-card{background:#fff;border:1px solid var(--wehamba-border);border-radius:14px;padding:17px;text-align:center}
.wehamba-help-contact-card strong{font-size:17px;color:#17324d}
.wehamba-help-contact-card p{margin:5px 0 12px;color:#667085;font-size:13px}
@media(min-width:700px){.wehamba-help-topic-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:360px){.wehamba-help-center{width:calc(100% - 14px)}.wehamba-help-topic-nav a{font-size:11.5px;padding:7px 8px}.wehamba-help-community small{font-size:10.8px}}

/* v0.4.4 Help title banner */
.wehamba-shell-help-title{background:#10233f;color:#fff;text-align:center;padding:12px 14px;margin:0}
.wehamba-shell-help-title h1{margin:0;color:#fff;font-size:23px;line-height:1.15;font-weight:700}


/* v0.4.8 Contact page */
.wehamba-shell-contact{margin-bottom:10px}
.wehamba-shell-contact p{margin-top:0}
.wehamba-contact-community{width:min(900px,calc(100% - 20px));margin:0 auto 84px}

/* v0.4.9 Contact + Privacy Policy */
.wehamba-shell-contact{text-align:center}
.wehamba-shell-contact .wehamba-shell-primary-btn{display:inline-flex;margin-left:auto;margin-right:auto}
.wehamba-contact-privacy-link{text-align:center;margin:-68px auto 84px;font-size:12px}
.wehamba-contact-privacy-link a{color:#526d82;text-decoration:underline}
.wehamba-privacy-policy{width:min(900px,calc(100% - 20px));margin:10px auto 84px}
.wehamba-privacy-card{background:#fff;border:1px solid var(--wehamba-border);border-radius:14px;padding:18px;color:#52606d;font-size:13px;line-height:1.6}
.wehamba-privacy-card h2{margin:20px 0 6px;color:#17324d;font-size:17px;line-height:1.25}
.wehamba-privacy-card h2:first-of-type{margin-top:16px}
.wehamba-privacy-card p{margin:0 0 10px}
.wehamba-privacy-card a{color:#1559a6}


/* v0.5.0 iOS pull-to-refresh guard */
.wehamba-shell-page.wehamba-ios-safari,
.wehamba-shell-page.wehamba-ios-webview{
  overscroll-behavior-y:none;
}
.wehamba-shell-page.wehamba-ios-safari html,
.wehamba-shell-page.wehamba-ios-safari body,
.wehamba-shell-page.wehamba-ios-webview html,
.wehamba-shell-page.wehamba-ios-webview body{
  overscroll-behavior-y:none;
}
