/* The public transportation form is the design reference. Styles are scoped to this form. */
#lam-app {font-family:Quicksand;font-size:16px;font-weight:400;line-height:30px;letter-spacing:.4px;color:#6b4b4b;background:#fff}
#lam-app *,#lam-app *::before,#lam-app *::after{box-sizing:border-box}
#lam-app [hidden]{display:none!important}
#lam-app .page{width:100%;max-width:1140px;margin:0 auto;padding:30px 0 40px}
#lam-app .language{display:flex;justify-content:center;gap:12px;margin:0 0 20px}
#lam-app .language button,#lam-app .form-tabs button,#lam-app .text-button{font-family:Quicksand;font-size:15px;font-weight:400;line-height:30px;letter-spacing:.4px;background:transparent;border:0;border-radius:0;color:#4d5b6c;box-shadow:none;text-shadow:none;padding:0 5px;cursor:pointer}
#lam-app .language button[aria-pressed=true],#lam-app .form-tabs button[aria-pressed=true]{color:#c87c2b;border-bottom:2px solid #e29236}
#lam-app .intro{margin:0 20px 20px;padding:0;text-align:center}
#lam-app .intro h1,#lam-app .success-panel h2{font-family:'Josefin Sans',sans-serif;font-size:36px;font-weight:400;line-height:45px;letter-spacing:1px;color:#1e2329;margin:0;padding:0;text-transform:capitalize;text-align:center}
#lam-app .form-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 25px;margin:0 20px;padding:0;border:0}
#lam-app .form-tabs button{white-space:normal}
#lam-app .layout{width:calc(100% - 40px);max-width:960px;margin:0 auto;display:block}
#lam-app .form-main,#lam-app .success-panel{border:2px solid #e29236;border-radius:12px;padding:40px 30px;background:#fff;box-shadow:0 6px 18px rgba(226,146,54,.2);max-width:1100px;margin:40px auto}
#lam-app #lam-form{margin:0;padding:0}
#lam-app .form-section{padding:0;margin:0 0 35px;border:0}
#lam-app .section-heading{margin:0 0 20px;padding:0;display:block}
#lam-app .section-heading h2,#lam-app .summary-card h2,#lam-app .contact-card h3{font-family:Quicksand,sans-serif;font-size:14px;font-weight:400;line-height:26px;letter-spacing:2px;color:#1e2329;margin:0;padding:0;text-transform:none}
#lam-app .field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;row-gap:35px}
#lam-app .field{min-width:0;margin-bottom:13px}
#lam-app .field.wide,#lam-app .field[data-field=private_interest],#lam-app .field[data-field=room],#lam-app .field[data-field=departure]{grid-column:1/-1}
#lam-app [data-field=private_interest] select{max-width:480px}
#lam-app [data-field=departure] select{max-width:640px}
#lam-app .field>label{font-family:Quicksand;font-size:15px;font-weight:600;line-height:22px;letter-spacing:.4px;color:#222;min-height:44px;height:auto;display:flex;align-items:flex-end;max-width:100%;margin:0 0 12px;padding:0}
#lam-app .field>label>span[aria-hidden]{margin-left:3px}
#lam-app .field>label em{font-size:12px;font-weight:400;font-style:normal;margin-left:4px}
#lam-app input:not([type=checkbox]),#lam-app select,#lam-app textarea{font-family:sans-serif;font-size:15px;font-weight:400;line-height:22.5px;letter-spacing:normal;color:#666;width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:6px;background:#fafafa;min-height:42px;height:auto;margin:0;box-shadow:none;display:inline-block;transition:all .25s ease}
#lam-app input:focus,#lam-app select:focus,#lam-app textarea:focus{border-color:#e29236;outline:none;box-shadow:0 0 6px rgba(226,146,54,.3);color:#111}
#lam-app textarea{resize:vertical}
#lam-app input::placeholder,#lam-app textarea::placeholder{color:#666;opacity:1}
#lam-app .field small{display:block;font-family:Quicksand;font-size:13px;font-weight:400;line-height:22px;letter-spacing:.4px;color:#4d5b6c;margin:6px 0 0}
#lam-app .field small:empty,#lam-app .field-error:empty{display:none}
#lam-app .field-error{display:block;font-size:13px;line-height:22px;color:#b62525;margin-top:5px}
#lam-app [aria-invalid=true]{border-color:#b62525!important}
#lam-app .error-summary{padding:15px;margin:0 0 25px;border:1px solid #b62525;border-radius:6px;color:#b62525;font-size:14px;line-height:24px}
#lam-app .error-summary ul{margin:6px 0 0;padding-left:20px}
#lam-app .error-summary a{color:inherit}
#lam-app .passenger-row{display:grid;grid-template-columns:20px minmax(0,1fr) 76px;gap:12px;align-items:center;margin:0 0 13px}
#lam-app .person-number{font-size:13px;color:#4d5b6c}
#lam-app .repeat-fields[data-repeat=ages]{display:flex;flex-wrap:wrap;gap:20px}
#lam-app .child-age{font-family:Quicksand;font-size:15px;font-weight:600;line-height:24px;width:100px;color:#222}
#lam-app .child-age input{margin-top:8px}
#lam-app .private-rates,#lam-app .info-note{padding:15px 0;margin:25px 0 0;border:0;border-top:1px solid #ccc;border-radius:0;background:transparent;color:#4d5b6c}
#lam-app .private-rates strong{font-weight:600;font-size:15px}
#lam-app .private-rates p,#lam-app .info-note{font-size:14px;line-height:26px}
#lam-app .rate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 20px}
#lam-app .rate-grid span,#lam-app .rate-grid b{display:block;font-size:14px;line-height:26px}
#lam-app .trip-info details{border-bottom:1px solid #eee;padding:12px 0}
#lam-app .trip-info details:last-of-type{border-bottom:0}
#lam-app .trip-info summary{font-family:Quicksand;font-size:15px;font-weight:600;line-height:24px;letter-spacing:.4px;cursor:pointer;color:#222}
#lam-app .trip-info details p{font-family:Quicksand,sans-serif;font-size:16px;font-weight:400;line-height:30px;letter-spacing:.4px;color:#4d5b6c;margin:10px 0 13px}
#lam-app .map-link{display:inline-block;color:#c87c2b;margin-top:10px;font-size:15px}
#lam-app .check{display:flex!important;align-items:flex-start!important;gap:10px;font-family:Quicksand;font-size:15px!important;font-weight:400!important;line-height:26px!important;color:#222!important;height:auto!important;margin:0!important}
#lam-app .check input{width:18px;height:18px;margin:4px 0 0;flex-shrink:0;accent-color:#e29236}
#lam-app .submit-area{padding:0;text-align:center}
#lam-app .submit-area .check{text-align:left}
#lam-app .submit-button{font-family:sans-serif;font-size:16px;font-weight:600;line-height:16px;letter-spacing:normal;color:#fff;background:#e29236;border:0;border-radius:8px;padding:14px 35px;min-height:42px;width:100%;display:inline-block;margin:25px 0 0;text-align:center;cursor:pointer;text-shadow:0 1px 0 rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 15px 17px rgba(255,255,255,.5),inset 0 -5px 12px rgba(0,0,0,.05);transition:background .3s ease,transform .2s}
#lam-app .submit-button:hover{background:#c87c2b;transform:scale(1.03)}
#lam-app .submit-button:disabled{opacity:.6;cursor:wait}
#lam-app .fine{font-family:Quicksand,sans-serif;font-size:14px;line-height:26px;font-weight:400;letter-spacing:.4px;color:#4d5b6c;margin:13px 0}
#lam-app .sidebar{position:static;width:100%;margin:0 0 40px;padding:0;background:transparent;display:block}
#lam-app .summary-card,#lam-app .contact-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin:0 0 25px}
#lam-app .eyebrow{font-size:14px;line-height:26px;font-weight:400;letter-spacing:2px;color:#1e2329;margin:0 0 12px}
#lam-app .summary-card h2{display:none}
#lam-app .summary-line{display:flex;justify-content:space-between;gap:20px;font-size:15px;line-height:30px;padding:8px 0;border-bottom:1px solid #eee}
#lam-app .summary-line strong{font-weight:600;color:#222;white-space:nowrap}
#lam-app .contact-card a{font-size:16px;line-height:30px;font-weight:400;color:#c87c2b}
#lam-app .honeypot,#lam-app .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#lam-app .success-panel{text-align:center;outline:none}
#lam-app .success-panel p{font-size:16px;line-height:30px;color:#4d5b6c;margin:20px 0 13px}
#lam-app .reference{font-size:15px;margin:15px 0}
#lam-app .text-button{display:block;margin:20px auto 0;color:#c87c2b;text-decoration:underline}
#lam-app button:focus-visible,#lam-app a:focus-visible,#lam-app summary:focus-visible{outline:2px solid #c87c2b;outline-offset:3px}
@media(max-width:1024px){#lam-app .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){#lam-app .layout{width:calc(100% - 24px)}#lam-app .form-main,#lam-app .success-panel{padding:25px 20px}#lam-app .field-grid{grid-template-columns:1fr;row-gap:25px}#lam-app .field.wide{grid-column:1}#lam-app .field>label{min-height:0}#lam-app .form-tabs{gap:8px 18px}#lam-app .form-tabs button{font-size:14px}#lam-app .page{padding-top:25px}}
@media(prefers-reduced-motion:reduce){#lam-app *{transition:none!important;scroll-behavior:auto!important}}

#lam-app [data-field=passengers]>small,#lam-app [data-field=child_ages]>small{margin:0 0 12px}
