/* =========================================================
   Confirent V3 · pesquisa.css
   Página de pesquisa + funil de reserva (4 passos, popups carro/preço/acelerar/orçamento).
   Valores medidos no original a 1920 (cs/pesquisa-1920-*.json) + regras responsivas (rules.py).
   ========================================================= */

/* ---------- Tipografia partilhada do funil ---------- */
.pesquisa .main-title,.popup .main-title{font-size:30px;font-weight:700;color:var(--navy)}
.pesquisa .title-card,.popup .title-card{font-size:28px;font-weight:500;line-height:1.4;color:var(--navy)}
.pesquisa .info-extra-xs,.popup .info-extra-xs{font-size:15px;font-weight:500}
.pesquisa .info-extra{font-size:15px;font-weight:500;color:var(--grey-500)}
.pesquisa .info-extra-bold,.popup .info-extra-bold{font-size:12px;font-weight:600}
.pesquisa .txt-small,.popup .txt-small{font-size:12px;font-weight:500;color:var(--grey-500)}
.pesquisa .txt-green,.popup .txt-green{color:#69bf6d}
.pesquisa .price-span,.popup .price-span{font-size:18px;font-weight:600;line-height:1;color:var(--navy)}
.pesquisa .price-span span{font-size:24px}
.pesquisa .price-details-txt,.popup .price-details-txt{font-size:12px;font-weight:500;line-height:1.7;color:var(--grey-500);text-decoration:underline;cursor:pointer}
.ellipsis{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:1.2em!important;min-height:1.2em!important;line-height:1.2em!important}
.box-shadow{box-shadow:rgba(0,0,0,.14) 0 4px 5px 0,rgba(0,0,0,.12) 0 1px 10px 0,rgba(0,0,0,.2) 0 2px 4px -1px}

/* Botões do funil (.btn.brxe-button do original) */
.btn-sws{display:flex;align-items:center;justify-content:center;gap:10px;min-width:280px;padding:10px 30px;font-size:19px;font-weight:700;line-height:1.7;letter-spacing:.5px;text-align:center;color:var(--yellow);background-color:var(--navy);border-radius:10px;cursor:pointer;transition:all .3s ease-in-out}
.btn-sws:hover{color:var(--navy);background-color:var(--yellow)}
.btn-sws--forward{color:var(--navy);background-color:var(--yellow)}
.btn-sws--forward:hover{color:var(--yellow);background-color:var(--navy)}
.btn-sws--small{min-width:auto;padding:5px 15px;font-size:15px}
.btn-sws--block{width:100%}
@media (max-width:478px){.btn-sws{min-width:100%}}

/* Círculos de seleção (opção de reserva / seguro / modalidade) */
.check-option-reserva,.check-option-seguro{display:flex;flex-direction:column;align-items:center;justify-content:center;width:25px;min-width:25px;max-width:25px;height:25px;min-height:25px;max-height:25px;border:1px solid var(--grey-900);border-radius:50px}
.check-option-seguro{background-color:var(--white)}
.check-option-reserva>div,.check-option-seguro>div{width:15px;min-width:15px;max-width:15px;height:15px;min-height:15px;max-height:15px;border-radius:50px}
.check-option-reserva.selected>div,.check-option-seguro.selected>div{background-color:var(--navy)}

/* Blocos de erro */
.bloco-erro{display:flex;align-items:center;gap:15px;width:100%;padding:20px;background-color:rgba(248,109,109,.15);border-radius:10px}
.bloco-erro-seguro{margin-top:20px}

/* ---------- Passos (secções) ---------- */
.sws-step{display:flex;flex-direction:column;align-items:center;width:100%}
.sws-step--1{padding-top:30px;padding-bottom:30px}
.sws-step--2,.sws-step--3,.sws-step--4{margin-top:120px;margin-bottom:60px}
.sws-step--2,.sws-step--3{min-height:960px}

/* cabeçalho fixo de cada passo */
.sws-head{position:sticky;top:110px;z-index:2;display:flex;flex-direction:column;align-items:center;width:100%;background-color:var(--white)}
.sws-head__h1{width:100%;max-width:1600px;padding:30px 50px;line-height:1.4}
.sws-divider{display:flex;align-items:center;width:100%}
.sws-divider .line{width:100vw;height:1px;border-top:1px solid var(--grey-200)}
.sws-head__row{display:flex;flex-wrap:nowrap;align-items:center;gap:20px 100px;width:1600px;max-width:100%;padding:30px 50px}
.sws-head--4 .sws-head__row{gap:20px}
.sws-head__left{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:10px;width:calc(60% - 50px);max-width:100%}
.sws-head--4 .sws-head__left{width:100%}
/* A seta de voltar: o glifo so ocupa 38% da largura e 64% da altura da sua caixa,
   por isso a 30px ficava minuscula ao lado de um titulo de 30px a bold. A 46px a
   seta fica com a altura do titulo e o traco ganha espessura. As margens negativas
   anulam o espaco vazio de dentro do icone, para o intervalo ate ao titulo nao mudar. */
.sws-head__back{display:block;flex:0 0 auto;margin-top:-5px;font-size:46px;line-height:36px;color:var(--text);cursor:pointer}
.sws-head__back .icon{display:block;width:1em;height:1em;margin:0 -14px}
.sws-head__left .main-title{line-height:1.2}
.sws-head__right{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:15px;width:calc(40% - 50px);max-width:100%}
.sws-head--4 .sws-head__right{flex-direction:column;align-items:flex-end;justify-content:flex-start;width:100%}
.sws-head__price{display:flex;flex-direction:column;align-items:flex-end;width:fit-content;max-width:100%}
@media (max-width:1180px){.sws-head__row{align-items:flex-start}.sws-head__right{justify-content:flex-end}}
@media (max-width:770px){.sws-head__row{flex-wrap:wrap}.sws-head__left,.sws-head__right{width:100%}}
@media (max-width:478px){.sws-head__h1,.sws-head__row{padding-left:30px;padding-right:30px}.sws-head__right{flex-wrap:wrap;justify-content:center}.sws-head--4 .sws-head__right{align-items:center}}

/* contentor de cada passo */
.sws-step1__container,.sws-step__container{display:flex;flex-direction:column;align-items:flex-start}
.sws-step1__container{margin-top:60px}
.sws-step__container{column-gap:40px}
.sws-step--3 .sws-step__container{row-gap:60px}
.sws-step--4 .sws-step__container{gap:40px}
.sws-cols{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:60px 100px;width:100%;margin-top:60px}
@media (max-width:1180px){.sws-cols{flex-direction:column}}

/* ---------- Passo 1: filtros ---------- */
.sws-filters-wrap{display:flex;flex-direction:column;align-items:flex-start;width:100%;margin-top:60px}
.filters_search{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:10px;width:100%}
.dropdown-filter{position:relative;display:flex;flex-direction:column;max-width:100%;padding:7.5px 20px;font-size:16px;font-weight:500;line-height:1.7;color:var(--navy);background-color:var(--grey-50);border-radius:50px;cursor:pointer;transition:var(--fxx)}
.dropdown-filter .dropdown__toggle{display:flex;align-items:center;justify-content:center;gap:10px;font:inherit;color:inherit;cursor:pointer}
.dropdown-filter .dropdown__toggle>span:first-child{display:block}
.dropdown__arrow{display:flex;align-items:center;font-size:16px;line-height:18.4px}
.dropdown__chevron{width:16px;min-width:16px;height:16px;min-height:16px;transition:transform .1s cubic-bezier(0,0,.2,1)}
.dropdown-filter.is-open .dropdown__chevron{transform:rotate(180deg)}
.dropdown-filter .dropdown__content{position:absolute;top:100%;left:0;z-index:1001;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:200px;max-width:fit-content;padding:20px 15px;color:var(--grey-900);background-color:var(--white);border-radius:20px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
.dropdown-filter.is-open .dropdown__content{opacity:1;visibility:visible}
.dropdown-filter .menu-item{width:100%}
.dropdown-filter-option{display:flex;align-items:center;justify-content:center;gap:5px;width:100%!important;max-width:100%;padding:7.5px 15px;font-size:16px;font-weight:500;line-height:1.7;text-align:center;white-space:nowrap;color:var(--navy);background-color:var(--grey-50);border-radius:10px;cursor:pointer;transition:var(--ease)}
.filters_search .dropdown-filter-option.selected,.filters_search .dropdown-filter.selected{border-color:#1c335e!important;background:#1c335e!important;color:#fff!important}
@media (max-width:770px){.filters_search{flex-wrap:wrap}.dropdown-filter{width:calc(25% - 8px);padding-left:10px;padding-right:10px}}
@media (max-width:478px){.dropdown-filter{width:calc(50% - 5px)}}

/* ---------- Passo 1: listagem ---------- */
.listing-box{display:flex;flex-wrap:wrap;align-items:flex-start;gap:15px;width:100%;margin-top:40px;padding:15px;background-color:var(--grey-50);border-radius:20px}
@media (max-width:478px){.listing-empty{justify-content:center}}
.car-card{display:flex;flex-direction:column;align-items:flex-start;width:calc(33.333% - 10px);max-width:100%;background-color:var(--white);border-radius:20px;overflow:hidden;cursor:pointer;transition:var(--ease)}
@media (max-width:1180px){.car-card{width:calc(50% - 10px)}}
@media (max-width:478px){.car-card{width:100%}}
.car-card .bloco-carro{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;width:100%;height:500px;min-height:500px;max-height:500px;padding:20px 0;background-color:var(--white)}
@media (max-width:478px){.car-card .bloco-carro{height:350px;min-height:350px;max-height:350px}}
.car-card .image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.car-block__head{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:0 20px;color:var(--white)}
.car-block__name{width:100%;font-size:23px;font-weight:700;color:var(--white)}
.car-block__similar{font-size:16px;font-weight:500;line-height:1.7}
.car-block__type{font-size:14px;font-weight:500;line-height:1.7}
.car-block__foot{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;width:100%}
.car-block__perks{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:10px 20px}
.car-block__perk{display:flex;align-items:center;gap:5px;width:100%;font-size:16px;font-weight:500;line-height:1.7;color:var(--white)}
.car-block__perk .icon{width:auto;height:18px;font-size:18px;color:var(--green)}
.car-block__line{width:100%;height:1px;border-top:1px solid var(--grey-50)}
.car-block__bottom{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 20px 0}
.car-block__specs{display:flex;align-items:flex-start;gap:15px}
.bloco-info-car{display:flex;flex-wrap:nowrap;align-items:center;gap:5px;width:fit-content;font-size:15px;color:var(--grey-500)}
.bloco-info-car .icon{display:block;width:auto;height:15px;flex:0 0 auto}
.bloco-info-car>div{line-height:1.7}
.car-block__specs .bloco-info-car,.car-block__specs .bloco-info-car .icon{color:var(--white)}
.car-block__prices{display:flex;align-items:flex-end;gap:5px}
.car-block__prices .price_day{font-size:23px;font-weight:600;line-height:1.2;white-space:nowrap;color:var(--white)}
.car-block__prices .price_total{font-size:13px;font-weight:500;line-height:1.7;color:var(--grey-500)}
.car-block__cta{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;width:100%;padding:20px 20px 0}
@media (max-width:478px){.car-block__cta{flex-direction:column;flex-wrap:wrap;gap:10px}.bloco-info-car{width:calc(33.333% - 10px);justify-content:center}.car-block__name{font-size:18px}.car-block__bottom{flex-direction:column;flex-wrap:wrap;gap:10px;padding-top:10px}.car-block__specs{width:100%}.car-block__prices{width:100%;align-items:center;justify-content:center}.car-block__prices .price_day{font-size:18px}.car-block__prices .price_total{font-size:11px}}

/* ---------- Passo 2: seguros ---------- */
.sws-cols--68>:first-child{width:calc(68% - 50px)}
.sws-cols--68>.visao-geral{width:calc(32% - 50px)}
@media (max-width:1180px){.sws-cols--68>:first-child,.sws-cols--68>.visao-geral{width:100%}}
.cards-seguro{display:flex;flex-wrap:wrap;align-items:stretch;gap:15px;max-width:100%}
.card-extra-protec{display:flex;flex-direction:column;align-items:flex-start;width:calc(50% - 10px);background-color:var(--white);border:1px solid var(--grey-200);border-radius:10px;overflow:hidden;cursor:pointer}
@media (max-width:478px){.card-extra-protec{width:100%}}
.card-extra-protec__head{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:20px;color:var(--white);background-color:var(--navy)}
.card-extra-protec__stars{display:flex;align-items:flex-start;gap:2px;width:100%;font-size:20px;line-height:20px;color:var(--yellow)}
.card-star{width:.8em;height:1em;color:var(--yellow)}
.card-extra-protec__title{display:flex;align-items:flex-start;justify-content:space-between;width:100%}
.card-extra-protec__title .nome{line-height:1.2;color:var(--white)}
.card-extra-protec .franquia{line-height:1.7}
.card-extra-protec .descricao{display:flex;flex-direction:column;align-items:flex-start;row-gap:10px;width:100%;padding:20px}
.seguro_incluido .descricao{flex-grow:1}
.plano-cartao-activo,.plano-cartao-inactivo{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;width:100%;font-size:15px;line-height:1.7}
.plano-cartao-activo{color:var(--navy)}
.plano-cartao-inactivo{color:var(--grey-500)}
.plano-cartao-activo>.icon,.plano-cartao-inactivo>.icon{display:block;width:15px;height:15px;flex:0 0 auto}
.plano-cartao-activo .text,.plano-cartao-inactivo .text{font-size:15px;font-weight:500}
.plano-cartao-activo .text{text-align:center}
.info-balloon{display:flex;flex-direction:column;align-items:flex-start;margin-left:auto;font-size:15px;line-height:15px}
.info-balloon .icon{display:block;width:15px;height:15px}
.card-extra-protec__line{width:100%;height:1px;margin:15px 0;border-top:1px solid var(--grey-50)}
.card-extra-protec__price{display:flex;align-items:flex-end;gap:10px;width:100%}
.card-extra-protec__price .preco_antigo{line-height:1;text-decoration:line-through}
.pesquisa .card-extra-protec__included{font-weight:700;line-height:1.1}

.visao-geral{display:flex;flex-direction:column;align-items:flex-start;gap:15px;width:100%;padding:20px;background-color:var(--grey-50);border-radius:10px}
.visao-geral--sticky{position:sticky;top:340px}
.visao-geral__title{font-size:23px;font-weight:600;line-height:1.7;color:var(--navy)}
.visao-geral .linha{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;width:100%;color:var(--navy)}
.visao-geral .linha>.icon{display:block;width:15px;height:15px;flex:0 0 auto}
.visao-geral .linha .text{font-size:15px;font-weight:500;line-height:1.7;color:var(--navy)}

/* ---------- Passo 3: extras ---------- */
.listagem-extras{display:flex;flex-direction:column;flex-wrap:wrap;align-items:stretch;gap:15px;max-width:100%}
.checkout-block-extra{display:flex;flex-direction:column;align-items:flex-start;gap:10px 15px;width:100%;padding:20px;background-color:var(--grey-50);border:1px solid var(--grey-200);border-radius:10px}
.checkout-block-extra__row{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:15px;width:100%}
@media (max-width:770px){.checkout-block-extra__row{flex-direction:column}}
.checkout-block-extra__text{display:flex;flex-direction:column;align-items:flex-start;width:fit-content;max-width:100%}
.complementostitulo{font-size:17px;font-weight:600;line-height:1.7;color:var(--navy)}
.pesquisa .price-span-xs{margin-top:5px;font-size:18px;line-height:1.7}
.abrir-detalhes,.fechar-detalhes{margin-left:auto;font-size:12px;font-weight:600;line-height:1.7;text-decoration:underline;cursor:pointer}
.single-select{display:flex;flex-direction:column;align-items:center;justify-content:center;width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px;max-height:20px;border:1px solid var(--navy);cursor:pointer}
.single-select .icon{display:none;width:15px;height:15px;color:var(--navy)}
.single-select.selected .icon{display:flex}
.multiple-select{display:flex;flex-wrap:nowrap;align-items:center;gap:3px;width:fit-content;padding:3px 10px 5px;background-color:var(--grey-50);border:1px solid var(--grey-200);border-radius:10px}
.multiple-select .menos,.multiple-select .mais{display:block;font-size:15px;line-height:15px;color:var(--text);cursor:pointer}
.multiple-select .icon{display:block;width:15px;height:15px}
.multiple-select__field{display:flex;align-items:center;justify-content:center;width:30px;height:auto;text-align:center}
.multiple-select input{width:100%;padding:0!important;font-size:15px;line-height:10px;text-align:center!important;border:none;background-color:var(--grey-50);-moz-appearance:textfield}
.multiple-select input::-webkit-inner-spin-button,.multiple-select input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.checkout-block-extra-info{display:flex;align-items:flex-start;gap:10px;width:100%;padding:15px;background-color:var(--white);border:1px solid var(--grey-50);border-radius:10px}
.checkout-block-extra-info .imagem{max-width:200px}
.checkout-block-extra-info .descricao{line-height:1.7}

/* ---------- Passo 4: checkout ---------- */
.sws-cols--checkout>.checkout{width:100%}
.sws-cols--checkout>.detalhes-fim-wrap{width:calc(50% - 5px)}
@media (max-width:1180px){.sws-cols--checkout>.detalhes-fim-wrap{width:100%}}
.checkout{display:flex;flex-direction:column;flex-wrap:wrap;align-items:stretch;gap:40px 15px}
.checkout__block{display:flex;flex-direction:column;align-items:flex-start;gap:15px;width:100%}
.checkout__block .info-extra-xs{line-height:1.7}

/* formulários (estilo do form do Bricks) */
.sws-form{display:flex;flex-wrap:wrap;width:100%}
.sws-form .form-group{display:flex;flex-direction:column;width:100%;padding-bottom:20px}
.sws-form--half .form-group{width:50%}
.sws-form--half .form-group:nth-child(odd){padding-right:10px}
.sws-form--half .form-group:nth-child(even){padding-left:10px}
.sws-form .form-group--full{width:100%!important;padding-left:0!important;padding-right:0!important}
.sws-form .form-group--20{width:20%;padding-right:10px}
.sws-form .form-group--80{width:80%;padding-left:10px}
@media (max-width:770px){.sws-form .form-group{width:100%!important;padding-left:0!important;padding-right:0!important}}
.sws-form label{margin-bottom:5px;font-size:16px;font-weight:500;line-height:1.7;letter-spacing:.4px;color:var(--navy);cursor:default}
.sws-form input,.sws-form select,.sws-form textarea{width:100%;height:42px;padding:0 12px;font-size:15px;line-height:40px;color:var(--text);background-color:var(--white);border:1px solid var(--grey-200);border-radius:5px;outline:none;transition:.2s}
.sws-form input:hover,.sws-form select:hover,.sws-form textarea:hover{border-color:var(--navy)}
.sws-form ::placeholder{font-size:16px;font-weight:500;color:var(--grey-500);opacity:1}
.sws-form select{font-size:16px;font-weight:500;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,rgba(0,0,0,0) 50%,#808080 0),linear-gradient(135deg,#808080 50%,rgba(0,0,0,0) 0);background-size:4px 4px,4px 4px;background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 16px) calc(50% + 2px);background-repeat:no-repeat}
.sws-form textarea{height:auto;min-height:90px;padding:10px 12px;line-height:1.7;resize:vertical}
.sws-form input[type=number]{-moz-appearance:textfield}
.sws-form input[type=number]::-webkit-inner-spin-button,.sws-form input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dados_obrigatorios input.error,.dados_obrigatorios select.error{border-color:red!important}
.sws-form .form-group--submit{align-items:flex-start}
.sws-form__submit{display:inline-flex;width:auto;align-items:center;justify-content:center;gap:10px;padding:7px 14px;font-size:14px;font-weight:700;line-height:1.15;letter-spacing:.5px;color:var(--white);background-color:var(--navy);border-radius:5px;cursor:pointer}
.sws-form .sws-form__submit-hidden{display:none}
/* select2 (país) */
.dados_faturacao .select2-container{width:100%!important}
.dados_faturacao .select2-selection{height:100%;padding:0 12px;font-size:inherit;line-height:40px;color:currentcolor;border:1px solid var(--grey-200)!important;border-radius:5px;box-shadow:none;outline:none;width:100%}
.dados_faturacao .select2-container--default .select2-selection--single .select2-selection__rendered,.dados_faturacao .select2-selection__clear{padding:0;line-height:40px!important}
.dados_faturacao .select2-selection__arrow{height:40px!important}

/* acordeões */
.checkout__accordion,.checkout__info{display:block;width:100%}
.checkout__acc-title{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;width:100%;min-height:50px;cursor:pointer}
.checkout__acc-icon{width:1em;height:1em;font-size:15px;color:var(--navy);transition:transform .1s}
.accordion__item.is-open .checkout__acc-icon{transform:rotate(90deg)}
.accordion__content{display:none;flex-direction:column;align-items:flex-start;width:100%}
.accordion__item.is-open .accordion__content{display:flex}
.checkout__acc-content{padding:15px 0}
.checkout__info-title{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:15px;width:fit-content;min-height:50px;cursor:pointer}
.checkout__info-h{font-size:15px;font-weight:500;line-height:1.4;color:var(--text);text-decoration:underline}
.checkout__info-icon{width:1em;height:1em;font-size:15px;color:var(--grey-500)}
.checkout__info-text{line-height:1.7}
.checkout__info-text ul{margin-top:1em;padding-left:1.5em;list-style:disc}
.checkout__info-text li+li{margin-top:.5em}

/* modalidade de pagamento */
.modalidades_pagamento{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:10px;width:100%}
.modalidade_pagamento{display:flex;flex-wrap:nowrap;align-items:center;gap:15px;width:100%;padding:10px;background-color:var(--grey-50);border-radius:10px;cursor:pointer}
.modalidade_pagamento__text{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.modalidade_pagamento .titulo{font-size:15px;font-weight:600;line-height:1.7;color:var(--navy)}
@media (max-width:770px){.modalidades_pagamento{flex-direction:column}}

/* total + pagar */
.checkout__final{display:flex;flex-direction:column;align-items:flex-start;gap:20px;width:100%}
.checkout__total{display:flex;flex-wrap:nowrap;align-items:flex-start;width:100%}
.checkout__total-left{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.pesquisa .checkout__total-label{line-height:1.7;color:var(--text)}
.checkout__total-right{display:flex;flex:0 0 auto;align-items:center;gap:10px;width:auto}
.restante_m50_50{line-height:1;white-space:nowrap}
.checkout__accept{width:100%;line-height:1.7}
.checkout__accept a{text-decoration:underline}

/* resumo lateral */
.detalhes-fim-wrap{position:sticky;top:230px;display:flex;flex-direction:column;align-items:flex-start;background-color:var(--grey-50);border-radius:10px}
.detalhes-fim{display:flex;flex-direction:column;align-items:flex-start;gap:30px 15px;width:100%;padding:20px}
.detalhes-fim__car{display:flex;flex-wrap:nowrap;align-items:stretch;gap:15px;width:100%}
.detalhes-fim__img{position:relative;width:130px;border-radius:5px;overflow:hidden}
.detalhes-fim__img .image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.detalhes-fim__car-text{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.detalhes-fim .name{font-size:15px;font-weight:600;line-height:1.7;color:var(--navy)}
.detalhes-fim .info-extra-xs{line-height:1.7}
.detalhes-fim .days{margin-top:5px;line-height:1.7;color:var(--navy)}
.detalhes-fim__where{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:100%;margin-left:10px}
.detalhes-fim .pickup-station{font-size:18px;font-weight:600;line-height:1.7;color:var(--navy)}
.detalhes-fim .pickup-date{font-size:15px;font-weight:500;line-height:1.7;color:var(--navy)}
.detalhes-fim__line{width:100%;height:1px;border-top:1px solid var(--grey-200)}
.visao-geral--fim{background:none;border-radius:0}
.visao-geral--fim .visao-geral__title{font-size:19px}

/* ---------- Popup: detalhes do carro ---------- */
.popup--car .popup__content{width:1600px;max-width:100%;max-height:100%;padding:30px;background-color:transparent;border-radius:20px;overflow:auto}
.popup-car-details{display:flex;flex-direction:column;align-items:center;width:100%;min-height:100%;background-color:var(--white);border-radius:20px}
.pcd{display:flex;flex-wrap:nowrap;align-items:stretch;width:100%;min-height:100%;padding:0 50px;background-color:var(--white);border-radius:20px}
.pcd__left{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.pcd__head{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding-top:20px}
.pcd__name{font-size:30px;font-weight:700;line-height:1.7;color:var(--navy)}
.pcd__similar{font-size:16px;font-weight:500;line-height:1.7;color:var(--grey-600)}
.pcd__type{font-size:16px;font-weight:500;line-height:1.7;color:var(--navy)}
.pcd__car{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:100%}
.pcd__image{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%}
.pcd__image .image{position:relative;width:300px;height:auto;align-self:center;border-radius:10px;object-fit:cover}
.pcd__specs{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%}
.pcd__specs-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:15px;width:100%;padding:20px 0 30px}
.pcd__specs-row .bloco-info-car>div{font-weight:500}
.pcd__right{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:15px;width:100%;padding:30px;border-left:1px solid var(--grey-50)}
.pcd__close{position:absolute;top:30px;right:30px;font-size:20px;line-height:20px;color:var(--text);cursor:pointer;transition:var(--fxx)}
.pcd__close:hover{color:var(--navy)}
.pcd__close .icon{display:block;width:1em;height:1em}
.bloco-opcoes-reserva{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.pcd__section-title{margin-bottom:15px;font-size:22px;font-weight:600;line-height:1.7;color:var(--navy)}
.block-check-reserva{display:flex;flex-wrap:nowrap;align-items:center;gap:15px;width:100%;padding:10px;cursor:pointer}
.block-check-reserva.melhor_preco{border:1px solid var(--grey-900);border-radius:10px 10px 0 0}
.block-check-reserva.flex{border:1px solid var(--grey-900);border-top:0;border-radius:0 0 10px 10px}
.block-check-reserva__text{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.block-check-reserva .titulo{font-size:15px;font-weight:600;line-height:1.7;color:var(--navy)}
.block-check-reserva .descricao{font-size:12px;font-weight:500;line-height:1.7;color:var(--text)}
.block-check-reserva__right{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:10px;width:fit-content}
.block-check-reserva.flex .block-check-reserva__right{gap:7px}
.block-check-reserva .tooltip{position:relative;display:flex;flex-direction:column;align-items:flex-start;font-size:20px;line-height:20px}
.block-check-reserva .tooltip .icon{display:inline-block;width:1em;height:1em}
.pcd__popular{width:fit-content;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.7;color:var(--white);background-color:var(--navy);border-radius:20px}
.block-check-reserva .price{color:var(--navy)}
.pcd__extras-title{font-size:15px;font-weight:600;line-height:1.7;color:var(--text)}
.bloco-extras-incluidos{display:flex;flex-direction:column;align-items:flex-start;row-gap:10px;width:100%;margin-bottom:15px}
.block-check-reserva--grey{background-color:var(--grey-50);border-radius:10px;cursor:default}
.block-check-reserva--grey .info-extra-bold{flex:0 0 auto;line-height:1.7;color:var(--navy)}
.pcd__foot{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;width:100%;margin-top:auto;margin-bottom:0}
.pcd__foot-prices{display:flex;flex-direction:column;align-items:flex-start;row-gap:5px;width:fit-content}
.pcd__foot-row{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:10px;width:fit-content}
.pcd__foot-row .price_day{font-size:20px;font-weight:600;line-height:1}
.pcd__foot-row .price_total{font-size:16px;line-height:1.2;color:var(--text)}
.pcd__next-mobile{display:none}
@media (max-width:1180px){.pcd{padding:0 30px}}
@media (max-width:770px){.popup--car .popup__content{height:auto;padding-top:120px}.popup-car-details{position:relative;height:fit-content;overflow-y:scroll}.pcd{flex-direction:column;padding:0 20px}.pcd__right{position:static;padding:30px 20px;border:0}}
@media (max-width:478px){.popup--car .popup__content{padding:0}.popup-car-details{min-height:auto}.pcd__right{padding-left:10px;padding-right:10px}.pcd__foot{row-gap:15px}.pcd__foot .btn-sws{display:none}.pcd__next-mobile{position:sticky;bottom:20px;display:flex;width:100%}.block-check-reserva__right{flex-wrap:wrap;row-gap:5px}}

/* ---------- Popup: detalhes do preço ---------- */
.popup--price{z-index:10001}
.popup--price .popup__content{width:650px;max-width:100%;padding:0;border-radius:20px}
.popup-detalhes-preco{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;min-height:300px;padding:50px 30px}
.pdp{display:flex;flex-direction:column;align-items:flex-start;row-gap:15px;width:100%;height:100%}
.pdp__close{position:absolute;top:30px;right:30px;font-size:25px;line-height:25px;color:var(--text);cursor:pointer;transition:var(--fxx)}
.pdp__close:hover{color:var(--navy)}
.pdp__close .icon{display:block;width:1em;height:1em}
.pdp__title{font-size:22px;font-weight:700;line-height:1.7;text-transform:uppercase}
.pdp .tabela{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.pdp .linha{display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:space-between;gap:15px;width:100%;line-height:1.7}
.pdp__total{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;width:100%;margin-top:auto}

/* ---------- Popup: acelerar a minha reserva ---------- */
.popup--acelerar .popup__content{width:1600px;max-width:100%;max-height:100%;padding:0;background-color:transparent;overflow:auto}
.popup-acelerar{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;padding:30px 0;background-color:var(--white);border-radius:20px;overflow:hidden}
.popup-acelerar__close{position:absolute;top:20px;right:20px;font-size:30px;line-height:30px;color:var(--text);cursor:pointer}
.popup-acelerar__close .icon{display:block;width:1em;height:1em}
.popup-acelerar__inner{display:flex;flex-direction:column;align-items:flex-start;gap:15px;width:100%}
.popup-acelerar__title{margin:0}
.popup-acelerar__sub{font-size:18px;font-weight:500;line-height:1.7}
.popup-acelerar__line{width:100%;height:1px;margin-bottom:20px;border-top:1px solid var(--grey-200)}
@media (max-width:478px){.popup-acelerar{overflow:scroll}}

/* ---------- Popup: pedido de orçamento ---------- */
.popup--orcamento .popup__content{width:1600px;max-width:100%;max-height:100%;padding:30px;border-radius:20px;overflow:auto}
.popup-orcamento{display:flex;flex-direction:column;align-items:center;width:100%}
.popup-orcamento__inner{position:relative;display:flex;flex-direction:column;align-items:flex-start}
.popup-orcamento__close{position:absolute;top:0;right:0;font-size:30px;line-height:30px;color:var(--text);cursor:pointer}
.popup-orcamento__close .icon{display:block;width:1em;height:1em}
.popup-orcamento__title{display:block;width:100%;max-width:1600px;padding:30px 0;line-height:1.4}
.sws-form--gf{gap:0 20px}
.sws-form--gf .form-group--half{width:calc(50% - 10px)}
.sws-form--gf .req{font-size:13px;color:#c02b0a}
.sws-form__time{display:flex;align-items:center;gap:8px}
.sws-form__time input{max-width:90px}
@media (max-width:770px){.sws-form--gf .form-group--half{width:100%}}

/* ---------- Loading (igual ao original: fundo navy + logotipo a pulsar) ---------- */
.confirent-loading{position:fixed;top:0;left:0;z-index:99999;display:flex;width:100vw;height:100vh;background:rgba(28,51,94,.8)}
.confirent-loading__spinner{position:absolute;top:50%;left:50%;width:200px;height:200px;margin:-100px 0 0 -100px;border:0;border-radius:0;background:url(../../img/confirent_logotipo.png) no-repeat center center;background-size:contain;animation:pulse_y 3s infinite}
@keyframes pulse_y{0%{transform:scale(.8)}50%{transform:scale(1.2)}100%{transform:scale(.8)}}

/* ---------- área de cliente dentro do checkout ---------- */
/* O bloco nasce escondido (hidden no HTML) e só aparece quando o JS confirma que a
   área de cliente está ligada: sem ela, o funil fica exatamente como estava. */
/* O funil usa display:flex em quase tudo, e isso ganha ao atributo hidden do HTML.
   Sem esta linha, uma caixa de erro vazia ficava a ocupar espaço no ecrã. */
.checkout-conta [hidden],.checkout-criar [hidden],.checkout-conta[hidden],.checkout-criar[hidden]{display:none!important}
.checkout-conta{gap:12px;padding:18px 20px;background:var(--grey-50,#f5f6f9);border:1px solid var(--grey-200,#e2e5ee);border-radius:12px}
.checkout-conta__linha{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%}
.checkout-conta__texto{font-size:16px;line-height:1.5;color:var(--navy)}
.checkout-conta__abrir.btn-sws{min-width:auto;padding:7px 22px;font-size:16px}
.btn-sws--ghost{color:var(--navy);background:transparent;border:1px solid var(--navy)}
.btn-sws--ghost:hover{color:#fff;background:var(--navy)}
.checkout-conta__form{width:100%}
.checkout-conta__form .sws-form{margin-bottom:6px}
.checkout-conta__acoes{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.checkout-conta__acoes .btn-sws{min-width:auto;padding:8px 26px;font-size:16px}
.checkout-conta__link{font-size:15px;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.checkout-conta__erro{width:100%;margin-top:10px}

.checkout-criar{width:100%;padding:16px 18px;background:var(--grey-50,#f5f6f9);border:1px solid var(--grey-200,#e2e5ee);border-radius:12px}
.checkout-criar__linha{display:flex;align-items:flex-start;gap:10px;font-size:16px;line-height:1.5;color:var(--navy);cursor:pointer}
.checkout-criar__linha input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:var(--navy)}
.checkout-criar__campos{margin-top:14px}
.checkout-criar__campos label{display:block;margin-bottom:6px;font-size:15px;font-weight:700;color:var(--navy)}
.checkout-criar__campos input{width:100%;max-width:360px;height:46px;padding:0 14px;font-size:16px;background:#fff;border:1px solid var(--grey-200,#e2e5ee);border-radius:8px}
.checkout-criar__campos .info-extra-xs{margin-top:6px}
@media (max-width:478px){.checkout-criar__campos input{max-width:100%}}

/* ---------- esqueleto dos carros ----------
   Mesma grelha e mesma altura do .car-card verdadeiro (ver .car-card acima): é
   isso que impede a página de saltar quando os carros entram. As pecas .esq vem
   de components/esqueleto.css. */
.listing-esqueleto{margin-top:40px}
.car-esq{pointer-events:none;cursor:default}
.car-esq .bloco-carro{justify-content:space-between;padding:20px}
/* O bloco grande faz de imagem: no cartao a serio a foto ocupa o cartao todo. */
.esq--carro{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:0;background:var(--grey-100)}
.car-esq__head,
.car-esq__foot{position:relative;z-index:1;display:flex;flex-direction:column;gap:9px;width:100%}
.car-esq__fundo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.esq--carro-nome{width:64%;height:19px;background:var(--grey-200)}
.esq--carro-tipo{width:40%;height:12px;background:var(--grey-200)}
.esq--carro-linha{width:78%;height:11px;background:var(--grey-200)}
.esq--carro-linha-curta{width:56%}
.esq--carro-specs{width:44%;height:14px;background:var(--grey-200)}
.esq--carro-preco{width:30%;height:22px;background:var(--grey-200)}

/* ---------- o pano azul de ecra inteiro ----------
   Passa a estar DESLIGADO por omissao e so se liga com .is-on. Ficou reservado
   para o unico sitio onde tapar o ecra e o comportamento certo: depois de
   carregar em "Pagar", enquanto a reserva e criada e o Stripe abre. Ai bloquear
   e mesmo o que se quer, para ninguem carregar duas vezes e pagar duas vezes. */
.confirent-loading{display:none}
.confirent-loading.is-on{display:flex}
