/* ============================================================
   Vehículos Manager – Public Styles v2.0
   ============================================================ */

/* ================================================================
   CAROUSEL
   ================================================================ */
.vm-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-bottom: 48px;
    user-select: none;
}
.vm-carousel__track-wrap { overflow: hidden; }
.vm-carousel__track {
    display: flex;
    gap: 20px;
    transition: transform .45s cubic-bezier(.25,.46,.45,.94);
    will-change: transform;
}

/* ---- Card ---- */
.vm-card {
    flex: 0 0 calc(33.333% - 14px);
    min-width: 280px;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.10);
    transition: transform .25s, box-shadow .25s;
}
.vm-card:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,.18); }
.vm-card__link { display: block; text-decoration: none; color: inherit; }
.vm-card__link:hover { text-decoration: none; color: inherit; }

@media(max-width:900px) { .vm-card { flex: 0 0 calc(50% - 10px); } }
@media(max-width:560px) { .vm-card { flex: 0 0 100%; } }

.vm-card__image-wrap { position:relative; height:220px; overflow:hidden; background:#f0f2f5; }
.vm-card__image { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.vm-card:hover .vm-card__image { transform: scale(1.04); }
.vm-card__image-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:4rem; background:#e8ecf2; }
.vm-card__marca-badge { position:absolute; top:14px; left:14px; background:rgba(0,0,0,.65); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase; padding:4px 10px; border-radius:20px; backdrop-filter:blur(4px); }

.vm-card__body { padding:18px 20px 20px; }
.vm-card__modelo { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.7px; color:#9ca3af; margin-bottom:4px; }
.vm-card__titulo { margin:0 0 8px; font-size:1.05rem; font-weight:700; color:#111827; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.vm-card__desc { font-size:.83rem; color:#6b7280; margin:0 0 14px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.vm-card__footer { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.vm-card__precio { font-size:1.3rem; font-weight:800; color:var(--wp--preset--color--primary); letter-spacing:-.5px; }
.vm-card__btn { display:inline-block; background:#111827; color:#fff; padding:7px 16px; border-radius:8px; font-size:.8rem; font-weight:600; transition:background .2s; }
.vm-card:hover .vm-card__btn { background:var(--wp--preset--color--primary); }

/* Arrows */
.vm-carousel__arrow { position:absolute; top:calc(50% - 24px); transform:translateY(-50%); z-index:10; background:#fff; border:1px solid #e5e7eb; width:42px; height:42px; border-radius:50%; font-size:1.1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 10px rgba(0,0,0,.12); transition:all .2s; padding:0; color:rgba(255,255,255,.7) !important; }
.vm-carousel__arrow:hover { background:var(--wp--preset--color--primary); color:#fff; border-color:var(--wp--preset--color--primary); box-shadow:0 4px 16px rgba(232,50,30,.35); }
.vm-carousel__arrow--prev { left:-16px; }
.vm-carousel__arrow--next { right:-16px; }
@media(max-width:560px){.vm-carousel__arrow--prev{left:4px}.vm-carousel__arrow--next{right:4px}}

/* Dots */
.vm-carousel__dots { position:absolute; bottom:10px; left:50%; transform:translateX(-50%); display:flex; gap:6px; flex-wrap:wrap; justify-content:center; }
.vm-dot { width:8px; height:8px; border-radius:50%; border:none; background:#d1d5db; cursor:pointer; padding:0; transition:all .2s; }
.vm-dot--active { background:var(--wp--preset--color--primary); width:22px; border-radius:4px; }
.vm-no-vehicles { text-align:center; color:#6b7280; padding:20px; font-style:italic; }

/* ================================================================
   FICHA DETALLE
   ================================================================ */
.vm-ficha {
    max-width: 1140px;
    margin: 0 auto;
    padding: 24px 20px 60px;
    font-family: inherit;
}
.vm-ficha__back { margin-bottom: 20px; }
.vm-ficha__back-link { display:inline-flex; align-items:center; gap:6px; color:#ffffff !important; font-size:.9rem; text-decoration:none; padding:7px 14px; border:1px solid rgba(255,255,255,.35); border-radius:8px; transition:all .2s; }
.vm-ficha__back-link:hover { color:#ffffff !important; border-color:#ffffff; text-decoration:none; }

.vm-ficha__layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
@media(max-width:768px){.vm-ficha__layout{grid-template-columns:1fr;gap:24px}}

/* Gallery */
.vm-ficha__gallery { position:sticky; top:20px; }
.vm-ficha__main-img-wrap { border-radius:14px; overflow:hidden; background:#f0f2f5; aspect-ratio:4/3; }
.vm-ficha__main-img { width:100%; height:100%; object-fit:cover; display:block; transition:opacity .2s; }
.vm-ficha__no-img { width:100%; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; font-size:6rem; background:#e8ecf2; border-radius:14px; }

.vm-ficha__thumb-carousel {
    display:grid;
    grid-template-columns:38px minmax(0, 1fr) 38px;
    align-items:center;
    gap:8px;
    margin-top:12px;
}
.vm-ficha__thumb-viewport {
    overflow:hidden;
    min-width:0;
}
.vm-ficha__thumbs {
    display:flex;
    gap:8px;
    flex-wrap:nowrap;
    overflow:visible;
    width:max-content;
}
.vm-ficha__thumb { padding:0; border:2px solid transparent; border-radius:8px; overflow:hidden; cursor:pointer; background:none; width:72px; height:54px; transition:border-color .2s, transform .2s; flex:0 0 72px; }
.vm-ficha__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.vm-ficha__thumb--active { border-color:var(--wp--preset--color--primary); }
.vm-ficha__thumb:hover { border-color:var(--wp--preset--color--primary); transform:translateY(-1px); }
.vm-ficha__thumb-arrow {
    width:38px;
    height:54px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:8px;
    background:rgba(0,0,0,.45);
    color:#fff !important;
    font-size:2rem;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 0 4px;
    transition:background .2s, border-color .2s;
}
.vm-ficha__thumb-arrow:hover { background:var(--wp--preset--color--primary); border-color:var(--wp--preset--color--primary); }
@media(max-width:560px){
    .vm-ficha__thumb-carousel { grid-template-columns:34px minmax(0, 1fr) 34px; gap:6px; }
    .vm-ficha__thumb-arrow { width:34px; height:50px; }
    .vm-ficha__thumb { width:66px; height:50px; flex-basis:66px; }
}

.vm-ficha__img-count { margin-top:8px; font-size:.78rem; color:rgba(255,255,255,.5) !important; }

/* Info panel */
.vm-ficha__info {}
.vm-ficha__marca-modelo { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:rgba(255,255,255,.6) !important; margin-bottom:6px; }
.vm-ficha__titulo { margin:0 0 14px; font-size:1.8rem; font-weight:800; color:#ffffff !important; line-height:1.25; }
.vm-ficha__precio { font-size:2.2rem; font-weight:900; color:var(--wp--preset--color--primary); letter-spacing:-1px; margin-bottom:16px; }
.vm-ficha__desc-corta { font-size:.95rem; color:#ffffff !important; line-height:1.65; margin:0 0 20px; padding:14px 16px; background:rgba(255,255,255,.07); border-left:3px solid var(--wp--preset--color--primary); border-radius:0 8px 8px 0; }
.vm-ficha__divider { border:none; border-top:1px solid rgba(255,255,255,.15); margin:20px 0; }

.vm-ficha__desc-larga h3,
.vm-ficha__specs h3 { margin:0 0 12px; font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:rgba(255,255,255,.7) !important; }
.vm-ficha__desc-content { font-size:.92rem; color:#ffffff !important; line-height:1.75; margin-bottom:24px; }
.vm-ficha__desc-content p { margin:0 0 12px; color:#ffffff !important; }

.vm-ficha__specs { margin-top:4px; }
.vm-ficha__table { width:100%; border-collapse:collapse; font-size:.88rem; }
.vm-ficha__table tr { border-bottom:1px solid rgba(255,255,255,.1); }
.vm-ficha__table td { padding:9px 12px; color:#ffffff !important; }
.vm-ficha__table td:first-child { width:40%; font-weight:600; color:rgba(255,255,255,.7) !important; }
.vm-ficha__table td strong { color:#ffffff !important; }
.vm-ficha__precio-inline { color:var(--wp--preset--color--primary) !important; }

/* ================================================================
   FICHA PAGE — Hide theme page banner/hero/title on ficha pages
   Targets the Vehicle Detailing (VW Themes) banner block
   ================================================================ */

/* Hide ANY element that contains the page title hero/banner */
.vm-ficha-page .wp-block-cover,
.vm-ficha-page .wp-block-group.alignfull:first-of-type,
.vm-ficha-page .entry-header,
.vm-ficha-page .page-header,
.vm-ficha-page .hero-section,
.vm-ficha-page .banner-section,
.vm-ficha-page .page-banner,
.vm-ficha-page .page-title-section,
.vm-ficha-page .site-banner,
/* VW Themes specific selectors */
.vm-ficha-page .vw-banner,
.vm-ficha-page .vw-inner-banner,
.vm-ficha-page .inner-banner,
.vm-ficha-page .inner-page-banner,
.vm-ficha-page #page-banner,
.vm-ficha-page .page-header-wrap,
/* Hide the first full-width cover block (the hero) */
.vm-ficha-page .wp-block-template-part .wp-block-cover,
/* Hide h1 page title shown outside content area */
.vm-ficha-page .entry-title:not(.vf-info__titulo),
.vm-ficha-page .page-title:not(.vf-info__titulo),
.vm-ficha-page h1.entry-title,
.vm-ficha-page h1.page-title {
    display: none !important;
}

/* Also hide any padding/margin gap left by the hidden banner */
.vm-ficha-page .post-inner,
.vm-ficha-page .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ================================================================
   LISTADO — Filtros + Grid + Paginación
   ================================================================ */

.vml-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 0 60px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    position: relative;
    transition: opacity .25s;
}
.vml-wrap.vml-loading { opacity: .45; pointer-events: none; }
.vml-wrap *, .vml-wrap *::before, .vml-wrap *::after { box-sizing: border-box; }

/* ---- Filter bar ---- */
.vml-filters {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    background: #1a1a2e;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    padding: 18px 22px;
    margin-bottom: 20px;
}
.vml-filters__left  { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; flex: 1; }
.vml-filters__right { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.vml-filter-group { display: flex; flex-direction: column; }

.vml-input, .vml-select {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.15);
    color: #ffffff;
    border-radius: 8px;
    padding: 9px 14px;
    font-size: .88rem;
    outline: none;
    transition: border-color .2s;
    min-width: 160px;
    height: 40px;
}
.vml-input::placeholder { color: rgba(255,255,255,.4); }
.vml-input:focus, .vml-select:focus { border-color: var(--wp--preset--color--primary); }
.vml-select option { background: #1a1a2e; color: #fff; }

.vml-order-label { font-size: .78rem; color: rgba(255,255,255,.5); white-space: nowrap; }
.vml-order-btns  { display: flex; gap: 6px; flex-wrap: wrap; }
.vml-order-btn {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.15);
    color: rgba(255,255,255,.7);
    padding: 7px 14px;
    border-radius: 20px;
    font-size: .8rem;
    cursor: pointer;
    transition: all .18s;
    white-space: nowrap;
}
.vml-order-btn:hover   { border-color: var(--wp--preset--color--primary); color: #fff; }
.vml-order-btn.is-active { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: #fff; font-weight: 600; }

/* ---- Results meta ---- */
.vml-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    padding: 0 2px;
}
.vml-meta__count { font-size: .85rem; color: rgba(255,255,255,.55); }
.vml-meta__pages { font-size: .82rem; color: rgba(255,255,255,.4); }

/* ---- Grid 3 cols ---- */
.vml-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 36px;
}
@media (max-width: 960px) { .vml-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .vml-grid { grid-template-columns: 1fr; } }

/* ---- Card ---- */
.vml-card {
    display: flex;
    flex-direction: column;
    background: #1a1a2e;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none !important;
    color: inherit;
    transition: transform .22s, box-shadow .22s, border-color .22s;
}
.vml-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(0,0,0,.5);
    border-color: rgba(232,50,30,.5);
    text-decoration: none !important;
}
.vml-card__img-wrap {
    position: relative;
    height: 200px;
    overflow: hidden;
    background: #0d0d1a;
}
.vml-card__img-wrap img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .4s;
}
.vml-card:hover .vml-card__img-wrap img { transform: scale(1.05); }
.vml-card__no-img {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    font-size: 4rem; background: #0d0d1a;
}
.vml-card__marca {
    position: absolute; top: 12px; left: 12px;
    background: rgba(0,0,0,.7);
    color: #fff; font-size: .7rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .8px;
    padding: 3px 9px; border-radius: 20px;
}
.vml-card__body {
    padding: 16px 18px 18px;
    display: flex; flex-direction: column; flex: 1;
}
.vml-card__modelo {
    font-size: .72rem !important; font-weight: 700 !important;
    text-transform: uppercase; letter-spacing: .7px;
    color: rgba(255,255,255,.45) !important;
    margin: 0 0 4px !important;
}
.vml-card__titulo {
    margin: 0 0 8px !important; padding: 0 !important;
    font-size: 1rem !important; font-weight: 700 !important;
    color: #ffffff !important; line-height: 1.3 !important;
    border: none !important; background: none !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.vml-card__desc {
    font-size: .82rem !important; color: rgba(255,255,255,.55) !important;
    margin: 0 0 14px !important; line-height: 1.5;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    flex: 1;
}
.vml-card__footer {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px; flex-wrap: wrap; margin-top: auto;
}
.vml-card__precio {
    font-size: 1.25rem !important; font-weight: 900 !important;
    color: var(--wp--preset--color--primary) !important; letter-spacing: -.5px;
}
.vml-card__cta {
    font-size: .78rem; font-weight: 600; color: rgba(255,255,255,.6) !important;
    transition: color .2s;
}
.vml-card:hover .vml-card__cta { color: var(--wp--preset--color--primary) !important; }

/* ---- Empty state ---- */
.vml-empty {
    text-align: center; padding: 60px 20px;
    color: rgba(255,255,255,.6);
}
.vml-empty__icon { font-size: 3.5rem; display: block; margin-bottom: 16px; }
.vml-empty h3 { color: #ffffff !important; margin: 0 0 8px !important; font-size: 1.2rem !important; }
.vml-empty p  { color: rgba(255,255,255,.5) !important; margin: 0 0 20px !important; }
.vml-btn-reset {
    background: var(--wp--preset--color--primary); color: #fff; border: none;
    padding: 10px 24px; border-radius: 8px; font-size: .9rem;
    font-weight: 600; cursor: pointer; transition: background .2s;
}
.vml-btn-reset:hover { background: #c42a18; }

/* ---- Pagination ---- */
.vml-pagination {
    display: flex; align-items: center; justify-content: center;
    gap: 6px; flex-wrap: wrap; margin-top: 8px;
}
.vml-page-btn {
    min-width: 38px; height: 38px; padding: 0 10px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.7) !important;
    border-radius: 8px; font-size: .88rem; font-weight: 500;
    cursor: pointer; transition: all .18s;
    display: inline-flex; align-items: center; justify-content: center;
}
.vml-page-btn:hover { background: rgba(232,50,30,.2); border-color: var(--wp--preset--color--primary); color: #fff !important; }
.vml-page-btn.is-active { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: #fff !important; font-weight: 700; }
.vml-page-btn--prev, .vml-page-btn--next { padding: 0 16px; }
.vml-page-dots { color: rgba(255,255,255,.3); padding: 0 4px; line-height: 38px; }

@media (max-width: 640px) {
    .vml-filters { padding: 14px 16px; }
    .vml-filters__left, .vml-filters__right { width: 100%; }
    .vml-input, .vml-select { min-width: 0; width: 100%; }
    .vml-order-btns { width: 100%; }
    .vml-order-btn { flex: 1; text-align: center; }
}

/* ================================================================
   LIGHTBOX
   ================================================================ */
.vm-lb {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none;
}
.vm-lb__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .92);
    cursor: zoom-out;
}
.vm-lb__box {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 70px 110px;
    box-sizing: border-box;
}
/* Close button */
.vm-lb__close {
    position: absolute;
    top: 16px;
    right: 20px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    color: #fff;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
    z-index: 2;
}
.vm-lb__close:hover { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); }

/* Counter */
.vm-lb__counter {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255,255,255,.7);
    font-size: .85rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    z-index: 2;
    white-space: nowrap;
}

/* Image area */
.vm-lb__img-wrap {
    position: relative;
    flex: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
}
.vm-lb__img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 6px;
    transition: opacity .25s;
    display: block;
    box-shadow: 0 8px 48px rgba(0,0,0,.6);
    user-select: none;
}

/* Spinner */
.vm-lb__spinner {
    display: none;
    position: absolute;
    width: 36px;
    height: 36px;
    border: 3px solid rgba(255,255,255,.2);
    border-top-color: var(--wp--preset--color--primary);
    border-radius: 50%;
    animation: vm-spin .7s linear infinite;
}
@keyframes vm-spin { to { transform: rotate(360deg); } }

/* Arrows */
.vm-lb__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    color: #fff;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 1.3rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s;
    z-index: 2;
    padding: 0;
}
.vm-lb__arrow:hover { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); transform: translateY(-50%) scale(1.08); }
.vm-lb__arrow--prev { left: 14px; }
.vm-lb__arrow--next { right: 14px; }

/* Thumbnail strip inside lightbox */
.vm-lb__thumbs {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    max-width: calc(100vw - 140px);
    overflow-x: auto;
    padding: 6px 4px;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.vm-lb__thumbs::-webkit-scrollbar { display: none; }
.vm-lb__thumb-btn {
    padding: 0;
    border: 2.5px solid transparent;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    background: none;
    width: 64px;
    height: 48px;
    flex-shrink: 0;
    transition: border-color .18s, transform .18s;
    opacity: .55;
}
.vm-lb__thumb-btn img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vm-lb__thumb-btn:hover { opacity: .85; transform: scale(1.05); }
.vm-lb__thumb-btn.is-active { border-color: var(--wp--preset--color--primary); opacity: 1; }

@media (max-width: 600px) {
    .vm-lb__box { padding: 55px 12px 100px; }
    .vm-lb__arrow--prev { left: 6px; }
    .vm-lb__arrow--next { right: 6px; }
    .vm-lb__arrow { width: 38px; height: 38px; font-size: 1rem; }
}
/* ================================================================
   FIX FICHA MÓVIL v6
   - Corrige desbordamiento horizontal en móvil
   - Mantiene la galería NO fija para que no tape el texto
   ================================================================ */
@media (max-width: 768px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .vm-ficha {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: 12px 10px 40px;
        box-sizing: border-box;
        overflow-x: clip;
    }

    .vm-ficha *,
    .vm-ficha *::before,
    .vm-ficha *::after {
        box-sizing: border-box;
    }

    .vm-ficha__layout {
        display: block;
        width: 100%;
        max-width: 100%;
    }

    .vm-ficha__gallery {
        position: static !important;
        top: auto !important;
        z-index: auto !important;
        width: 100%;
        max-width: 100%;
        margin: 0 0 22px;
        transform: none !important;
    }

    .vm-ficha__main-img-wrap {
        width: 100%;
        max-width: 100%;
        border-radius: 10px;
    }

    .vm-ficha__main-img {
        width: 100%;
        max-width: 100%;
    }

    .vm-ficha__thumb-carousel {
        width: 100%;
        max-width: 100%;
        grid-template-columns: 34px minmax(0, 1fr) 34px;
        gap: 6px;
    }

    .vm-ficha__thumb-viewport {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    .vm-ficha__thumbs {
        max-width: none;
        min-width: 0;
    }

    .vm-ficha__thumb-arrow {
        width: 34px;
        min-width: 34px;
    }

    .vm-ficha__info {
        width: 100%;
        max-width: 100%;
        clear: both;
        position: relative;
        z-index: 1;
        overflow-wrap: anywhere;
    }

    .vm-ficha__titulo {
        font-size: 1.45rem;
        overflow-wrap: anywhere;
    }

    .vm-ficha__precio {
        font-size: 1.8rem;
    }
}

@media (max-width: 420px) {
    .vm-ficha {
        padding-left: 8px;
        padding-right: 8px;
    }

    .vm-ficha__back {
        padding-left: 0;
        padding-right: 0;
    }
}
