/* Tuan Big Bike Adventures — scoped page styles.
   Every rule is scoped under .tba so this file cannot affect the theme,
   the WP admin, or any other page on the site. */
.tba{--paper:#EEF1E6;--ink:#14261F;--paddy:#1D4A3C;--deep:#102A22;--red:#B3261E;--road:#5B6660;--line:#CBD3C2;--card:#F8FAF3;--gold:#E7C36A;--display:"Barlow Condensed","Arial Narrow",sans-serif;--body:"Source Sans 3",system-ui,sans-serif;
  font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;font-size:17px}
.tba *{box-sizing:border-box}
.tba a{color:inherit}
.tba :focus-visible{outline:3px solid var(--red);outline-offset:3px}
.tba .wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.tba h1,.tba h2,.tba h3{font-family:var(--display);line-height:1.05;letter-spacing:.01em;margin:0}
.tba h2{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:.4em}
.tba p{margin:0 0 1em}
.tba .btn{display:inline-block;padding:13px 24px;border-radius:4px;font-weight:600;text-decoration:none;border:2px solid var(--red);background:var(--red);color:#fff;cursor:pointer;font:600 1rem var(--body)}
.tba .btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.tba .btn:hover{filter:brightness(1.1)}
.tba header{position:sticky;top:0;z-index:50;background:var(--deep);color:#fff}
.tba header .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;flex-wrap:wrap}
.tba .logo{font-family:var(--display);font-size:1.4rem;font-weight:700;text-decoration:none;color:#fff}
.tba .logo small{display:block;font:400 .72rem var(--body);opacity:.7}
.tba nav{display:flex;gap:18px;flex-wrap:wrap}
.tba nav a{text-decoration:none;font-size:.92rem;opacity:.85;padding:4px 0;color:#fff}
.tba nav a:hover,.tba nav a[aria-current]{opacity:1;border-bottom:2px solid var(--gold)}
.tba header .btn{padding:9px 18px}
.tba .tba-nav-toggle-input{display:none}
.tba .tba-nav-toggle-label{display:none;cursor:pointer;font-size:1.7rem;line-height:1;color:#fff;padding:4px 2px;order:1}
@media(max-width:900px){
  .tba .tba-nav-toggle-label{display:block}
  .tba header .btn{order:2}
  .tba nav{display:none;order:5;width:100%;flex-direction:column;gap:2px;background:var(--deep);
    position:absolute;left:0;right:0;top:64px;padding:10px 20px 18px;box-shadow:0 8px 16px rgba(0,0,0,.25)}
  .tba nav a{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .tba .tba-nav-toggle-input:checked ~ nav{display:flex}
}
.tba .hero{background:var(--deep);color:#fff;position:relative;overflow:hidden;padding:72px 0 96px}
.tba .hero svg{position:absolute;right:-40px;top:0;height:100%;width:60%;min-width:420px;opacity:.9}
.tba .hero .wrap{position:relative}
.tba .hero h1{font-size:clamp(3rem,9vw,6.4rem);max-width:9ch;margin-bottom:.25em;color:#fff}
.tba .hero p{max-width:46ch;font-size:1.15rem;opacity:.9;margin-bottom:28px}
.tba .cta{display:flex;flex-wrap:wrap;gap:12px}
.tba .facts{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:40px;opacity:.85;list-style:none;padding:0}
.tba .facts b{font-family:var(--display);font-size:1.5rem;margin-right:6px}
.tba .phero{background:var(--deep);color:#fff;padding:56px 0}
.tba .phero h1{font-size:clamp(2.4rem,6vw,4rem);margin-bottom:.2em;color:#fff}
.tba .phero p{max-width:56ch;opacity:.88}
.tba section{padding:64px 0}
.tba .head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.tba .head a{font-weight:600}
.tba .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}
.tba .route{background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;color:var(--ink)}
.tba .route:hover{border-color:var(--paddy)}
.tba .route svg{display:block;width:100%;height:84px;background:var(--paddy)}
.tba .route .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.tba .route h3{font-size:1.55rem}
.tba .meta{color:var(--road);font-size:.95rem}
.tba .level{align-self:flex-start;font-size:.85rem;font-weight:600;padding:2px 10px;border-radius:99px;border:1.5px solid}
.tba .lv1{color:#2F6B3F}.tba .lv2{color:#8A5A00}.tba .lv3{color:var(--red)}
.tba .price{margin-top:auto;padding-top:10px;font-weight:600}
.tba .why{background:var(--paddy);color:#fff}
.tba .why ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:32px;margin:0}
.tba .why h3{font-size:1.45rem;margin-bottom:6px;color:#fff}
.tba .why p{opacity:.85;font-size:.98rem;margin:0}
.tba .bike{display:grid;grid-template-columns:1.4fr .8fr 1fr 1.4fr;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.tba .bike:first-of-type{border-top:1px solid var(--line)}
.tba .bike h3{font-size:1.5rem}
.tba .bike small{color:var(--road);display:block}
.tba .bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden}
.tba .bar i{display:block;height:100%;background:var(--paddy)}
@media(max-width:700px){.tba .bike{grid-template-columns:1fr 1fr}.tba .bike .bar{grid-column:1/-1}}
.tba .rent{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.tba .rent > div{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:18px;display:flex;flex-direction:column;gap:6px}
.tba .rent h3{font-size:1.35rem}
.tba .rent b{font:700 2rem var(--display);color:var(--red)}
.tba .quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}
.tba blockquote{border-left:4px solid var(--red);padding-left:18px;margin:0}
.tba blockquote p{margin-bottom:10px}
.tba blockquote footer{font-size:.92rem;color:var(--road);background:none;position:static}
.tba .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
.tba .branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.tba .branches > div{border-left:4px solid var(--gold);background:var(--card);padding:14px 16px}
.tba .branches h3{font-size:1.3rem}
.tba details{border-bottom:1px solid var(--line);padding:16px 0}
.tba summary{font:700 1.3rem var(--display);cursor:pointer;list-style:none}
.tba summary::-webkit-details-marker{display:none}
.tba details p{margin-top:8px;max-width:70ch}
.tba form{display:grid;gap:14px;max-width:620px}
.tba label{display:grid;gap:4px;font-weight:600;font-size:.95rem}
.tba input,.tba select,.tba textarea{font:1rem var(--body);padding:11px 12px;border:1.5px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}
.tba .final{background:var(--deep);color:#fff;text-align:center}
.tba .final p{max-width:48ch;margin:0 auto 24px;opacity:.9}
.tba .final .cta{justify-content:center}
.tba footer.site{background:var(--ink);color:#cfd8cc;padding:40px 0;font-size:.95rem}
.tba footer.site .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px}
.tba footer.site h4{color:#fff;font:700 1.2rem var(--display);margin-bottom:8px}
.tba footer.site a{display:block;text-decoration:none;padding:2px 0;color:#cfd8cc}
.tba footer.site a:hover{color:#fff}
.tba .bar-m{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:var(--deep)}
.tba .bar-m .btn{flex:1;text-align:center;padding:11px}
@media(min-width:901px){.tba .bar-m{display:none}}
@media(max-width:900px){.tba{padding-bottom:64px}}

/* neutralise Flatsome's own row/col spacing so our .section padding is the
   only spacing in effect — scoped to .tba so it never touches real page
   builder rows elsewhere on the site */
.tba > .row{margin:0!important;max-width:none!important}
.tba > .row > .col{padding:0!important;margin:0!important;max-width:none!important;flex-basis:100%!important;width:100%!important}

/* home page extras */
.tba .trustbar{display:flex;flex-wrap:wrap;gap:12px;margin-top:-48px;position:relative;z-index:2}
.tba .trustbar > div{flex:1;min-width:150px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px 16px;text-align:center;box-shadow:0 10px 24px rgba(16,42,34,.08)}
.tba .trustbar b{display:block;font:700 1.6rem var(--display);color:var(--paddy)}
.tba .trustbar small{color:var(--road);font-size:.85rem}
.tba .feature{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.tba .feature svg{width:100%;height:100%;min-height:220px;display:block;background:var(--paddy)}
.tba .feature .body{padding:28px 30px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.tba .feature .eyebrow{color:var(--road);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:760px){.tba .feature{grid-template-columns:1fr}.tba .feature svg{min-height:160px}}
.tba .photostrip{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
.tba .photostrip svg{flex:0 0 240px;height:170px;border-radius:6px;scroll-snap-align:start}
.tba .faqmini details{padding:14px 0}
.tba .faqmini summary{font-size:1.05rem}
.tba .mapwrap{border-radius:8px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9}
.tba .mapwrap iframe{width:100%;height:100%;border:0;display:block}
.tba .payments{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.tba .payments span{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 14px;font-weight:600;font-size:.88rem;color:var(--road)}
.tba .fab-stack{position:fixed;right:20px;bottom:24px;z-index:9999;display:flex;flex-direction:column;gap:10px}
.tba .fab-stack a{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.tba .fab-stack a.wa{background:#25D366;color:#fff}
.tba .fab-stack a.call{background:var(--red);color:#fff}
@media(max-width:900px){.tba .fab-stack{display:none}}
@media(max-width:860px){.tba .trustbar{margin-top:-32px}.tba .trustbar>div{min-width:130px;padding:14px 10px}}
