/* Bring-a-Friend pages. Tokens and components copied from the BTB Tier 1 design
   system (btb-pages/build.py) so these pages sit next to pricing.betweenthebumpers.com
   without looking like a different company. Form + share styles are new. */
.btb-page{--o:#F39200;--od:#C97900;--ob:#FFA733;--od-text:#9A5B00;--ink:#16191E;--ink2:#545C66;--ink3:#646B76;--cream:#FAF6EF;--sand:#F2EBDF;--paper:#FFFFFF;--line:#E9E1D3;--dark:#1C1F25;--darker:#15171B;--dtext:#C9CED6;--dline:rgba(255,255,255,.09);--r-lg:24px;--r-md:18px;--r-sm:14px;--sh-1:0 1px 2px rgba(22,25,30,.05),0 6px 18px rgba(22,25,30,.06);--sh-2:0 2px 4px rgba(22,25,30,.06),0 14px 34px rgba(22,25,30,.12);--grad-o:linear-gradient(135deg,#FFA31A 0%,#F39200 60%,#EE8600 100%);--ok:#1F7A4D;--err:#B3261E;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;font-size:16.5px;-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip;color-scheme:light;display:block;min-height:100vh;}
:where(.btb-page) *,:where(.btb-page) *::before,:where(.btb-page) *::after{box-sizing:border-box;margin:0;padding:0;}
:where(.btb-page) img{max-width:100%;height:auto;display:block;}
:where(.btb-page) a{color:var(--od-text);text-decoration:none;}
:where(.btb-page) a:hover{text-decoration:underline;}
:where(.btb-page) button,:where(.btb-page) input,:where(.btb-page) textarea{font:inherit;color:inherit;}
.btb-page a:focus-visible,.btb-page button:focus-visible,.btb-page input:focus-visible,.btb-page textarea:focus-visible{outline:3px solid var(--o);outline-offset:2px;border-radius:6px;}
.btb-wrap{max-width:1160px;margin:0 auto;padding:0 20px;}
.btb-narrow{max-width:760px;margin:0 auto;padding:0 20px;}
.btb-sec{padding:clamp(48px,8vw,88px) 0;}
.btb-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--od-text);margin-bottom:16px;}
.btb-h1{font-size:clamp(34px,7vw,56px);font-weight:900;line-height:1.05;letter-spacing:-.025em;margin-bottom:16px;text-wrap:balance;}
.btb-h1 em{font-style:normal;color:var(--ob);}
.btb-h2{font-size:clamp(26px,4.4vw,38px);font-weight:850;line-height:1.12;letter-spacing:-.015em;margin-bottom:14px;text-wrap:balance;}
.btb-h3{font-size:20px;font-weight:800;letter-spacing:-.01em;margin-bottom:8px;}
.btb-lead{font-size:clamp(16.5px,2vw,19px);color:var(--ink2);max-width:62ch;}
.btb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:13px 26px;border-radius:999px;font-weight:800;font-size:16px;line-height:1.2;text-align:center;transition:background .2s,color .2s,transform .2s,box-shadow .2s;border:0;cursor:pointer;}
.btb-btn:hover{text-decoration:none;transform:translateY(-1px);}
.btb-btn[disabled]{opacity:.6;cursor:progress;transform:none;}
.btb-btn-o{background:var(--grad-o);color:#fff !important;box-shadow:0 2px 6px rgba(201,121,0,.28),0 8px 20px rgba(201,121,0,.22);}
.btb-btn-o:hover{background:var(--od);}
.btb-btn-ghost{border:2px solid var(--ink);color:var(--ink) !important;background:transparent;}
.btb-btn-ghost:hover{background:var(--ink);color:#fff !important;}
.btb-btn-w{border:2px solid rgba(255,255,255,.85);color:#fff !important;background:rgba(255,255,255,.04);}
.btb-btn-w:hover{background:#fff;color:var(--ink) !important;}
.btb-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
@media(max-width:560px){.btb-cta-row .btb-btn{width:100%;}}
/* header */
.btb-head{background:rgba(250,246,239,.94);border-bottom:1px solid var(--line);}
.btb-head-in{display:flex;align-items:center;gap:18px;height:64px;}
.btb-logo{font-weight:900;font-size:16.5px;letter-spacing:.01em;color:var(--ink) !important;line-height:1.12;white-space:nowrap;}
.btb-logo small{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--od-text);text-transform:uppercase;}
.btb-logo:hover{text-decoration:none;}
.btb-head-tel{margin-left:auto;font-weight:700;font-size:14.5px;color:var(--ink) !important;}
/* hero */
.btb-hero{position:relative;background:var(--darker);color:#fff;overflow:hidden;}
.btb-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.btb-hero-scrim{position:absolute;inset:0;background:linear-gradient(185deg,rgba(18,20,25,.5) 0%,rgba(18,20,25,.7) 55%,rgba(18,20,25,.92) 100%);}
@media(min-width:861px){.btb-hero-scrim{background:linear-gradient(to right,rgba(18,20,25,.9) 0%,rgba(18,20,25,.66) 50%,rgba(18,20,25,.2) 100%),linear-gradient(to top,rgba(18,20,25,.7),transparent 45%);}}
.btb-hero-in{position:relative;z-index:2;max-width:640px;padding:clamp(56px,10vw,104px) 0;}
.btb-hero-kicker{display:inline-block;line-height:1.7;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#fff;background:rgba(22,25,30,.55);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 15px;margin-bottom:20px;}
.btb-hero-kicker i{font-style:normal;color:var(--ob);}
.btb-hero-lead{font-size:clamp(16.5px,2.1vw,19.5px);color:rgba(255,255,255,.9);max-width:54ch;}
/* cards, lists, steps */
.btb-cards{display:grid;grid-template-columns:1fr;gap:20px;margin-top:30px;}
@media(min-width:761px){.btb-cards{grid-template-columns:1fr 1fr;gap:26px;}}
.btb-card{background:var(--paper);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-1);}
.btb-card-tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--grad-o);border-radius:999px;padding:5px 12px;margin-bottom:14px;}
.btb-card p{color:var(--ink2);font-size:15.5px;}
.btb-sand{background:var(--sand);}
.btb-list{list-style:none;display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px;}
@media(min-width:640px){.btb-list{grid-template-columns:1fr 1fr 1fr;}}
.btb-list li{position:relative;padding:16px 18px 16px 46px;background:var(--paper);border-radius:var(--r-md);box-shadow:var(--sh-1);font-size:15.5px;color:var(--ink2);}
.btb-list li b{color:var(--ink);display:block;font-weight:800;margin-bottom:2px;}
.btb-list li::before{content:"\2713";position:absolute;left:16px;top:18px;width:22px;height:22px;border-radius:50%;background:var(--grad-o);color:#fff;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;}
.btb-steps{display:grid;grid-template-columns:1fr;gap:16px;margin-top:28px;counter-reset:s;}
@media(min-width:761px){.btb-steps{grid-template-columns:repeat(3,1fr);}}
.btb-step{background:var(--paper);border-radius:var(--r-md);padding:24px;box-shadow:var(--sh-1);}
.btb-step::before{counter-increment:s;content:"0" counter(s);display:inline-block;font-size:14px;font-weight:900;letter-spacing:.06em;color:#fff;background:var(--grad-o);border-radius:10px;padding:6px 11px;margin-bottom:14px;}
.btb-step b{display:block;font-size:17px;font-weight:800;margin-bottom:6px;}
.btb-step span{font-size:14.5px;color:var(--ink2);}
/* forms */
.btb-form{background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:clamp(22px,4vw,36px);margin-top:26px;display:grid;gap:18px;}
.btb-row2{display:grid;grid-template-columns:1fr;gap:18px;}
@media(min-width:560px){.btb-row2{grid-template-columns:1fr 1fr;}}
.btb-field{display:grid;gap:7px;}
.btb-field label,.btb-legend{font-weight:750;font-size:15px;}
.btb-field small,.btb-hint{font-size:13.5px;color:var(--ink3);}
.btb-input,.btb-textarea{width:100%;min-height:50px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s;}
.btb-textarea{min-height:128px;resize:vertical;line-height:1.5;}
.btb-input:focus,.btb-textarea:focus{outline:none;border-color:var(--o);box-shadow:0 0 0 4px rgba(243,146,0,.18);}
.btb-choices{display:grid;grid-template-columns:1fr;gap:12px;border:0;}
@media(min-width:560px){.btb-choices{grid-template-columns:1fr 1fr;}}
.btb-choice{position:relative;display:block;cursor:pointer;}
.btb-choice input{position:absolute;opacity:0;pointer-events:none;}
.btb-choice span{display:block;height:100%;border:1.5px solid var(--line);border-radius:var(--r-md);padding:15px 16px 15px 48px;background:#fff;transition:border-color .15s,background .15s,box-shadow .15s;}
.btb-choice span b{display:block;font-weight:800;font-size:15.5px;}
.btb-choice span em{font-style:normal;font-size:13.5px;color:var(--ink3);}
.btb-choice span::before{content:"";position:absolute;left:16px;top:17px;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);background:#fff;}
.btb-choice.box span::before{border-radius:6px;}
.btb-choice input:checked + span{border-color:var(--o);background:#FFF8EE;box-shadow:0 0 0 3px rgba(243,146,0,.14);}
.btb-choice input:checked + span::before{border-color:var(--o);background:var(--o);box-shadow:inset 0 0 0 3px #fff;}
.btb-choice.box input:checked + span::before{box-shadow:none;background:var(--o) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;}
.btb-choice input:focus-visible + span{outline:3px solid var(--o);outline-offset:2px;}
.btb-consent{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--ink2);cursor:pointer;}
.btb-consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--o);flex-shrink:0;}
.btb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.btb-error{color:var(--err);font-weight:700;font-size:14.5px;min-height:1em;}
.btb-fine{font-size:13.5px;color:var(--ink3);max-width:70ch;}
/* result / share */
.btb-result{background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:clamp(22px,4vw,36px);margin-top:26px;display:grid;gap:18px;}
.btb-result[hidden],.btb-form[hidden]{display:none !important;}
.btb-done{display:flex;gap:14px;align-items:center;}
.btb-done i{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--grad-o);display:grid;place-items:center;color:#fff;font-style:normal;font-weight:900;font-size:20px;}
.btb-linkbox{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:var(--cream);border:1.5px dashed var(--o);border-radius:var(--r-md);padding:12px 12px 12px 16px;}
.btb-linkbox code{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:700;word-break:break-all;color:var(--ink);}
.btb-share{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
@media(min-width:560px){.btb-share{grid-template-columns:repeat(4,1fr);}}
.btb-share .btb-btn{min-height:48px;padding:11px 14px;font-size:15px;width:100%;}
.btb-status{font-size:14px;font-weight:700;color:var(--ok);min-height:1.3em;}
/* preview banner (local only) */
.btb-preview{background:#FFF1D6;border-bottom:1px solid #F3D49A;color:#6B4A00;font-size:13.5px;font-weight:700;text-align:center;padding:9px 16px;}
/* footer */
.btb-foot{background:var(--dark);color:var(--dtext);font-size:14px;padding:28px 0;}
.btb-foot a{color:#fff;}
.btb-foot-in{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;}
@media(prefers-reduced-motion:reduce){.btb-page *{transition:none !important;}.btb-btn:hover{transform:none;}}
