.cg-travel-pass-calculator{width:100%;margin:clamp(2rem,5vw,3.5rem) 0;padding:clamp(1.1rem,4vw,2.2rem);overflow:hidden;border:1px solid rgba(29,43,29,.16);border-radius:clamp(22px,4vw,32px);background:var(--paper);box-shadow:0 24px 60px -38px rgba(22,32,15,.55);color:var(--ink)}
.cg-travel-pass-calculator *{box-sizing:border-box}
.cg-travel-pass-calculator__intro{margin:-2.2rem -2.2rem 1.7rem;padding:clamp(1.5rem,5vw,2.4rem);background:var(--forest);color:#fff}
.cg-travel-pass-calculator__eyebrow{display:block;margin-bottom:.7rem;color:#b7cbaa;font:700 .68rem var(--display);letter-spacing:.14em;text-transform:uppercase}
.cg-travel-pass-calculator__intro h3{max-width:640px;margin:0;font:700 clamp(1.8rem,5vw,2.65rem)/1.05 var(--display);letter-spacing:-.04em;color:#fff}
.cg-travel-pass-calculator__intro>p{max-width:620px;margin:.9rem 0 0;color:#d5ddd1;font-size:1rem;line-height:1.55}
.cg-travel-pass-calculator__headline-fares{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.25rem}
.cg-travel-pass-calculator__headline-fares span{padding:.55rem .75rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);color:#d5ddd1;font-size:.76rem}
.cg-travel-pass-calculator__headline-fares b{color:var(--lime);font-family:var(--display);font-size:.9rem}
.cg-travel-pass-calculator__form{display:grid;gap:1.25rem;margin:0}
.cg-travel-pass-calculator__duration{min-width:0;margin:0;padding:0;border:0}
.cg-travel-pass-calculator__duration legend,.cg-travel-pass-calculator__field>span:first-child{display:block;margin-bottom:.5rem;color:var(--forest);font:700 .82rem var(--display)}
.cg-travel-pass-calculator__duration>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.35rem;border:1px solid var(--line);border-radius:16px;background:var(--cream)}
.cg-travel-pass-calculator__duration label{position:relative;min-width:0;margin:0}
.cg-travel-pass-calculator__duration input{position:absolute;inset:0;opacity:0}
.cg-travel-pass-calculator__duration label span{min-height:48px;padding:.65rem .8rem;display:grid;place-items:center;border-radius:12px;color:var(--forest);font:700 .82rem var(--display);text-align:center;transition:background var(--ease),box-shadow var(--ease)}
.cg-travel-pass-calculator__duration input:checked+span{background:var(--forest);color:#fff;box-shadow:0 8px 22px -15px rgba(22,32,15,.8)}
.cg-travel-pass-calculator__duration input:focus-visible+span{outline:3px solid var(--lime);outline-offset:2px}
.cg-travel-pass-calculator__duration small,.cg-travel-pass-calculator__field small{display:block;margin-top:.45rem;color:var(--muted);font-size:.75rem;line-height:1.45}
.cg-travel-pass-calculator__party{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.cg-travel-pass-calculator__field{min-width:0;margin:0}
.cg-travel-pass-calculator__field input{width:100%;min-width:0;min-height:52px;padding:.75rem .85rem;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-size:1rem;font-weight:700;outline:0}
.cg-travel-pass-calculator__field input:focus{border-color:#71845f;box-shadow:0 0 0 3px rgba(0,166,82,.2)}
.cg-travel-pass-calculator__under-five{margin:-.65rem 0 0!important;color:var(--muted);font-size:.75rem;line-height:1.45}
.cg-travel-pass-calculator__currency-input{position:relative;display:block}
.cg-travel-pass-calculator__currency-input b{position:absolute;z-index:1;left:.9rem;top:50%;transform:translateY(-50%);color:var(--forest);font-size:1.05rem}
.cg-travel-pass-calculator__currency-input input{padding-left:2rem;font-size:1.1rem}
.cg-travel-pass-calculator__result{min-height:410px;margin:1.7rem 0 0;padding:clamp(1.25rem,4vw,1.8rem);border:1px solid transparent;border-radius:22px;background:var(--sage);transition:background var(--ease),border-color var(--ease)}
.cg-travel-pass-calculator__result.is-good-value{background:#dcebd5;border-color:#9ab78d}
.cg-travel-pass-calculator__result.is-close{background:#eee8d2;border-color:#cbbd88}
.cg-travel-pass-calculator__result.is-separate-cheaper{background:#e7e3d3;border-color:#b7aa82}
.cg-travel-pass-calculator__verdict-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.2rem}
.cg-travel-pass-calculator__verdict-line>span:last-child{color:var(--muted);font-size:.74rem;font-weight:700}
.cg-travel-pass-calculator__verdict{padding:.45rem .68rem;border-radius:999px;background:var(--forest);color:#fff;font:700 .68rem var(--display);letter-spacing:.04em}
.cg-travel-pass-calculator__result-label{display:block;color:var(--forest);font:700 .75rem var(--display);letter-spacing:.06em;text-transform:uppercase}
.cg-travel-pass-calculator__price{display:block;margin:.15rem 0;font:800 clamp(2.8rem,10vw,4.4rem)/1 var(--display);letter-spacing:-.06em;color:var(--forest)}
.cg-travel-pass-calculator__daily{margin:.55rem 0 0!important;color:#4e6047;font-size:.82rem;font-weight:700}
.cg-travel-pass-calculator__comparison{min-height:3.1rem;margin:1rem 0 0!important;font:700 clamp(1rem,3vw,1.2rem)/1.35 var(--display)}
.cg-travel-pass-calculator__break-even{margin-top:1.1rem;padding-top:1rem;border-top:1px solid rgba(29,43,29,.14)}
.cg-travel-pass-calculator__break-even b{font:700 .74rem var(--display);letter-spacing:.06em;text-transform:uppercase}
.cg-travel-pass-calculator__break-even p{margin:.35rem 0 0!important;color:#526049;font-size:.8rem;line-height:1.45}
.cg-travel-pass-calculator__presets{margin-top:1.7rem}
.cg-travel-pass-calculator h4{margin:0 0 .8rem;font:700 1rem var(--display);color:var(--forest)}
.cg-travel-pass-calculator__preset-buttons{display:flex;gap:.5rem;flex-wrap:wrap}
.cg-travel-pass-calculator__preset-buttons button{min-height:44px;padding:.65rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--cream);color:var(--forest);font-size:.74rem;font-weight:700;text-align:left}
.cg-travel-pass-calculator__preset-buttons button:hover,.cg-travel-pass-calculator__preset-buttons button[aria-pressed="true"]{border-color:var(--forest);background:var(--forest);color:#fff}
.cg-travel-pass-calculator__preset-buttons button:focus-visible,.cg-travel-pass-calculator__footer a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.cg-travel-pass-calculator__preset-guidance{min-height:4.2rem;margin:1rem 0 0!important;padding:.9rem 1rem;border-left:4px solid #899b72;border-radius:0 12px 12px 0;background:var(--cream);color:#526049;font-size:.82rem;line-height:1.5}
.cg-travel-pass-calculator__compare{margin-top:1.7rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.cg-travel-pass-calculator__compare>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.cg-travel-pass-calculator__compare p{margin:0!important;padding:.85rem;border:1px solid var(--line);border-radius:14px;background:var(--cream)}
.cg-travel-pass-calculator__compare b,.cg-travel-pass-calculator__compare span{display:block}
.cg-travel-pass-calculator__compare b{font-size:.78rem}
.cg-travel-pass-calculator__compare span{margin-top:.25rem;color:var(--muted);font-size:.72rem;line-height:1.45}
.cg-travel-pass-calculator__footer{margin:1.7rem -2.2rem -2.2rem;padding:1.25rem clamp(1.1rem,4vw,2.2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--forest);color:#fff}
.cg-travel-pass-calculator__footer>div b,.cg-travel-pass-calculator__footer>div small{display:block}
.cg-travel-pass-calculator__footer>div b{font:700 1rem var(--display)}
.cg-travel-pass-calculator__footer>div small{margin-top:.2rem;color:#b7c4b2;font-size:.68rem}
.cg-travel-pass-calculator__footer a{min-height:46px;padding:.75rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:999px;background:var(--lime);color:var(--forest);font:700 .75rem var(--display);text-align:center}
.cg-travel-pass-calculator__noscript{margin:1rem 0 0!important;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:var(--cream);font-size:.78rem}
@media(max-width:760px){.cg-travel-pass-calculator{margin:2rem 0;padding:1rem;border-radius:22px}.cg-travel-pass-calculator__intro{margin:-1rem -1rem 1.3rem;padding:1.35rem 1rem 1.45rem}.cg-travel-pass-calculator__party,.cg-travel-pass-calculator__compare>div{grid-template-columns:minmax(0,1fr)}.cg-travel-pass-calculator__result{min-height:470px}.cg-travel-pass-calculator__preset-buttons{display:grid;grid-template-columns:minmax(0,1fr)}.cg-travel-pass-calculator__preset-buttons button{width:100%;border-radius:13px}.cg-travel-pass-calculator__footer{margin:1.5rem -1rem -1rem;padding:1.15rem 1rem;align-items:stretch;flex-direction:column}.cg-travel-pass-calculator__footer a{width:100%}}
@media(max-width:400px){.cg-travel-pass-calculator__duration>div{grid-template-columns:minmax(0,1fr)}.cg-travel-pass-calculator__headline-fares{display:grid}.cg-travel-pass-calculator__headline-fares span{text-align:center}.cg-travel-pass-calculator__verdict-line{align-items:flex-start;flex-direction:column}.cg-travel-pass-calculator__result{min-height:470px}}
@media(prefers-reduced-motion:reduce){.cg-travel-pass-calculator *{scroll-behavior:auto!important;transition:none!important}}
