/* Calculadora de gasto de combustible · estilos aislados */
.gb-cost-hero{padding:42px 0 50px;background:linear-gradient(132deg,#092b25 0%,#123f34 67%,#21664d 100%);color:#fff}
.gb-cost-hero .crumbs,.gb-cost-hero .crumbs a{color:#d7e9e3}
.gb-cost-hero .gb-cost-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#c6f9ab;margin:24px 0 12px}
.gb-cost-hero h1{max-width:950px;margin:0 0 14px;color:white;font-size:clamp(32px,4.4vw,56px);line-height:1.12;letter-spacing:-.035em}
.gb-cost-hero p{max-width:750px;color:#e0eee9;font-size:clamp(16px,2vw,19px);line-height:1.6;margin:0}
.gb-cost-main{padding:36px 0 66px;background:#f4f3eb;color:#15332d}
.gb-cost-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(305px,.78fr);gap:24px;align-items:start}
.gb-cost-card,.gb-cost-results,.gb-cost-related,.gb-cost-explain{background:#fff;border:1px solid #d8e3de;border-radius:20px;box-shadow:0 12px 32px rgba(17,54,42,.035)}
.gb-cost-card{padding:clamp(20px,3vw,34px)}
.gb-cost-step{color:#007a59;font-size:11px;letter-spacing:.12em;font-weight:850;text-transform:uppercase}
.gb-cost-card h2,.gb-cost-results h2,.gb-cost-related h2,.gb-cost-explain h2{color:#0b3027;line-height:1.2;margin:9px 0 10px;font-size:clamp(21px,2.4vw,28px)}
.gb-cost-muted{color:#536e63;font-size:14px;line-height:1.55;margin:0 0 23px}
.gb-cost-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;border-radius:13px;background:#ebf3ef;margin-bottom:24px}
.gb-cost-modes button{border:0;border-radius:10px;color:#2a5547;padding:13px 9px;background:transparent;font-size:14px;line-height:1.3;font-weight:750;cursor:pointer;min-height:48px}
.gb-cost-modes button[aria-pressed="true"]{background:#0d5542;color:white;box-shadow:0 3px 8px #0b423226}
.gb-cost-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.gb-cost-fields .gb-cost-wide{grid-column:1/-1}
.gb-cost-fields label,.gb-cost-route-fields label{display:flex;flex-direction:column;gap:7px;color:#193c32;font-weight:750;font-size:13px}
.gb-cost-fields input,.gb-cost-fields select,.gb-cost-route-fields input{width:100%;height:49px;box-sizing:border-box;border:1px solid #c6d9ce;border-radius:11px;background:white;padding:10px 12px;color:#123a30;font:inherit;font-weight:550;outline-offset:2px}
.gb-cost-fields input:focus,.gb-cost-fields select:focus,.gb-cost-route-fields input:focus{border-color:#187e5e;outline:2px solid #c6eed6}
.gb-cost-hint{font-weight:450;font-size:12px;color:#657d71;line-height:1.4}
.gb-cost-unit{color:#5c7168;font-weight:550;font-size:12px}
.gb-cost-checks{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0}
.gb-cost-checks label{display:flex;align-items:center;gap:8px;color:#274e3d;font-size:14px;cursor:pointer;font-weight:650}
.gb-cost-checks input{width:18px;height:18px;accent-color:#0e6e51}
.gb-cost-btn{min-height:51px;background:#114d3c;color:white;border:0;border-radius:11px;font:inherit;font-size:15px;font-weight:800;padding:12px 20px;cursor:pointer;width:100%}
.gb-cost-btn:hover{background:#0b6548}
.gb-cost-route-fields{padding:17px;border:1px solid #d9e8e0;border-radius:14px;background:#f6fbf7;margin-bottom:19px;display:grid;gap:14px}
.gb-cost-route-fields p{margin:0;color:#526c60;line-height:1.5;font-size:12px}
.gb-cost-route-notice{font-size:12px;color:#2e664c;line-height:1.5;margin:8px 0 0}
.gb-cost-status{margin-top:13px;min-height:18px;font-size:13px;color:#4a675b;line-height:1.5}
.gb-cost-status.is-error{color:#a33c30}
.gb-cost-results{padding:clamp(20px,3vw,30px);position:sticky;top:24px}
.gb-cost-results .gb-cost-result-label{display:block;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#38745c}
.gb-cost-total{font-size:clamp(42px,5vw,64px);font-weight:850;letter-spacing:-.055em;color:#0a4e39;line-height:1.15;margin:9px 0 8px;font-variant-numeric:tabular-nums}
.gb-cost-subline{font-size:13px;color:#4b6b5d;margin:0 0 19px;line-height:1.6}
.gb-cost-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}
.gb-cost-stats div{padding:15px;border-radius:12px;background:#f0f6f2;min-width:0}
.gb-cost-stats small{display:block;color:#496c5b;font-size:12px;line-height:1.35;margin-bottom:6px}
.gb-cost-stats strong{display:block;color:#123c2f;font-size:19px;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.gb-cost-breakdown{background:#e4f7e6;border-left:3px solid #1b865b;border-radius:8px;padding:14px 15px;margin:18px 0;color:#24533e;font-size:13px;line-height:1.65}
.gb-cost-results a.gb-cost-next{display:block;text-align:center;padding:13px 12px;background:#e7f5eb;border:1px solid #a5d9b5;color:#075b42;font-weight:850;text-decoration:none;border-radius:11px;line-height:1.45}
.gb-cost-results a.gb-cost-next:hover{background:#d5f2dd}
.gb-cost-results a.gb-cost-next span{display:block;font-size:12px;font-weight:500;margin-top:4px}
.gb-cost-related{margin-top:26px;padding:clamp(18px,2.6vw,26px);display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
.gb-cost-related h2{font-size:clamp(19px,2vw,24px);margin:0 0 8px}
.gb-cost-related p{color:#536e62;line-height:1.55;font-size:14px;margin:0;max-width:700px}
.gb-cost-related a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #127654;background:#0c533d;border-radius:10px;color:white;font-weight:800;padding:9px 17px;text-decoration:none;text-align:center}
.gb-cost-related a:hover{background:#0a6b4a}
.gb-cost-explain{padding:clamp(22px,3vw,32px);margin-top:25px}
.gb-cost-explain h2{font-size:clamp(21px,2vw,26px)}
.gb-cost-explain h3{font-size:17px;color:#123b30;margin:24px 0 8px}
.gb-cost-explain p{max-width:900px;color:#3b594a;line-height:1.7;font-size:15px;margin:8px 0 14px}
.gb-cost-explain code{font-size:14px;overflow-wrap:anywhere;background:#f1f5ef;color:#124a36;border-radius:4px;padding:3px 5px}
.gb-cost-explain a{color:#056a4d;text-underline-offset:3px}
.gb-cost-manual-note{color:#688073;font-size:12px;margin:8px 0 0;line-height:1.45}
@media(max-width:900px){.gb-cost-layout{grid-template-columns:1fr}.gb-cost-results{position:static}.gb-cost-hero{padding:28px 0 38px}.gb-cost-main{padding-top:20px}}
@media(max-width:580px){.gb-cost-fields{grid-template-columns:1fr}.gb-cost-modes button{font-size:13px}.gb-cost-related{grid-template-columns:1fr}.gb-cost-related a{width:100%}.gb-cost-stats strong{font-size:17px}.gb-cost-card,.gb-cost-results{border-radius:15px}}
/* Enlace cruzado visible sobre el formulario de gasolineras en ruta. */
.gb-cost-route-cross-wrap{background:#f4f3eb;padding:17px 0 0}
.gb-cost-route-crosslink{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #cfe1d4;border-radius:14px;padding:18px 24px;background:#f8fff9;color:#143a2a}
.gb-cost-route-crosslink strong{font-size:17px;display:block;margin-bottom:5px}
.gb-cost-route-crosslink p{font-size:13px;line-height:1.55;color:#526b5e;margin:0}
.gb-cost-route-crosslink a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;min-height:44px;padding:10px 15px;background:#0b5640;color:white;text-decoration:none;font-weight:800}
.gb-cost-route-crosslink a:hover{background:#087450}
@media(max-width:650px){.gb-cost-route-crosslink{display:block;padding:17px}.gb-cost-route-crosslink a{display:flex;width:100%;margin-top:14px}}
/* hidden debe prevalecer sobre las cuadrículas flex/grid de ambos modos. */
[data-gb-trip-cost] [hidden]{display:none!important}
/* Selección inequívoca de localidades y puntos de paso */
.gb-cost-place{position:relative;min-width:0}
.gb-cost-route-fields .gb-cost-place label{position:relative;display:flex;flex-direction:column;gap:7px}
.gb-cost-place input[aria-expanded="true"]{border-color:#0b7656;box-shadow:0 0 0 2px #d5f3de}
.gb-cost-suggestions{position:absolute;z-index:120;left:0;right:0;top:calc(100% - 1px);background:white;border:1px solid #b8d2c2;border-radius:0 0 12px 12px;box-shadow:0 13px 28px #103d2a26;max-height:235px;overflow:auto}
.gb-cost-suggestions button{display:block;border:0;border-bottom:1px solid #ecf0ed;width:100%;padding:12px 13px;text-align:left;background:white;color:#174835;line-height:1.4;font-size:13px;cursor:pointer;min-height:44px;white-space:normal}
.gb-cost-suggestions button:hover,.gb-cost-suggestions button[aria-selected="true"]{background:#e5f5e8;color:#064f39}
.gb-cost-suggest-empty{padding:12px 13px;color:#61756b;font-size:13px}
.gb-cost-vias{border:1px solid #c9e1d3;border-radius:12px;padding:15px;background:#fff}
.gb-cost-vias-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:11px}
.gb-cost-vias-title strong{font-size:14px;color:#174634}
.gb-cost-vias-title small{font-size:12px;color:#607e6b;font-weight:550}
.gb-cost-vias-title>span{font-size:12px;color:#698071}
.gb-cost-vias>.gb-cost-add-via{width:100%;border:1px dashed #5d9e79;border-radius:10px;padding:11px 13px;min-height:44px;background:#f1faf1;color:#075c41;font-size:13px;font-weight:750;cursor:pointer}
.gb-cost-vias>.gb-cost-add-via:hover{background:#e0f2e6}
.gb-cost-vias>p{margin:10px 0 0;color:#526b60;font-size:12px;line-height:1.55}
.gb-cost-via-row{border-radius:11px;border:1px solid #d5e4db;background:#f7faf8;padding:12px;margin:0 0 12px}
.gb-cost-via-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.gb-cost-via-top>strong{font-size:12px;color:#345d4a}
.gb-cost-via-actions{display:flex;gap:5px;align-items:center}
.gb-cost-via-actions button{padding:7px 10px;border:1px solid #c9d9ce;border-radius:7px;background:#fff;font-size:12px;color:#25513c;cursor:pointer;min-height:34px;min-width:34px}
.gb-cost-via-actions button:hover:not(:disabled){background:#e8f2eb}
.gb-cost-via-actions button:disabled{opacity:.35;cursor:default}
.gb-cost-map-card{border-radius:19px;border:1px solid #d3e4d8;background:white;box-shadow:0 12px 32px rgba(17,54,42,.035);padding:22px;margin-top:24px;overflow:hidden}
.gb-cost-map-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.gb-cost-map-heading h2{font-size:clamp(22px,2.5vw,27px);color:#0d3627;margin:5px 0 4px}
.gb-cost-map-heading p{margin:0;color:#567365;font-size:13px;line-height:1.5}
.gb-cost-map-heading a{color:#075b40;background:#eaf7ed;border:1px solid #b9dfc8;border-radius:8px;padding:10px 14px;font-weight:750;font-size:12px;text-decoration:none}
.gb-cost-map-canvas,.gb-cost-map-placeholder{height:360px;width:100%;max-width:100%;border-radius:13px;background:#eaf1eb;border:1px solid #d9e5dc;box-sizing:border-box}
.gb-cost-map-placeholder{display:flex;justify-content:center;align-items:center;text-align:center;padding:24px;color:#587364;font-size:14px}
.gb-cost-map-footnote{font-size:12px;line-height:1.5;color:#61786b;margin:11px 0 0}
.gb-cost-handoff-note{padding:10px 12px;margin:9px 0 0;border-left:3px solid #ae782c;background:#fef7e8;color:#694b1c;font-size:12px;line-height:1.5}
[data-gb-trip-cost] [hidden]{display:none!important}
@media(max-width:640px){.gb-cost-map-card{padding:13px;border-radius:15px}.gb-cost-map-canvas,.gb-cost-map-placeholder{height:270px}.gb-cost-via-top{align-items:flex-start;flex-wrap:wrap}.gb-cost-via-actions{width:100%}}

.gb-route-import-warning{margin:10px 0;padding:12px 15px;border-left:4px solid #b38a42;border-radius:7px;background:#fff5dc;color:#57441d;font-size:13px;line-height:1.5}
