
:root{
 --primary:#0f172a;
 --accent:#0ea5e9;
 --success:#16a34a;
 --bg:#f5f7fa;
 --card:#ffffff;
 --text:#1f2937;
 --muted:#6b7280;
 --radius:18px;
}
*{box-sizing:border-box}
body{
 margin:0;
 font-family:Inter,system-ui,Arial,sans-serif;
 background:var(--bg);
 color:var(--text);
}
.navbar{
 position:sticky;
 top:0;
 z-index:1000;
 background:#fff!important;
 box-shadow:0 2px 12px rgba(0,0,0,.06);
 padding:.8rem 0;
}
.navbar-logo{
 max-width:35px;
 height:auto;
 object-fit:contain;
}
.navbar .btn-success{
 padding:.4rem .8rem;
 font-size:.78rem;
 white-space:nowrap;
 border-radius:10px;
}
.navbar .container{
 flex-wrap:nowrap;
}
.breadcrumb-section{
 background:#f9fafb;
 border-bottom:1px solid #e5e7eb;
 font-size:.85rem;
}
.breadcrumb{
 margin:0;
}
.breadcrumb a{
 color:var(--accent);
 text-decoration:none;
}
.breadcrumb a:hover{
 text-decoration:underline;
}
.container{max-width:1320px}
h2,h3,h4,h5{font-weight:700}
#fotoPrincipal{
 width:100%;
 aspect-ratio:16/10;
 object-fit:cover;
 border-radius:var(--radius);
 box-shadow:0 12px 30px rgba(0,0,0,.12);
 background:#ddd;
}
.thumb{
 cursor:pointer;
 aspect-ratio:1;
 object-fit:cover;
 border-radius:12px;
 border:2px solid transparent;
 transition:.2s;
}
.thumb:hover{
 transform:translateY(-2px);
 border-color:var(--accent);
}
.col-lg-5>.alert{
 border:none;
 border-radius:16px;
 background:#eefaf3;
}
.btn-success{
 border-radius:14px;
 padding:.9rem;
 font-weight:700;
 background:#16a34a;
 border:none;
}
.btn-success:hover{
 background:#15803d;
}
.volvo-card{
 display:flex;
 align-items:center;
 gap:14px;
 padding:4px 2px;
}
.volvo-logo{
 max-width:55px;
 height:auto;
 object-fit:contain;
 flex-shrink:0;
}
.volvo-info{
 display:flex;
 flex-direction:column;
 gap:2px;
}
.volvo-info p{
 margin:0;
 line-height:1.35;
}
.volvo-title{
 font-weight:700;
 color:#1f2937;
 font-size:.82rem;
}
.volvo-subtitle{
 font-size:.76rem;
 color:#6b7280;
}
.volvo-detail{
 font-size:.76rem;
 color:#6b7280;
}
section{
 background:#fff;
 padding:32px;
 margin-top:40px;
 border-radius:20px;
 box-shadow:0 6px 20px rgba(0,0,0,.05);
}
.dreams-section{
 background:linear-gradient(135deg,#f8fafc 0%,#f0fdf4 100%);
}
.dreams-header h3{
 font-size:1.8rem;
 color:#0f172a;
 margin-bottom:8px;
}
.dreams-subtitle{
 color:#6b7280;
 font-size:1rem;
 margin-bottom:32px;
}
.dreams-grid{
 display:grid;
 grid-template-columns:repeat(2,1fr);
 gap:24px;
 margin-bottom:32px;
}
.dream-card{
 background:white;
 border-radius:14px;
 overflow:hidden;
 box-shadow:0 8px 20px rgba(0,0,0,.08);
 transition:.3s ease;
 display:flex;
 flex-direction:column;
}
.dream-card:hover{
 transform:translateY(-4px);
 box-shadow:0 12px 30px rgba(0,0,0,.12);
}
.dream-image{
 width:100%;
 aspect-ratio:16/10;
 object-fit:cover;
}
.dream-content{
 padding:20px;
 flex:1;
 display:flex;
 flex-direction:column;
}
.dream-card h5{
 color:#0f172a;
 margin-bottom:12px;
 font-size:1.1rem;
}
.dream-text{
 color:#6b7280;
 font-size:.95rem;
 line-height:1.6;
 margin:0;
 flex:1;
}
.dreams-cta{
 text-align:center;
 background:white;
 padding:32px;
 border-radius:14px;
 border:1px solid #e5e7eb;
}
.cta-text{
 font-size:1.1rem;
 font-weight:600;
 color:#0f172a;
 margin-bottom:16px;
}
.card{
 border:none;
 border-radius:18px;
 overflow:hidden;
 box-shadow:0 8px 20px rgba(0,0,0,.08);
 transition:.25s;
 height:100%;
}
.card:hover{
 transform:translateY(-4px);
}
.card img{
 width:100%;
 aspect-ratio:16/10;
 object-fit:cover;
}
.marketplace-section{
 background:#2b2f36;
}
.marketplace-section h3,
.marketplace-intro{
 color:#e5e7eb;
}
.marketplace-intro{
 font-size:.85rem;
 color:#9ca3af;
 margin-bottom:20px;
}
.marketplace-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:12px;
 margin:20px 0;
}
/* estado de busca */
.search-status{
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 text-align:center;
 gap:16px;
 min-height:220px;
 padding:24px;
 background:rgba(255,255,255,.04);
 border:1px dashed #4b5563;
 border-radius:12px;
 margin:20px 0;
}
.spinner{
 width:42px;
 height:42px;
 border:4px solid rgba(255,255,255,.15);
 border-top-color:#22c55e;
 border-radius:50%;
 animation:spin .8s linear infinite;
}
.spinner-sm{
 width:26px;
 height:26px;
 border-width:3px;
 border-color:#e5e7eb;
 border-top-color:#22c55e;
}
/* placeholder de card carregando */
.card-loading{
 background:#2b2f36!important;
 border:1px dashed rgba(255,255,255,.25);
 border-radius:10px;
 min-height:170px;
 display:flex;
 align-items:center;
 justify-content:center;
}
.card-loading-inner{
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:10px;
 text-align:center;
 padding:12px;
}
.card-loading-inner p{
 margin:0;
 font-size:.72rem;
 color:#fff;
}
.search-msg{
 color:#d1d5db;
 font-size:.9rem;
 line-height:1.7;
 margin:0;
}
.search-msg strong{
 color:#fff;
}
@keyframes spin{
 to{transform:rotate(360deg)}
}
.mkt-hidden{
 display:none!important;
}
/* efeito shake no card destaque */
@keyframes shake{
 0%,26%,50%,76%,100%{transform:translateX(0)}
 2%,10%,18%{transform:translateX(-9px)}
 6%,14%,22%{transform:translateX(9px)}
 52%,60%,68%{transform:translateX(-9px)}
 56%,64%,72%{transform:translateX(9px)}
}
.shake{
 animation:shake 1.8s ease-in-out;
}
.marketplace-card{
 background:white;
 border-radius:10px;
 overflow:hidden;
 border:1px solid #e5e7eb;
 transition:.3s ease;
 position:relative;
}
.marketplace-card:hover{
 box-shadow:0 8px 24px rgba(0,0,0,.12);
 transform:translateY(-2px);
}
.marketplace-card.featured{
 background:#f0fdf4;
 border:2px solid #16a34a;
}
.marketplace-badge{
 position:absolute;
 top:8px;
 left:8px;
 background:white;
 padding:4px 8px;
 border-radius:6px;
 font-size:.65rem;
 font-weight:700;
 display:flex;
 align-items:center;
 gap:4px;
 z-index:10;
 border:1px solid #e5e7eb;
}
.badge-icon{
 width:14px;
 height:auto;
 object-fit:contain;
}
.marketplace-card .card-body{
 padding:10px;
}
.marketplace-card h6{
 font-size:.75rem;
 margin-bottom:4px;
}
.marketplace-card .card-body .small{
 font-size:.65rem;
}
.marketplace-price{
 font-size:.95rem;
 font-weight:800;
 margin:0;
}
.ml-badge{
 border:1px solid #ffc600;
 color:#333;
}
.olx-badge{
 border:1px solid #333;
 color:#333;
}
.featured-badge{
 background:#16a34a;
 color:white;
 border:none;
}
.marketplace-img{
 width:100%;
 aspect-ratio:16/10;
 object-fit:cover;
}
.marketplace-price{
 color:#1f2937;
}
.marketplace-price.highlight{
 color:#15803d;
}
.search-result-badge{
 background:linear-gradient(135deg,#fef3c7 0%,#fef08a 100%);
 border:1px solid #fcd34d;
 border-radius:10px;
 padding:10px 14px;
 display:flex;
 align-items:center;
 gap:12px;
 margin-top:20px;
}
.result-icon{
 font-size:1.4rem;
 color:#16a34a;
 flex-shrink:0;
 line-height:1;
}
.result-text p{
 margin:0;
}
.result-title{
 font-weight:700;
 color:#854d0e;
 font-size:.8rem;
 text-transform:uppercase;
 letter-spacing:.02em;
}
.result-subtitle{
 font-size:.72rem;
 color:#92400e;
 margin-top:2px;
}
@media(max-width:768px){
 .search-result-badge{
  padding:8px 12px;
  gap:10px;
 }
 .result-icon{
  font-size:1.2rem;
 }
 .result-title{
  font-size:.72rem;
 }
 .result-subtitle{
  font-size:.65rem;
 }
}
.table th{
 width:220px;
 color:var(--muted);
}
.price-box{
 position:sticky;
 top:90px;
}
.market-badge{
 display:inline-block;
 background:#dcfce7;
 color:#166534;
 padding:8px 14px;
 border-radius:999px;
 font-weight:700;
}
.hero-price{
 font-size:2.2rem;
 font-weight:800;
 color:#15803d;
}
.old-price{
 color:#9ca3af;
 text-decoration:line-through;
}
.price-comparator{
 background:linear-gradient(135deg,#f0fdf4 0%,#f0f9ff 100%);
 padding:20px 24px;
 border-radius:14px;
 border:1px solid #86efac;
 margin:20px 0;
}
.price-row{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:20px;
}
.price-column{
 flex:1;
 text-align:center;
}
.price-label{
 font-size:.8rem;
 color:#6b7280;
 text-transform:uppercase;
 font-weight:600;
 margin-bottom:8px;
}
.price-value{
 font-size:1.6rem;
 font-weight:800;
 color:#7b2d26;
 margin:0;
 text-decoration:line-through;
}
.your-price .price-value{
 text-decoration:none;
 color:#15803d;
}
.your-price .price-value.highlight{
 font-size:2rem;
 color:#15803d;
}
.price-divider{
 color:#9ca3af;
 font-size:1.4rem;
}
.comparator-text{
 font-size:.8rem;
 color:#4b5563;
 margin:12px 0 0;
 padding-top:12px;
 border-top:1px solid #bbf7d0;
 font-style:italic;
}
.info-volvo-row{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 margin:8px 0 4px;
}
.info-volvo-row .info-icons{
 flex:1;
 margin:0;
}
.info-volvo-row .volvo-card{
 flex-shrink:0;
}
.info-icons{
 display:flex;
 flex-direction:column;
 gap:4px;
 margin:8px 0 4px;
}
@media(max-width:768px){
 .info-volvo-row{
  gap:10px;
 }
 .info-volvo-row .info-item{
  font-size:.68rem;
 }
 .info-volvo-row .volvo-title{
  font-size:.75rem;
 }
 .info-volvo-row .volvo-subtitle,
 .info-volvo-row .volvo-detail{
  font-size:.68rem;
 }
 .info-volvo-row .volvo-logo{
  max-width:42px;
 }
}
.info-item{
 display:inline-flex;
 align-items:flex-start;
 gap:6px;
 font-size:.78rem;
 color:#9ca3af;
 line-height:1.3;
}
.info-item i{
 color:#9ca3af;
}
@media(max-width:768px){
 .comparator-text{
  font-size:.78rem;
 }
 .info-item{
  font-size:.72rem;
 }
}
footer{
 padding:60px 0;
 text-align:center;
 color:#6b7280;
}
@media(max-width:991px){
 .price-box{position:static}
 section{padding:22px}
 .dreams-grid{
  grid-template-columns:repeat(2,1fr);
 }
}
@media(max-width:768px){
 .navbar-brand{
  font-size:.85rem;
 }
 .dreams-grid{
  grid-template-columns:1fr;
 }
 .marketplace-grid{
  grid-template-columns:repeat(2,1fr);
 }
 .price-comparator{
  padding:14px 16px;
 }
 .price-row{
  gap:10px;
 }
 .comparator-text{
  margin-top:10px;
  padding-top:10px;
 }
}

/* VIDEO EMBED (responsivo centralizado) */
.video-embed{
 position:relative;
 width:100%;
 max-width:800px;
 margin:0 auto;
 aspect-ratio:16/9;
 border-radius:14px;
 overflow:hidden;
 box-shadow:0 8px 24px rgba(0,0,0,.12);
 background:#000;
}
.video-embed iframe{
 position:absolute;
 inset:0;
 width:100%;
 height:100%;
 border:0;
}
.video-mobile{
 max-width:340px;
 margin:0 auto 8px;
}
.video-mobile .video-embed{
 box-shadow:0 4px 14px rgba(0,0,0,.15);
}

/* FICHA TÉCNICA centralizada só no desktop */
@media(min-width:992px){
 .ficha-section{
  text-align:center;
 }
 .ficha-table{
  max-width:680px;
  margin:0 auto;
  text-align:left;
 }
}