:root{font-family:Inter,Segoe UI,Roboto,sans-serif;line-height:1.6;font-weight:400;color:#3d1a00;background-color:#f5dfcc;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#f5dfcc;background-image:radial-gradient(circle at 20% 20%,rgba(196,82,7,.2),transparent 55%),radial-gradient(circle at 80% 0%,rgba(255,248,242,.75),transparent 50%),repeating-linear-gradient(135deg,#ffffff14 0 20px,#f5dfcc14 20px 40px),linear-gradient(180deg,#fff8f2,#f3d1b6);background-attachment:fixed;display:block}#root{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:stretch;padding:1.5rem 0 3rem}.app-shell{width:100%;min-height:100vh;padding-bottom:0;display:flex;flex-direction:column;gap:2rem}.page-content{width:min(1200px,95vw);margin:0 auto;display:flex;flex-direction:column;flex:1;gap:1.5rem}.page-content>*{flex:1;display:flex}.top-nav{width:100%;background:#c45207;color:#fff7ed;border-radius:0;padding:1rem clamp(1.5rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;box-shadow:0 12px 35px #c4520766}.brand{font-size:1.1rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.nav-links{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.nav-login{border:2px solid rgba(255,255,255,.4);background:transparent;color:#fff7ed;font-weight:600;font-size:1.05rem;padding:.45rem 1.1rem;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:1.2}.nav-login:hover{background:#fff3;color:#fff}.nav-login-action{min-width:9.5rem}.nav-button{border:none;background:transparent;color:#fff7ed;font-weight:600;padding:.45rem 1rem;border-radius:999px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}.nav-button-active{background:#ffffff40}.nav-auth{display:flex;align-items:center;gap:.75rem}.nav-user{font-weight:600}.booking-flow{background:#fff;border-radius:28px;padding:2rem 2.5rem;box-shadow:0 25px 55px #3d1a002e;display:flex;flex-direction:column;gap:1.5rem}.booking-flow-embedded{background:transparent;box-shadow:none;padding:0}.booking-flow-embedded .form-section{padding:0;background:transparent;box-shadow:none}.booking-flow-embedded .actions{padding-top:.5rem}.return-inline{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.return-inline .form-row{margin-top:1.5rem}.hero{background:linear-gradient(135deg,#3d1a00,#d76528);color:#fff8f2;padding:2.25rem;border-radius:24px;box-shadow:0 20px 45px #3d1a0059}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600;margin-bottom:.75rem;color:#8a4c24}.hero h1{margin:0;font-size:clamp(2rem,4vw,3rem)}.hero .lead{margin-top:.75rem;font-size:1.1rem;color:#f5dfcc}.stepper{list-style:none;margin:0;padding:0;display:flex;gap:.5rem;flex-wrap:wrap}.stepper-item{flex:1 1 120px;background:#f5dfcc;padding:.75rem 1rem;border-radius:16px;display:flex;align-items:center;gap:.5rem;color:#733511;font-weight:600}.stepper-item-active{background:#c45207;color:#fff}.stepper-item-complete{background:#22c55e;color:#052e16}.stepper-index{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ffffff4d;font-weight:700}.form-section{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 10px 30px #3d1a001a;display:flex;flex-direction:column;gap:1.5rem}.form-section header h2{margin:0;font-size:1.6rem}.form-section header p{margin:.3rem 0 0;color:#7a3e16}.bus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.85rem;width:100%;justify-items:stretch}.bus-card{border:2px solid #b1b1b1;border-radius:18px;padding:1.25rem;background:#fff8f2;cursor:pointer;position:relative;display:flex;flex-direction:column;gap:.5rem;transition:border-color .15s ease,transform .15s ease}.bus-card:hover{border-color:#d48a5e;transform:translateY(-2px)}.bus-card-selected{border-color:#c45207;background:#fbe9dd;box-shadow:0 10px 20px #c452072e}.bus-card input{position:absolute;opacity:0;pointer-events:none}.bus-card:focus-within{border-color:#000;box-shadow:0 0 0 3px #0003}.bus-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.bus-name{font-size:1.1rem;font-weight:700;margin:0}.bus-price{margin:0;font-size:1.1rem;font-weight:700;color:#3d1a00}.bus-capacity{margin:0;font-size:.85rem;color:#733511}.bus-meta-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem;color:#5f2b12;margin-bottom:.4rem;gap:.5rem}.bus-route{margin:0;font-weight:600}.bus-date{margin:0;color:#3d1a00}.bus-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:auto}.bus-stop-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-top:auto}.stop-schedule{background:#fff9;border-radius:12px;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.4rem}.stop-name{margin:0;font-weight:700;color:#3d1a00;font-size:.95rem}.stop-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.time-label{margin:0;font-size:.8rem;color:#7a3e16}.time-value{margin:.1rem 0 0;font-weight:600;color:#3d1a00}.agreements{display:flex;flex-direction:column;gap:1rem}.agreement-option{display:flex;align-items:flex-start;gap:.75rem;background:#fff8f2;border-radius:16px;padding:1rem 1.25rem;border:1px solid #f5dfcc;font-weight:500}.agreement-option input{margin-top:.2rem}.agreement-option span{color:#733511;line-height:1.5}.disclaimer-links{display:flex;align-items:center;gap:.75rem;margin-top:.35rem}.disclaimer-links+.disclaimer-links{margin-top:.75rem}.disclaimer-status{font-size:.85rem;font-weight:600;color:#3d1a00}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.field{display:flex;flex-direction:column;gap:.4rem;font-weight:600;color:#3d1a00}.field input,.field select{padding:.85rem;border-radius:12px;border:1px solid #f3d1b6;font-size:1rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease;background:#fff}.field input:focus,.field select:focus{border-color:#c45207;box-shadow:0 0 0 3px #c4520733;outline:none}.field input:focus-visible,.field select:focus-visible,button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #000;outline-offset:2px}.form-row.single{grid-template-columns:1fr}.toggle{padding:.85rem 1rem;border-radius:12px;border:1px solid #f3d1b6;background:#fff;font-weight:600;color:#3d1a00;cursor:pointer}.toggle-active{border-color:#22c55e;background:#dcfce7;color:#14532d}.toggle:disabled{cursor:not-allowed;opacity:.7}.toggle.toggle-disabled{border-style:dashed}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.actions{display:flex;justify-content:flex-end;gap:.75rem}.modal-form .actions{justify-content:flex-end}.primary,.secondary{border-radius:14px;padding:.9rem 1.6rem;font-size:1rem;font-weight:600;border:none;cursor:pointer}.primary{background:#c45207;color:#fff;box-shadow:0 10px 20px #c452074d}.primary:hover{background:#d76528}.secondary{background:#f5dfcc;color:#3d1a00}.secondary:hover{background:#f3d1b6}.form-message{margin:0;color:#b45309;background:#fffbeb;border:1px solid #fcd34d;padding:.85rem 1rem;border-radius:12px;font-weight:600}.form-message.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.helper-text{margin:0;color:#5f2b12;font-size:.9rem}.summary-card{background:#fff8f2;border-radius:18px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.spinner{width:24px;height:24px;border-radius:50%;border:3px solid rgba(61,26,0,.2);border-top-color:#3d1a00b3;animation:spin .9s linear infinite;margin-top:.75rem}@keyframes spin{to{transform:rotate(360deg)}}.payment-form{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.payment-note{margin:0;font-size:.9rem;color:#5f2b12}.payment-note a{color:#c45207;font-weight:600;text-decoration:none}.payment-note a:hover{text-decoration:underline}.zelle-qr-wrap{margin-top:.75rem;display:flex;justify-content:flex-start}.zelle-pin{margin:0 0 .5rem;font-weight:700;font-size:1.1rem;color:#3d1a00}.zelle-pin__value{font-size:1.75rem;font-weight:800;letter-spacing:.08em}.zelle-qr{width:min(220px,70vw);height:auto;border-radius:16px;border:1px solid #f3d1b6;background:#fff;padding:.5rem}.payment-note-warning{color:#b45309;font-weight:600}.payment-summary-footer{margin-top:1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.total-due{margin:0;font-size:1.1rem;font-weight:600}.ticket-confirmations{margin-top:.5rem;padding:1rem;border-radius:16px;background:#ecfdf5}.ticket-confirmations .success{margin:0 0 .5rem;color:#047857;font-weight:600}.summary-card h3{margin:0}.summary-card dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1.25rem}.summary-card dl>div{min-width:0}.summary-card dt{font-weight:600;color:#733511}.summary-card dd{margin:0;font-size:1rem;color:#3d1a00;overflow-wrap:anywhere}.payment-placeholder{border:2px dashed #b36d3c;border-radius:16px;padding:1.5rem;text-align:center;color:#733511;font-weight:600}.modal-backdrop{position:fixed;inset:0;background:#3d1a00a6;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:50}.modal-card{background:#fff;border-radius:24px;padding:2rem;width:min(420px,90vw);box-shadow:0 30px 60px #3d1a0059;display:flex;flex-direction:column;gap:1rem}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.modal-close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:#733511}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-body{max-height:min(60vh,480px);overflow-y:auto;padding-right:.5rem}.modal-helper{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;font-size:.9rem;color:#733511}.link-button{border:none;background:none;color:#c45207;font-weight:600;cursor:pointer;padding:0}.link-button:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-section{display:flex;flex-direction:column;gap:1.5rem;flex:1;position:relative}.home-carousel{border-radius:32px;overflow:hidden;box-shadow:0 25px 60px #3d1a0059}.home-booking-section{background:#fff;border-radius:26px;padding:2rem 2.5rem;box-shadow:0 20px 50px #3d1a001f;display:flex;flex-direction:column;gap:1rem}.home-booking-section h2{margin:0}.home-booking-section>p{margin:0;color:#5f2b12}.booking-disclosure{margin:0;font-weight:600;color:#5a2a12}.home-routes{background:#fff;border-radius:24px;padding:2rem 2.25rem;box-shadow:0 18px 40px #3d1a001f;display:flex;flex-direction:column;gap:1rem}.home-routes-header h3{margin:0 0 .25rem}.home-routes-header p{margin:0;color:#5f2b12}.home-routes-scroll{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem}.route-card{min-width:220px;border-radius:18px;border:1px solid #f3d1b6;background:#fff8f2;padding:1.25rem;flex:0 0 auto;box-shadow:inset 0 0 0 1px #c4520714}.route-card h4{margin:0 0 .35rem}.route-price{margin:0;font-size:1.3rem;font-weight:700;color:#c45207}.route-tagline{margin:.5rem 0 0;color:#5f2b12}.carousel-image{width:100%;height:clamp(260px,45vh,420px);background-size:cover;background-position:center;display:flex;align-items:flex-end}.carousel-text{color:#fff8f2;padding:clamp(1.5rem,4vw,2.75rem)}.carousel-text p{margin:0 0 .5rem;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;color:#f6dec8}.carousel-text h2{margin:0;font-size:clamp(1.8rem,4vw,2.6rem)}.carousel-dots{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;background:#3d1a0099}.carousel-dot{width:12px;height:12px;border-radius:50%;border:0;background:#f3d1b6;opacity:.6;cursor:pointer}.carousel-dot-active{opacity:1;transform:scale(1.2);background:#fff}.mission-card{background:#fff;border-radius:26px;padding:1.75rem 2.25rem;box-shadow:0 15px 40px #3d1a001f}.mission-card h3{margin:0 0 .5rem}.mission-card p{margin:0;color:#5f2b12}.site-footer{width:100%;background:#c45207;color:#fff8f2;margin-top:2rem}.site-footer__inner{width:min(1200px,95vw);margin:0 auto;padding:1.5rem 0;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.5rem}.site-footer__brand span{font-weight:700;font-size:1.05rem;letter-spacing:.02em}.site-footer__brand p{margin:.4rem 0 0;color:#f5dfcc}.site-footer__brand a{color:#fff8f2}.site-footer__links{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem}.site-footer__links a{color:#fff8f2;font-weight:600;text-decoration:none}.site-footer__links a:hover{text-decoration:underline}.home-hero{background:linear-gradient(135deg,#3d1a00,#e27e37);color:#fff8f2;border-radius:28px;padding:2.5rem;box-shadow:0 20px 45px #c4520740;display:flex;flex-direction:column;gap:1rem}.home-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.home-details.single{grid-template-columns:1fr}.home-details div{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 10px 25px #3d1a001f}.home-details h3{margin-top:0}.home-details ul{padding-left:1.2rem;color:#5f2b12}.faq-section{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 10px 30px #3d1a0014;display:flex;flex-direction:column;gap:1.25rem}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.faq-grid article{padding:1.25rem;border-radius:16px;background:#fff8f2;box-shadow:inset 0 0 0 1px #f5dfcc}.legal-page{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 12px 35px #3d1a001f;display:flex;flex-direction:column;gap:1.25rem}.legal-page header h1{margin:0;font-size:clamp(1.9rem,3.5vw,2.6rem)}.legal-meta{margin:.25rem 0 0;color:#5f2b12;font-weight:600}.legal-page section h2{margin-bottom:.4rem}.legal-page ul{margin:0;padding-left:1.2rem}.legal-page a{color:#c45207;font-weight:600;text-decoration:none}.legal-page a:hover{text-decoration:underline}@media(max-width:900px){.page-content{width:100%;padding:0 1.25rem}.top-nav{justify-content:center}.nav-links{width:100%;justify-content:center}}@media(max-width:640px){.hero,.form-section{padding:1.5rem}.actions{flex-direction:column;align-items:stretch}.top-nav{padding:1rem}.nav-links{gap:.25rem}.stepper{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem;gap:.75rem;scroll-snap-type:x mandatory}.stepper::-webkit-scrollbar{display:none}.stepper-item{flex:0 0 auto;min-width:170px;padding:.6rem .75rem;scroll-snap-align:start}.mission-card{padding:1.25rem 1.5rem}.carousel-image{height:240px}.modal-card{padding:1.5rem}}.admin-dashboard{display:flex;flex-direction:column;gap:1.5rem}.admin-layout{display:flex;gap:1.75rem}.admin-sidebar{flex:0 0 220px}.admin-nav{display:flex;flex-direction:column;gap:.75rem}.admin-nav button{text-align:left;padding:.75rem 1rem;border-radius:12px;border:1px solid #e0dbd6;background:#fff;font-weight:600;cursor:pointer;transition:border-color .2s ease,background .2s ease}.admin-nav button.active{border-color:#f27405;background:#fff6ee}.admin-content{flex:1;min-width:0}.admin-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 10px 35px #11182714}.payments-list{max-height:420px;overflow-y:auto;border:2px solid #c45207;border-radius:16px;padding:.75rem;background:#fff}.admin-card h3{margin-bottom:.25rem}.admin-card .helper-text{color:#5a5550;margin-bottom:1.25rem}.placeholder-card{border:1px dashed #c8c2bc;box-shadow:none;background:#fffdfa}.trip-form{display:flex;flex-direction:column;gap:1.25rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.form-grid label{font-size:.9rem;font-weight:600;color:#423d39;display:flex;flex-direction:column;gap:.4rem}.form-grid input,.form-grid select{border:1px solid #d8d1cc;border-radius:10px;padding:.55rem .75rem;font-size:.95rem}.stop-editors{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.stop-editor{border:1px solid #efe9e4;border-radius:14px;padding:1rem;background:#fffdfa}.stop-editor__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-weight:600}.stop-editor__row{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.stop-editor__row>input{border:1px solid #d8d1cc;border-radius:10px;padding:.5rem .75rem}.stop-editor__time-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem}.time-picker{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#6b4d3a}.time-picker-row{display:flex;gap:.35rem}.time-picker-row select{border:1px solid #d8d1cc;border-radius:10px;padding:.4rem .5rem;font-size:.95rem;flex:1}.stop-editor__row .link-button{align-self:flex-end}.stop-editor__empty{font-size:.85rem;color:#7c756f;margin:0}.roster-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.roster-controls label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;color:#423d39}.roster-controls input,.roster-controls select{border:1px solid #d8d1cc;border-radius:10px;padding:.55rem .75rem;font-size:.95rem}.roster-list{border:1px solid #efe9e4;border-radius:14px;padding:1rem;background:#fffdfa;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem}.roster-status{margin:0;color:#5a5550;font-weight:600}.ticket-row{display:flex;justify-content:space-between;gap:1rem;border:1px solid #f1ebe6;border-radius:12px;padding:.85rem;background:#fff;flex-wrap:wrap}.ticket-row-main{flex:1 1 220px}.ticket-name{margin:0;font-weight:700;color:#3d1a00}.ticket-detail{margin:.25rem 0 0;font-size:.85rem;color:#6b4d3a}.ticket-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;min-width:160px;font-size:.9rem;color:#5a5550}.ticket-status{font-weight:700;color:#2563eb}.ghost-button{border:1px dashed #d8d1cc;background:transparent;border-radius:999px;padding:.35rem .85rem;font-size:.85rem;cursor:pointer}.link-button{background:none;border:none;color:#c2410c;font-size:.85rem;cursor:pointer}.coupon-input-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.coupon-input-row input{border:1px solid #d8d1cc;border-radius:10px;padding:.55rem .75rem;font-size:.95rem;width:120px}.coupon-input-row .secondary{min-width:120px}.form-actions{display:flex;justify-content:flex-end}.primary-button{border:none;border-radius:999px;background:linear-gradient(120deg,#f27405,#f2541b);color:#fff;font-weight:600;padding:.75rem 1.5rem;cursor:pointer;box-shadow:0 10px 20px #f2740540}.preview-card{border-radius:12px;background:#121826;color:#e7e9f2;padding:1rem;font-size:.85rem;overflow-x:auto}.preview-card pre{margin:.25rem 0 0;white-space:pre-wrap;word-break:break-word}@media(max-width:900px){.admin-layout{flex-direction:column}.admin-sidebar{flex:none}}
