/* v3 frontend additions */
.utility-top{background:#10253e;color:#cbdff5;font-size:12px}
.utility-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.topbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.98);backdrop-filter:blur(16px);border-bottom:1px solid #e7edf3;box-shadow:0 3px 20px rgba(16,37,62,.04)}
.topbar .navrow{min-height:82px;gap:23px}
.topbar .brand{flex-shrink:0;display:flex;align-items:center;padding:4px 0}
.topbar .brand img{width:194px;height:auto;display:block}
#navlinks{display:flex;align-items:center;gap:25px}
#navlinks a{font-size:13px;font-weight:650;white-space:nowrap;transition:color .15s ease}
#navlinks a:hover,#navlinks a:focus-visible{color:#116dff}
.nav-cta{white-space:nowrap;background:#1967e9;color:#fff!important;display:inline-flex;align-items:center;gap:12px;border-radius:12px;padding:12px 17px;font-weight:750;font-size:13px;box-shadow:0 8px 19px rgba(25,103,233,.15)}
.nav-cta:hover{background:#0853ce}
.footer-brand img{width:186px;height:auto;display:block;max-width:100%;margin-bottom:14px}
.blog-main,.blog-article{padding-top:48px;padding-bottom:94px}
.blog-intro{max-width:750px;margin:30px 0 44px}
.blog-intro h1{margin:10px 0 12px;color:#142840}
.blog-intro p{font-size:18px;color:#687991}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.blog-card{background:white;overflow:hidden;border:1px solid #e2e9f1;border-radius:19px;display:flex;flex-direction:column;box-shadow:0 8px 30px rgba(15,44,78,.04)}
.blog-image{height:207px;overflow:hidden;background:#edf5ff;display:flex;align-items:center;justify-content:center}
.blog-image img{height:100%;width:100%;object-fit:cover;transition:transform .25s ease}
.blog-image:hover img{transform:scale(1.045)}
.blog-image-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%;background:linear-gradient(138deg,#0c2e54,#216ff0);font-size:52px;font-weight:850;letter-spacing:-.06em;color:#fff}
.blog-image-empty small{font-size:12px;font-weight:650;letter-spacing:.15em;color:#c6e7ff}
.blog-card-body{display:flex;flex-direction:column;flex:1;padding:23px}
.blog-date{font-size:12px;color:#76899b;font-weight:650}
.blog-card h3{font-size:20px;line-height:1.3;margin:10px 0 12px;color:#132842}
.blog-card p{font-size:14px;color:#65758b;line-height:1.7;flex:1}
.blog-read{font-size:13px;font-weight:800;color:#1468e8;padding-top:8px}
.blog-home{padding-top:50px;padding-bottom:74px}
.blog-article article{max-width:840px;margin:24px auto}
.blog-article article header{text-align:center;max-width:790px;margin:18px auto 30px}
.blog-article h1{font-size:clamp(33px,5vw,54px);margin:15px 0 20px}
.blog-lead{color:#6b7b8d;font-size:20px;line-height:1.65}
.article-cover{width:100%;max-height:490px;object-fit:cover;border-radius:18px;margin-bottom:30px}
.prose{font-size:17px;line-height:1.92;color:#2c3b4c}
.prose p{margin:0 0 22px}
.prose h2,.prose h3,.prose h4{margin:36px 0 15px;color:#122943;line-height:1.25}
.prose h2{font-size:29px}.prose h3{font-size:24px}
.prose a{color:#156cec;text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:26px;margin:0 0 24px}.prose li{padding-bottom:7px}
.blog-back{margin-top:48px;padding-top:24px;border-top:1px solid #e3eaf2}
@media(max-width:1024px){.topbar .navrow{gap:12px}#navlinks{gap:13px}.topbar .brand img{width:170px}}
@media(max-width:780px){.utility-inner span:last-child{display:none}.topbar .navrow{min-height:68px}.topbar .brand img{width:172px}#navlinks{gap:0}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-main,.blog-article{padding-top:24px}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}.blog-image{height:220px}.blog-intro{margin-top:20px}.nav-cta{font-size:12px;padding:10px 11px}}
@media(max-width:780px){#navlinks{display:none;position:absolute;top:68px;left:0;right:0;padding:18px 24px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid #e1e9f1;box-shadow:0 15px 30px #10253e23}.menu-open #navlinks{display:flex}#navlinks a{padding:12px 6px;font-size:14px}}

/* Segmentación de cuotas por perfil, sin asignar tarifas ficticias. */
#renting-calculator>.field:first-child{padding:12px;background:#f0f6ff;border:1px solid #dce9ff;border-radius:10px;margin:0 0 14px}
#renting-calculator>.field:first-child span{color:#13457c;font-weight:800}
/* Buscador: quinto campo para particular / autónomo / empresa. */
.home-search{grid-template-columns:repeat(4,minmax(0,1fr)) auto}
@media(max-width:1000px){.home-search{grid-template-columns:repeat(2,minmax(0,1fr))}.home-search button{grid-column:1/-1}}
@media(max-width:470px){.home-search{grid-template-columns:1fr}}

/* v3.2: SEO cluster /ofertas/, la categoría siempre tiene navegación y contenido propio */
.cluster-page{padding-top:31px}
.cluster-page .breadcrumbs{line-height:1.7;display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:#617487;font-size:12px}
.cluster-page .breadcrumbs a:hover{text-decoration:underline;color:#1d67db}
.cluster-page .crumb-sep{color:#b4c1ce}
.cluster-page .listing-top{padding:17px 0 4px}
.cluster-page .listing-top h1{max-width:800px}
.cluster-page .listing-top p{max-width:760px;line-height:1.7}
.cluster-nav-block{padding:25px 27px;margin-bottom:27px;border:1px solid #e1eafa;border-radius:19px;background:linear-gradient(125deg,#eef5ff 0%,#fff 78%)}
.cluster-nav-intro h2{margin:0 0 6px;font-size:20px;color:#12263e}
.cluster-nav-intro p{margin:0;color:#63768b;font-size:13px}
.cluster-chip-list{display:flex;gap:9px;flex-wrap:wrap;margin-top:19px}
.cluster-chip{display:inline-flex;align-items:center;gap:11px;padding:9px 13px;border:1px solid #dce6f2;border-radius:11px;background:#fff;color:#32465f;font-size:12px;font-weight:750;transition:background .2s,border-color .2s}
.cluster-chip span{color:#1a6be9;font-weight:900}
.cluster-chip:hover{border-color:#75a8fc;color:#1358c6;background:#f7faff}
.cluster-chip.is-current{background:#1969e8;color:#fff;border-color:#1969e8}
.cluster-chip.is-current span{color:#fff}
.cluster-seo-subnav{margin-top:54px;padding-top:25px;border-top:1px solid #e8eef5}
.cluster-seo-subnav h2{font-size:25px;color:#182f4b}
.cluster-brands{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 5px}
.cluster-brands>a{display:flex;flex-direction:column;gap:6px;padding:17px 18px;border:1px solid #e4ebf4;background:#fff;border-radius:13px;transition:box-shadow .2s,border-color .2s}
.cluster-brands>a:hover{border-color:#9abdf8;box-shadow:0 8px 25px rgba(20,56,92,.08)}
.cluster-brands strong{font-size:15px;color:#193047}
.cluster-brands span{font-size:12px;color:#457ab7}
.cluster-editorial{margin-top:55px;max-width:900px;padding:24px 0 10px;border-top:1px solid #e4e9ef}
.cluster-editorial h2{font-size:26px;color:#172d45;margin:0 0 17px}
.cluster-editorial p{line-height:1.85;color:#586b80;font-size:15px}
.audience-highlights{padding-bottom:82px}
.audience-highlights h2{font-size:29px;margin:0 0 23px}
.audience-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.audience-cards a{padding:24px 26px;border-radius:17px;background:#f4f8fd;border:1px solid #e1eaf6;display:flex;gap:8px;flex-direction:column;transition:border-color .15s,transform .15s}
.audience-cards a:hover{transform:translateY(-2px);border-color:#9fc3ff}
.audience-cards strong{font-size:20px;color:#182f4b}
.audience-cards span{font-size:13px;color:#5c7084}
.audience-cards em{font-style:normal;font-size:12px;color:#1a66d8;font-weight:800;margin-top:8px}
@media(max-width:1024px){.cluster-brands{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.cluster-page .listing-top{flex-direction:column;align-items:flex-start}.cluster-brands{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-cards{grid-template-columns:1fr}.cluster-nav-block{padding:20px}.cluster-page .listing-top h1{font-size:34px}}
@media(max-width:470px){.cluster-brands{grid-template-columns:1fr}.cluster-chip-list{gap:7px}.cluster-chip{padding:8px 10px}.cluster-page .listing-top h1{font-size:30px}}

@media(min-width:781px) and (max-width:1180px){.topbar #navlinks{gap:12px}.topbar #navlinks a{font-size:12px}.topbar .brand img{width:165px}.topbar .navrow{gap:12px}}

/* v3.2.2: filtro visible para nuevos y seminuevos, sin un bloque de enlaces redundante. */
.vehicle-type-filter{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin:0 0 22px;padding:0 0 17px;border-bottom:1px solid #e5eaf1}
.vehicle-type-label{font-size:13px;font-weight:800;color:#304560}
.vehicle-type-choices{display:flex;flex-wrap:wrap;gap:6px}
.vehicle-type-choice{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 16px;border:1px solid #d9e5f1;background:#fff;border-radius:9px;color:#38516c;font-size:13px;font-weight:750;transition:background .18s,border-color .18s,color .18s}
.vehicle-type-choice:hover{border-color:#7caaf4;color:#155dcc;background:#f1f6ff}
.vehicle-type-choice.is-active{background:#2168e9;border-color:#2168e9;color:#fff}
.vehicle-type-choice:focus-visible{outline:3px solid #9fc5ff;outline-offset:2px}
@media(max-width:470px){.vehicle-type-filter{align-items:stretch;flex-direction:column;gap:9px}.vehicle-type-choices{width:100%}.vehicle-type-choice{flex:1;padding:8px 9px}}

/* v3.3: categorías por carrocería; aparecen únicamente en un hub independiente. */
.typology-hub .listing-top{margin-bottom:20px}
.typology-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 48px}
.typology-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e2eaf4;border-radius:16px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.typology-card:hover{border-color:#b1c8ee;box-shadow:0 9px 23px rgba(21,66,112,.08)}
.typology-card>a{display:flex;flex-direction:column;gap:9px;flex:1;padding:23px 24px 15px}
.typology-icon{font-size:23px;color:#216ef0;font-weight:700;display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;background:#edf5ff}
.typology-card h2{font-size:21px;margin:0;color:#162c47}
.typology-card p{font-size:14px;line-height:1.65;color:#61758b;margin:0;flex:1}
.typology-card strong{font-size:13px;color:#155bc8;margin-top:5px}
.typology-card-links{border-top:1px solid #e8edf4;padding:13px 23px;display:flex;gap:18px;flex-wrap:wrap}
.typology-card-links a{font-size:13px;font-weight:750;color:#226ade}
.typology-card-links a:hover{text-decoration:underline}
.filters .field small{font-size:11px;color:#2367d3}
.home-search{grid-template-columns:repeat(5,minmax(0,1fr)) auto}
.topbar #navlinks{gap:16px}
@media(max-width:1250px){.topbar #navlinks{gap:9px}.topbar #navlinks a{font-size:12px}.topbar .nav-cta{padding:10px 12px}}
@media(max-width:1060px){.home-search{grid-template-columns:repeat(3,minmax(0,1fr))}.home-search button{grid-column:1/-1}}
@media(max-width:850px){.typology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.home-search{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.typology-grid,.home-search{grid-template-columns:1fr}}
