/* Gidoo · Presupuestador (scoped to .gq) */
.gq{--or:#FF9C00;--or-soft:#FFF3DE;--pu:#714B67;--pu-dark:#4F3348;--pu-soft:#F4EDF2;--ink:#1F1A22;--muted:#6B6470;--line:#ECE6E0;--bg:#F7F4EF;--card:#FFFFFF;--ok:#1E9E7A;
  font-family:Raleway,"Odoo Unicode Support Noto",system-ui,sans-serif;color:var(--ink);background:var(--bg);padding:56px 0 96px;position:relative}
.gq *{box-sizing:border-box}
.gq-wrap{padding-left:16px;padding-right:16px}
.gq-head{text-align:center;max-width:780px;margin:0 auto 40px}
.gq-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--pu)}
.gq-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--or);display:inline-block}
.gq-head h1{font-size:clamp(30px,4.2vw,48px);font-weight:700;line-height:1.1;margin:18px 0 14px;color:var(--ink)}
.gq-head h1 em{font-style:normal;color:var(--pu)}
.gq-head p{font-size:18px;color:var(--muted);margin:0}
.gq-ticks{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:18px;font-weight:600;font-size:14px;color:var(--pu-dark)}
.gq-ticks span{display:inline-flex;align-items:center;gap:7px}
.gq-ticks svg{color:var(--ok)}

.gq-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
.gq-steps{display:flex;flex-direction:column;gap:20px}
.gq-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 1px 2px rgba(31,26,34,.04),0 12px 32px -18px rgba(31,26,34,.18);transition:opacity .35s,transform .35s}
.gq-card.gq-hide{display:none}
.gq-card.gq-enter{animation:gqIn .45s cubic-bezier(.2,.8,.2,1)}
@keyframes gqIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.gq-step{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.gq-num{flex:none;width:36px;height:36px;border-radius:12px;background:var(--pu);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:16px}
.gq-step h2{font-size:21px;font-weight:700;margin:0;line-height:1.2;color:var(--ink)}
.gq-step small{display:block;color:var(--muted);font-size:14px;font-weight:500;margin-top:3px}
.gq-label{font-weight:700;font-size:14px;margin:18px 0 10px;color:var(--ink)}
.gq-label:first-child{margin-top:0}
.gq-hint{font-size:13px;color:var(--muted);font-weight:500;margin-left:6px}

/* segmented */
.gq-seg{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:4px;gap:4px;flex-wrap:wrap}
.gq-seg button{appearance:none;border:0;background:transparent;font:inherit;font-weight:700;font-size:14px;color:var(--muted);padding:9px 16px;border-radius:10px;cursor:pointer;transition:all .2s}
.gq-seg button:hover{color:var(--ink)}
.gq-seg button.on{background:#fff;color:var(--pu);box-shadow:0 1px 3px rgba(31,26,34,.12)}
.gq-seg.sm button{padding:6px 12px;font-size:13px}
.gq-seg button[disabled]{opacity:.45;cursor:not-allowed}

/* chips */
.gq-chips{display:flex;flex-wrap:wrap;gap:8px}
.gq-chip{appearance:none;font:inherit;font-weight:600;font-size:14px;border:1.5px solid var(--line);background:#fff;color:var(--ink);padding:9px 15px;border-radius:999px;cursor:pointer;transition:all .18s}
.gq-chip:hover{border-color:#D9CFD6}
.gq-chip.on{border-color:var(--pu);background:var(--pu-soft);color:var(--pu)}

/* stepper */
.gq-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.gq-stepper button{appearance:none;border:0;background:#fff;width:42px;height:42px;font-size:20px;font-weight:700;color:var(--pu);cursor:pointer}
.gq-stepper button:hover{background:var(--pu-soft)}
.gq-stepper input{width:58px;height:42px;border:0;border-left:1.5px solid var(--line);border-right:1.5px solid var(--line);text-align:center;font:inherit;font-weight:700;font-size:16px;color:var(--ink);-moz-appearance:textfield}
.gq-stepper input::-webkit-inner-spin-button{-webkit-appearance:none}

/* service tiles */
.gq-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gq-tile{appearance:none;font:inherit;text-align:left;position:relative;border:2px solid var(--line);background:#fff;border-radius:18px;padding:20px 18px 18px;cursor:pointer;transition:all .22s;display:flex;flex-direction:column;gap:8px;color:var(--ink)}
.gq-tile:hover{border-color:#DCCFD8;transform:translateY(-2px)}
.gq-tile .ic{width:46px;height:46px;border-radius:14px;background:var(--or-soft);color:var(--or);display:flex;align-items:center;justify-content:center;transition:all .22s}
.gq-tile .tx{display:flex;flex-direction:column;gap:4px}
.gq-tile b{font-size:17px}
.gq-tile span{font-size:13.5px;color:var(--muted);font-weight:500;line-height:1.4}
.gq-tile .ck{position:absolute;top:14px;right:14px;width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:#fff;transition:all .22s}
.gq-tile.on{border-color:var(--pu);background:linear-gradient(180deg,#fff,var(--pu-soft));box-shadow:0 10px 24px -14px rgba(113,75,103,.55)}
.gq-tile.on .ic{background:var(--pu);color:#fff}
.gq-tile.on .ck{background:var(--pu);border-color:var(--pu)}

/* tax rows */
.gq-sii{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--bg);border:1px dashed #E0D6CC;border-radius:14px;padding:12px 16px;margin-bottom:16px}
.gq-sii b{font-size:14px}.gq-sii span{display:block;font-size:12.5px;color:var(--muted);font-weight:500}
.gq-taxes{display:flex;flex-direction:column;gap:10px}
.gq-tax{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;background:#fff;transition:all .2s}
.gq-tax.on{border-color:#D8C6D3;background:#FDFBFC}
.gq-tax .nm b{font-size:15px;display:block}
.gq-tax .nm span{font-size:12.5px;color:var(--muted);font-weight:500}
.gq-tax .nm em{font-style:normal;font-size:11.5px;font-weight:700;color:var(--or);background:var(--or-soft);border-radius:6px;padding:2px 7px;margin-left:6px;vertical-align:1px}
.gq-mdl{display:inline-block;font-size:11.5px;font-weight:800;color:var(--pu);background:var(--pu-soft);border-radius:6px;padding:2px 7px;margin-right:8px;vertical-align:1px;letter-spacing:.02em}
.gq-tax .fx{font-size:12.5px;font-weight:700;color:var(--muted);background:var(--bg);border-radius:10px;padding:7px 11px;white-space:nowrap}
.gq-tax.off .gq-seg{opacity:.35;pointer-events:none}
.gq-tax.off .fx{opacity:.4}

/* switch */
.gq-sw{position:relative;width:46px;height:28px;flex:none;cursor:pointer;border:0;padding:0;background:transparent}
.gq-sw i{position:absolute;inset:0;border-radius:999px;background:#E4DDE2;transition:background .2s}
.gq-sw i:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .22s cubic-bezier(.3,1.4,.6,1)}
.gq-sw.on i{background:var(--pu)}
.gq-sw.on i:after{transform:translateX(18px)}
.gq-sw.lock{cursor:not-allowed}
.gq-sw.lock.on i{background:var(--ok)}

/* annual auto */
.gq-annual{margin-top:20px;border-radius:16px;background:linear-gradient(135deg,#FFF8EC,#FFF);border:1px solid #F6E2C0;padding:16px 18px}
.gq-annual h3{font-size:14px;font-weight:800;margin:0 0 4px;display:flex;align-items:center;gap:8px;color:var(--ink)}
.gq-annual h3 small{font-weight:600;color:var(--muted);font-size:12.5px}
.gq-auto{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;min-height:34px}
.gq-pill{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #F1DDB8;border-radius:999px;padding:6px 12px 6px 8px;font-size:13px;font-weight:700;color:var(--ink);animation:gqPop .35s cubic-bezier(.3,1.4,.6,1)}
.gq-pill .gq-mdl{margin:0}
.gq-pill svg{color:var(--or)}
@keyframes gqPop{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
.gq-empty{font-size:13px;color:var(--muted);font-weight:500;padding:6px 0}

/* summary */
.gq-sum{position:sticky;top:100px;background:var(--ink);color:#fff;border-radius:24px;padding:26px;box-shadow:0 30px 60px -30px rgba(31,26,34,.6);overflow:hidden}
.gq-sum:before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,156,0,.35),transparent 70%)}
.gq-sum h3{font-size:19px;font-weight:700;margin:0 0 4px;color:#fff;position:relative}
.gq-sum .sub{font-size:13px;color:#BDB3BB;font-weight:500;margin:0 0 18px;position:relative}
.gq-kpi{display:flex;align-items:flex-end;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px 16px;margin-bottom:16px;position:relative}
.gq-kpi b{font-size:40px;line-height:1;font-weight:800;color:var(--or);font-variant-numeric:tabular-nums}
.gq-kpi b.sm{font-size:30px}
.gq-kpi .per{font-size:15px;color:#fff;font-weight:700;margin-left:6px}
.gq-kpi .det{display:block;font-size:12.5px;color:#BDB3BB;font-weight:600;margin-top:8px;line-height:1.35}
.gq-extra{font-size:12.5px;color:#FFD08A;font-weight:600;margin:-6px 0 12px;position:relative}
.gq-grp li .pr{margin-left:auto;font-size:12.5px;font-weight:700;color:#D9D0D6;font-variant-numeric:tabular-nums;white-space:nowrap}
.gq-grp li .a + .pr{margin-left:8px}
.gq-grp li .fq{margin-left:auto;font-size:11.5px;color:#A99EA7;white-space:nowrap}
.gq-grp li .fq + .pr{margin-left:8px}
.gq-sub{margin-top:8px}
.gq-tax .nm .gq-subhint{display:block;font-size:12px;margin-top:6px}
.gq-info{font-size:13px;color:var(--muted);font-weight:500;background:var(--bg);border:1px dashed #E0D6CC;border-radius:12px;padding:10px 14px;margin:16px 0 0}
.gq-grp{border-top:1px solid rgba(255,255,255,.1);padding:12px 0;position:relative}
.gq-grp h4{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#A99EA7;margin:0 0 8px;font-weight:800;display:flex;justify-content:space-between}
.gq-grp ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.gq-grp li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#F3EFF2;animation:gqIn .3s}
.gq-grp li .gq-mdl{background:rgba(255,255,255,.1);color:#FFD08A;margin:0}
.gq-grp li .a{margin-left:auto;flex:none;font-size:11px;font-weight:800;color:#1F1A22;background:var(--or);border-radius:6px;padding:2px 6px}
.gq-grp .none{font-size:13px;color:#8E838C;font-weight:500}
.gq-cta{appearance:none;border:0;width:100%;margin-top:16px;background:var(--or);color:#1F1A22;font:inherit;font-weight:800;font-size:16px;padding:16px;border-radius:14px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 10px 24px -10px rgba(255,156,0,.8);position:relative}
.gq-cta:hover{transform:translateY(-1px)}
.gq-cta[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.gq-note{font-size:12px;color:#A99EA7;text-align:center;margin:10px 0 0;position:relative}

/* contact */
.gq-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gq-f{display:flex;flex-direction:column;gap:6px}
.gq-f.full{grid-column:1/-1}
.gq-f label{font-size:13px;font-weight:700;color:var(--ink)}
.gq-f label i{color:var(--or);font-style:normal}
.gq-f input,.gq-f textarea{font:inherit;font-size:15px;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;color:var(--ink);transition:border .15s,box-shadow .15s;width:100%}
.gq-f input:focus,.gq-f textarea:focus{outline:0;border-color:var(--pu);box-shadow:0 0 0 4px rgba(113,75,103,.12)}
.gq-f.err input{border-color:#D9534F}
.gq-f textarea{min-height:92px;resize:vertical}
.gq-legal{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);font-weight:500}
.gq-legal input{margin-top:3px;accent-color:var(--pu);width:16px;height:16px}
.gq-legal a{color:var(--pu);font-weight:700}
.gq-legal.err{color:#D9534F}
.gq-submit{grid-column:1/-1;appearance:none;border:0;background:var(--pu);color:#fff;font:inherit;font-weight:800;font-size:16px;padding:16px 22px;border-radius:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s}
.gq-submit:hover{background:var(--pu-dark)}
.gq-submit[disabled]{opacity:.6;cursor:wait}
.gq-msg{grid-column:1/-1;font-size:14px;font-weight:600;color:#D9534F;display:none}
.gq-msg.show{display:block}

/* success */
.gq-done{text-align:center;padding:40px 20px}
.gq-done .big{width:84px;height:84px;border-radius:50%;background:var(--ok);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;animation:gqPop .5s cubic-bezier(.3,1.4,.6,1)}
.gq-done h2{font-size:26px;font-weight:700;margin:0 0 8px}
.gq-done p{color:var(--muted);font-size:16px;margin:0 auto;max-width:460px}

@media (min-width:992px) and (max-width:1199px){.gq-grid{grid-template-columns:minmax(0,1fr) 330px;gap:22px}.gq-card{padding:24px}}
/* mobile bar */
.gq-bar{display:none}
@media (max-width:991px){
  .gq-grid{grid-template-columns:1fr;gap:20px}
  .gq-steps{display:contents}
  .gq-steps .gq-card{order:1}
  .gq-side{order:2}
  .gq-steps #gq-datos{order:3}
  .gq-sum{position:relative;top:0}
  .gq-tiles{grid-template-columns:1fr}
  .gq-tile{flex-direction:row;align-items:center;gap:14px;padding:16px}
  .gq-tile .tx{display:flex;flex-direction:column;gap:2px;padding-right:28px}
  .gq-tile .ck{top:50%;transform:translateY(-50%)}
  .gq-bar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:1030;background:var(--ink);color:#fff;border-radius:18px;padding:10px 10px 10px 18px;align-items:center;gap:12px;box-shadow:0 20px 40px -12px rgba(0,0,0,.5);transition:transform .3s}
  .gq-bar.away{transform:translateY(140%)}
  .gq-bar b{font-size:22px;color:var(--or);font-weight:800}
  .gq-bar span{font-size:12.5px;line-height:1.25;color:#D9D0D6;font-weight:600}
  .gq-bar button{margin-left:auto;appearance:none;border:0;background:var(--or);color:#1F1A22;font:inherit;font-weight:800;font-size:14px;padding:12px 16px;border-radius:12px}
}
@media (max-width:575px){
  .gq{padding:36px 0 110px}
  .gq-card{padding:20px;border-radius:18px}
  .gq-form{grid-template-columns:1fr}
  .gq-tax{grid-template-columns:auto minmax(0,1fr);row-gap:10px}
  .gq-tax .gq-seg,.gq-tax .fx{grid-column:2;justify-self:start}
}
