/* Patrón: shadcn.io pricing/with-calculator (controles + resultado protagonista).
   Sistema propio vec-card, Manrope y tokens salina/tinta. Todo el ámbito es .vec-taxi. */
.vec-prose .vec-taxi{padding:24px;margin:0 0 40px;display:block;color:var(--vec-ink,#172f32);font:500 16px/1.6 Manrope,Arial,sans-serif;text-align:left}
.vec-taxi *{box-sizing:border-box;min-width:0}
.vec-prose .vec-taxi p,.vec-prose .vec-taxi fieldset{margin:0}
.vec-taxi [hidden]{display:none!important}
.vec-taxi__heading{display:flex;align-items:center;gap:12px}
.vec-prose .vec-taxi .vec-taxi__heading h2{font-size:clamp(22px,2.5vw,30px);line-height:1.2;letter-spacing:0;margin:3px 0 0;padding:0;border:0;display:block}
/* page.php decorates all H2s with another icon; the heading already has its own. */
.vec-prose .vec-taxi .vec-taxi__heading h2>.vec-icon{display:none!important}
.vec-taxi__eyebrow{font-size:16px;font-weight:700;color:var(--vec-muted,#52686a);line-height:1.5}
.vec-prose .vec-taxi .vec-taxi__intro{color:var(--vec-muted,#52686a);margin-top:16px;line-height:1.65}
.vec-taxi__grid{display:grid;align-items:start;gap:24px;margin-top:24px}
.vec-taxi__form{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:0}
.vec-taxi__label{display:block;font-weight:800;font-size:16px;line-height:1.5}
.vec-taxi__select{position:relative}
.vec-taxi__select>.vec-icon{position:absolute;left:14px;top:17px;width:20px;height:20px;pointer-events:none;color:var(--vec-teal-text,#076e72)}
.vec-taxi select{font:600 16px/1.45 Manrope,Arial,sans-serif;color:var(--vec-ink,#172f32);background:#fff;border:1px solid #9aadaa;border-radius:10px;width:100%;min-height:54px;max-width:100%;padding:12px 32px 12px 14px;text-overflow:ellipsis}
.vec-taxi__select select{padding-left:44px}
.vec-taxi__select+.vec-taxi__label{margin-top:6px!important}
.vec-taxi__destinations{position:relative;border:1px solid #9aadaa;border-radius:10px;background:#fff;margin:0 0 6px}
.vec-prose .vec-taxi summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:54px;padding:12px 14px;font-size:16px;line-height:1.5;font-weight:600}
.vec-taxi summary::-webkit-details-marker{display:none}
.vec-taxi summary>.vec-icon:last-child{margin-left:auto;width:18px;height:18px;flex:none}
.vec-taxi summary>span:first-child .vec-icon{width:20px;height:20px;color:var(--vec-teal-text,#076e72)}
.vec-taxi summary [data-destination-name]{flex:1;overflow-wrap:anywhere}
.vec-taxi__destinations[open]>summary{border-bottom:1px solid var(--vec-line,#dcddd5)}
.vec-taxi fieldset{border:0;padding:0}
.vec-taxi__list{max-height:310px;overflow-y:auto;overscroll-behavior:contain;padding:6px;scrollbar-gutter:stable}
.vec-taxi__destination{display:flex;align-items:center;gap:10px;padding:10px 8px;min-height:48px;border-radius:6px;font-size:16px;line-height:1.5;cursor:pointer}
.vec-taxi__destination:has(input:checked){background:var(--vec-tint,#e8efeb);font-weight:800}
.vec-taxi__destination:hover{background:var(--vec-paper,#f7f3ef)}
.vec-taxi input[type=radio],.vec-taxi input[type=checkbox]{accent-color:var(--vec-teal-text,#076e72);width:20px;height:20px;flex:none;margin:0}
.vec-taxi__destination .vec-icon{width:19px;height:19px;flex:none}
.vec-taxi__period legend{padding:0 0 10px}
.vec-taxi__segments{display:grid;grid-template-columns:1fr 1fr;background:var(--vec-paper,#f7f3ef);border:1px solid var(--vec-line,#dcddd5);padding:4px;border-radius:12px;gap:4px}
.vec-taxi__segments label{position:relative;display:flex;cursor:pointer;min-height:52px}
.vec-taxi__segments input{position:absolute;inset:0;opacity:0;width:100%!important;height:100%!important;cursor:pointer}
.vec-taxi__segments label>span{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 7px;flex:1;font-size:16px;font-weight:700;line-height:1.3;text-align:center;border-radius:8px}
.vec-taxi__segments .vec-icon{width:18px;height:18px}
.vec-taxi__segments input:checked+span{color:#fff;background:var(--vec-ink,#172f32)}
.vec-taxi__segments input:focus-visible+span{outline:3px solid var(--vec-teal-text,#076e72);outline-offset:3px}
.vec-taxi__form:has(input[name=vec_taxi_periodo][value=dia]:checked) .vec-taxi__special{display:none}
.vec-prose .vec-taxi .vec-taxi__timing{color:var(--vec-muted,#52686a)}
.vec-taxi__radio{display:flex;align-items:flex-start;gap:12px;cursor:pointer;min-height:48px;padding-top:8px;font-weight:700}
.vec-taxi__radio input{margin-top:4px!important}
.vec-taxi__hint{display:block;font-weight:500;color:var(--vec-muted,#52686a)}
.vec-taxi__result-panel{padding:24px 20px 12px;border-radius:12px;background:var(--vec-tint,#e8efeb);border:1px solid #d2dfd9}
.vec-prose .vec-taxi .vec-taxi__route{font-weight:700;line-height:1.5;margin-top:12px}
.vec-prose .vec-taxi .vec-taxi__price{margin:22px 0 18px}
.vec-taxi__price>span:first-child{display:block;font-size:16px;margin-bottom:4px}
.vec-taxi__amounts{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:10px;row-gap:0}
.vec-taxi__amounts strong{font:800 clamp(27px,5.9vw,38px)/1.3 Manrope,Arial,sans-serif;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.vec-taxi__amounts>span{font-size:18px;font-weight:600}
.vec-taxi__journey{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.vec-taxi__journey .vec-icon{width:18px;height:18px}
.vec-prose .vec-taxi .vec-taxi__band{margin-top:8px;color:var(--vec-muted,#52686a)}
.vec-taxi__notes:not(:empty){border-top:1px solid #c3d2cb;margin-top:18px;padding-top:16px}
.vec-taxi__notes p+p{margin-top:12px!important}
.vec-taxi__breakdown{margin-top:20px;border-top:1px solid #bdcec5}
.vec-prose .vec-taxi .vec-taxi__breakdown>summary{padding:12px 0;font-weight:800;min-height:48px}
.vec-taxi__rate{padding:8px 0 16px}
.vec-taxi__rate p+p{margin-top:8px!important}
.vec-prose .vec-taxi a{border:0;text-decoration:none}
.vec-prose .vec-taxi .vec-taxi__source{color:var(--vec-teal-text,#076e72);display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;font-weight:700;text-decoration:underline;text-underline-offset:3px;line-height:1.5;margin-top:8px}
.vec-taxi__source .vec-icon{flex:none;width:18px;height:18px}
.vec-prose .vec-taxi .vec-taxi__conditions,.vec-prose .vec-taxi .vec-taxi__review{margin:0 0 12px;color:var(--vec-muted,#52686a)}
.vec-prose .vec-taxi .vec-taxi__notice{display:flex;align-items:flex-start;gap:10px;margin-top:24px;color:var(--vec-muted,#52686a);font-size:16px;line-height:1.65}
.vec-taxi__notice .vec-icon{width:20px;height:20px;flex:none;margin-top:3px}
.vec-taxi__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.vec-prose .vec-taxi .vec-taxi__call,.vec-prose .vec-taxi .vec-taxi__whatsapp,.vec-taxi__submit{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 16px;font:800 16px/1.5 Manrope,Arial,sans-serif;border:1px solid var(--vec-ink,#172f32);border-radius:10px;background:var(--vec-ink,#172f32);color:#fff;text-align:center;flex:1 1 250px}
.vec-prose .vec-taxi .vec-taxi__whatsapp{background:#fff;color:var(--vec-ink,#172f32);border-color:#9aadaa;flex:1 1 220px}
.vec-taxi__call .vec-icon,.vec-taxi__whatsapp .vec-icon{flex:none;width:20px;height:20px}
.vec-taxi__whatsapp span span,.vec-taxi__phone{white-space:nowrap}
.vec-taxi__submit{flex:none;cursor:pointer;margin-top:8px}
.vec-taxi--ready [data-submit]{display:none}
.vec-prose .vec-taxi a:hover,.vec-taxi__submit:hover{filter:brightness(.94)}
.vec-taxi :is(a,button,select,input,summary):focus-visible{outline:3px solid var(--vec-teal-text,#076e72);outline-offset:4px}
.vec-taxi__sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
@media(min-width:700px){.vec-prose .vec-taxi{padding:32px}.vec-taxi__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.vec-taxi__result-panel{padding:24px 24px 12px}.vec-taxi__amounts strong{font-size:clamp(28px,2.7vw,38px)}}
@media(forced-colors:active){.vec-taxi__segments input:checked+span{outline:2px solid Highlight}.vec-taxi__segments input{appearance:auto;opacity:1;width:20px!important;height:20px!important;inset:4px auto auto 4px}.vec-taxi__segments label>span{padding-left:26px}}
