/* Palette adapted from the supplied project's bright-lime light theme. */
:root{--pp-bg:#f8fff0;--pp-surface:#edffd5;--pp-text:#243a1d;--pp-muted:#526946;--pp-accent:#b5f500;color-scheme:light}
body{background:var(--pp-bg)!important;color:var(--pp-text)}
.pp-header{background:linear-gradient(115deg,#fafff3,#dafaaf)!important;border-bottom:1px solid #a1d84970}
.pp-booking,.pp-steps{background:linear-gradient(135deg,#fcfff8,#e7ffc7)!important}
.pp-routes,.pp-advantages,.pp-fleet,.pp-articles,.pp-faq,.pp-contact{background-color:var(--pp-bg)!important}
.pp-hero-actions a:first-child,.pp-form>button,.pp-route-body>a{background:var(--pp-accent)!important;color:var(--pp-text)!important;border:1px solid #9dd711!important}
.pp-route-ticket,.pp-fleet-grid article,.pp-advantage-grid article{background:linear-gradient(135deg,#fff,#efffda)!important;border-color:#a1d84970}
.pp-form{grid-template-columns:1fr 1fr 1fr auto!important;align-items:end}.pp-form>small,.pp-search-error{grid-column:1/-1}.pp-form label[hidden]{display:none!important}.pp-form button{min-height:54px}.pp-search-error{margin:0;color:#a02c24;font-size:15px}
.pp-intro{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;background:#f8fff0;color:#243a1d;transition:opacity .45s ease,visibility .45s;text-align:center;font-family:Golos,Arial,sans-serif;pointer-events:none}
.pp-intro-content{width:260px}.pp-intro img{width:84px;height:84px;object-fit:contain;animation:pp-arrive .6s ease both}.pp-intro strong{display:block;font:500 24px Unbounded,Arial,sans-serif;letter-spacing:3px;margin:18px 0 10px}.pp-intro p{font-size:14px;color:#526946}.pp-intro-road{height:3px;background:#d9edbe;border-radius:4px;margin-top:32px;overflow:hidden}.pp-intro-road:after{content:'';display:block;width:40%;height:100%;background:#83bd00;animation:pp-road 1.2s ease-in-out infinite}.pp-intro-done{opacity:0;visibility:hidden}.pp-intro{animation:pp-loader-exit .5s 6s forwards}
@keyframes pp-road{from{transform:translateX(-110%)}to{transform:translateX(360%)}}@keyframes pp-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pp-loader-exit{to{opacity:0;visibility:hidden}}
.pp-booking-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:920px;max-height:88dvh;overflow:auto;padding:40px;border:1px solid #a1d84970;border-radius:28px;background:linear-gradient(135deg,#fcfff8,#efffda);color:#243a1d;font:16px/1.6 Golos,Arial,sans-serif;box-shadow:0 30px 100px #203d2433}
.pp-booking-dialog::backdrop{background:#203d2470;backdrop-filter:blur(8px)}.pp-booking-dialog *{box-sizing:border-box}.pp-booking-dialog h2{font:500 clamp(23px,3vw,32px)/1.3 Unbounded,Arial,sans-serif;margin:16px 40px 24px 0}.pp-booking-dialog h3{font-size:23px;line-height:1.4}.pp-modal-close{position:absolute;right:18px;top:16px;width:44px;height:44px;border:0;background:#dff3c2;color:#243a1d;font-size:28px;border-radius:50%;cursor:pointer}.pp-progress{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid #6eac3438;font-size:13px;color:#526946}.pp-progress span{padding:6px 12px;border-radius:20px}.pp-progress [aria-current]{background:#b5f500;color:#21360e;font-weight:600}.pp-modal-lead{font-size:17px;color:#526946;margin:24px 0}.pp-modal-note{font-size:13px;color:#526946}.pp-trip-list{display:grid;gap:12px}.pp-trip-card{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:18px;padding:22px;border:1px solid #a1d84970;background:#ffffffa8;border-radius:18px}.pp-trip-card strong{font-size:30px}.pp-trip-card small{display:block;font-size:12px;color:#526946}.pp-trip-card b{font-size:20px;white-space:nowrap}.pp-trip-card button,.pp-next{border:1px solid #9dd711;border-radius:12px;padding:14px 20px;background:#b5f500;color:#21360e;font:600 15px Golos,Arial;cursor:pointer}.pp-booking-dialog button:disabled{opacity:.45;cursor:not-allowed}.pp-back{background:none;border:0;padding:16px 0;color:#466d23;font:600 14px Golos,Arial;cursor:pointer;margin-top:12px}.pp-seat-layout{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:center}.pp-seat-layout p{color:#526946}.pp-seat-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#526946}.pp-seat-summary{font-weight:600;min-height:26px}.pp-vehicle{padding:24px;border:2px solid #87b74680;background:#e4f4ce;border-radius:60px 60px 24px 24px}.pp-windshield{border-bottom:2px solid #87b74655;padding:12px 0 18px;text-align:center;font-size:10px;letter-spacing:1.5px}.pp-driver-seat{padding:16px 0;font-size:13px;color:#526946}.pp-seat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}.pp-seat{height:52px;border:1px solid #87b746;border-radius:12px 12px 6px 6px;background:#fcfff8;color:#243a1d;font:600 16px Golos,Arial;box-shadow:inset 0 -5px 0 #7faa3c15;cursor:pointer}.pp-seat[aria-pressed=true]{background:#b5f500;border-color:#78aa00}.pp-seat:disabled{background:repeating-linear-gradient(135deg,#d2dcc7,#d2dcc7 5px,#e2e8db 5px,#e2e8db 10px);opacity:1!important;color:#67745e;border-color:#c0ccb3}.pp-luggage{border-top:1px dashed #87b74680;margin-top:22px;padding-top:12px;text-align:center;font-size:10px;letter-spacing:2px;color:#526946}.pp-request-recap{border-left:3px solid #8bc600;padding-left:20px;margin:24px 0}.pp-request-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pp-request-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#526946}.pp-request-form input,.pp-request-form textarea{width:100%;padding:14px;background:#ffffffc9;border:1px solid #87b74670;border-radius:12px;color:#243a1d;font:16px Golos,Arial;min-width:0}.pp-request-form label:has(textarea),.pp-request-form .pp-consent,.pp-request-form>small,.pp-request-form>button{grid-column:1/-1}.pp-request-form .pp-consent{flex-direction:row;align-items:start;font-size:12px}.pp-consent input{width:18px;min-width:18px;height:18px;margin:4px 0;accent-color:#78aa00}.pp-request-form>small{font-size:12px;color:#526946}.pp-modal-error{color:#a02c24;font-size:14px}.pp-success-mark{display:grid;place-items:center;width:64px;height:64px;background:#b5f500;border-radius:50%;font-size:30px;margin-top:24px}.pp-contact-channels{display:flex;flex-wrap:wrap;gap:12px}.pp-contact-channels a{flex:1;min-width:130px;background:#36552a;color:#fff;padding:18px;border-radius:14px;text-decoration:none}.pp-contact-channels small{font-size:12px;color:#dce3cd}.pp-booking-dialog :is(button,a,input,textarea):focus-visible{outline:3px solid #466d23;outline-offset:4px}
@media(max-width:800px){.pp-form{grid-template-columns:1fr 1fr!important}.pp-form>button{grid-column:1/-1}.pp-booking-dialog{padding:28px}.pp-trip-card{grid-template-columns:1fr 1fr;gap:12px}.pp-trip-card button{grid-column:1/-1}.pp-seat-layout{grid-template-columns:1fr;gap:20px}.pp-vehicle{width:280px;max-width:100%;justify-self:center}.pp-request-form{grid-template-columns:1fr}.pp-modal-lead{font-size:15px}}
@media(max-width:480px){.pp-form{grid-template-columns:1fr!important}.pp-booking-dialog{padding:24px 18px;border-radius:20px}.pp-progress{gap:3px}.pp-progress span{padding:5px 8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.pp-intro,.pp-intro img,.pp-intro-road:after{animation:none}.pp-intro{transition:none}}
@media(max-width:800px){.pp-seat-layout>.pp-vehicle{grid-row:1}.pp-seat-layout>div:first-child{grid-row:2}}
