/* Víctor SEO WEB Widgets 2.0 · vs2-ilustraciones.css · generado por tools/css2.py a partir de web/assets/css/site.css. No editar a mano. */

.vs2 .vs-mock{position: relative; padding: 22px; border-radius: 20px; background: #fff; color: var(--vs-ink); box-shadow: 0 40px 80px -36px rgba(0, 0, 0, .7), 0 0 0 1px rgba(255, 255, 255, .08); font-size: .875rem; line-height: 1.4;}
.vs2 .vs-mock + .vs-mock{margin-top: 14px;}
.vs2 .vs-mock i.l{display: block; height: 8px; border-radius: 99px; background: #E3E6EE;}
.vs2 .vs-mock__label{margin: 0 0 12px; font-size: .75rem; font-weight: 600; color: var(--vs-slate);}
.vs2 .vs-mock__search{display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 10px 16px; border: 1px solid var(--vs-line); border-radius: 99px; font-size: .875rem;}
.vs2 .vs-mock__search svg{width: 16px; height: 16px; flex: none; fill: none; stroke: var(--vs-slate); stroke-width: 2;}
.vs2 .vs-mock__row{display: grid; gap: 6px; padding: 12px 14px; border-radius: 10px;}
.vs2 .vs-mock__row .u{font-size: .75rem; color: var(--vs-slate);}
.vs2 .vs-mock__row .t{font-weight: 600; color: var(--vs-brand);}
.vs2 .vs-mock__row.is-you{background: var(--vs-brand-soft); box-shadow: inset 3px 0 0 var(--vs-brand); animation: vs-rise-you 1.2s var(--vs-ease) 1s both;}
.vs2 .vs-mock__row.is-ghost{animation: vs-fade 1s ease 1s both;}
.vs2 .vs-mock__chips{display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px;}
.vs2 .vs-mock__chips span{padding: 3px 10px; border: 1px solid var(--vs-line); border-radius: 99px; font-size: .75rem; color: var(--vs-brand); font-weight: 600;}
.vs2 .vs-mock__map{position: relative; height: 170px; margin: -22px -22px 16px; border-radius: 20px 20px 0 0; overflow: hidden; background: linear-gradient(28deg, transparent 47%, #fff 47%, #fff 53%, transparent 53%) 0 0 / 100% 100%, linear-gradient(-62deg, transparent 48%, #fff 48%, #fff 52%, transparent 52%) 0 0 / 100% 100%, linear-gradient(#E9ECF3 1px, transparent 1px) 0 0 / 34px 34px, linear-gradient(90deg, #E9ECF3 1px, transparent 1px) 0 0 / 34px 34px, #F2F4F8;}
.vs2 .vs-mock__pin{position: absolute; width: 26px; height: 26px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: #AEB6C7; box-shadow: 0 6px 12px -4px rgba(0, 0, 0, .35);}
.vs2 .vs-mock__pin::after{content: ""; position: absolute; inset: 8px; border-radius: 50%; background: #fff;}
.vs2 .vs-mock__pin.is-you{background: var(--vs-brand); width: 34px; height: 34px; animation: vs-pin-drop .8s var(--vs-ease) .9s both;}
.vs2 .vs-mock__pin.is-you::after{inset: 10px;}
.vs2 .vs-mock__biz{display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; align-items: center; padding: 10px 12px; border-radius: 10px;}
.vs2 .vs-mock__biz + .vs-mock__biz{border-top: 1px solid var(--vs-line); border-radius: 0;}
.vs2 .vs-mock__biz strong{font-weight: 600;}
.vs2 .vs-mock__biz .r{grid-column: 1; font-size: .75rem; color: var(--vs-slate);}
.vs2 .vs-mock__biz .r b{color: #E0A526; letter-spacing: 1px; font-weight: 400;}
.vs2 .vs-mock__biz .c{grid-row: 1 / span 2; grid-column: 2; padding: 6px 12px; border-radius: 99px; background: var(--vs-brand); color: #fff; font-size: .75rem; font-weight: 600;}
.vs2 .vs-mock__biz.is-you{background: var(--vs-brand-soft);}
.vs2 .vs-mock__biz:not(.is-you) .c{background: #E3E6EE; color: var(--vs-slate);}
.vs2 .vs-mock__check{display: grid; gap: 10px; list-style: none; margin: 0; padding: 0;}
.vs2 .vs-mock__check li{display: grid; grid-template-columns: 22px 1fr auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--vs-line); animation: vs-up .6s var(--vs-ease) both;}
.vs2 .vs-mock__check li:nth-child(1){animation-delay: .7s;}
.vs2 .vs-mock__check li:nth-child(2){animation-delay: .85s;}
.vs2 .vs-mock__check li:nth-child(3){animation-delay: 1s;}
.vs2 .vs-mock__check li:nth-child(4){animation-delay: 1.15s;}
.vs2 .vs-mock__check li:nth-child(5){animation-delay: 1.3s;}
.vs2 .vs-mock__check b{display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: .75rem; color: #fff;}
.vs2 .vs-mock__check .ok{background: #2BA36B;}
.vs2 .vs-mock__check .warn{background: #E0A526;}
.vs2 .vs-mock__check .ko{background: #D9534F;}
.vs2 .vs-mock__check em{font-style: normal; font-size: .75rem; color: var(--vs-slate);}
.vs2 .vs-mock__meter{display: flex; align-items: center; gap: 12px; margin-top: 16px; font-size: .75rem; color: var(--vs-slate);}
.vs2 .vs-mock__meter span{flex: 1; height: 6px; border-radius: 6px; background: var(--vs-line); overflow: hidden;}
.vs2 .vs-mock__meter span::before{content: ""; display: block; height: 100%; width: 72%; background: var(--vs-brand); border-radius: 6px; transform-origin: left; animation: vs-grow 1.4s var(--vs-ease) 1.2s both;}
.vs2 .vs-mock__speed{display: grid; grid-template-columns: 120px 1fr; gap: 22px; align-items: center;}
.vs2 .vs-mock__gauge{--v: 92; position: relative; display: grid; place-items: center; width: 120px; height: 120px; border-radius: 50%; background: conic-gradient(#2BA36B calc(var(--vs2-p, 0) * 1%), #E3E6EE 0); animation: vs-gauge 1.8s var(--vs-ease) .8s both;}
.vs2 .vs-mock__gauge::before{content: ""; position: absolute; inset: 10px; border-radius: 50%; background: #fff;}
.vs2 .vs-mock__gauge strong{position: relative; font-size: 2rem; font-weight: 600; color: #13804B;}
.vs2 .vs-mock__vitals{display: grid; gap: 12px; list-style: none; margin: 0; padding: 0;}
.vs2 .vs-mock__vitals li{display: grid; gap: 4px; font-size: .75rem; color: var(--vs-slate);}
.vs2 .vs-mock__vitals li span{display: flex; justify-content: space-between;}
.vs2 .vs-mock__vitals li b{color: #13804B; font-weight: 600;}
.vs2 .vs-mock__vitals li i{display: block; height: 6px; border-radius: 6px; background: #2BA36B; transform-origin: left; animation: vs-grow 1.2s var(--vs-ease) both;}
.vs2 .vs-mock__vitals li:nth-child(1) i{width: 86%; animation-delay: 1s;}
.vs2 .vs-mock__vitals li:nth-child(2) i{width: 92%; animation-delay: 1.15s;}
.vs2 .vs-mock__vitals li:nth-child(3) i{width: 96%; animation-delay: 1.3s;}
.vs2 .vs-mock--wp{display: grid; grid-template-columns: 64px 1fr; padding: 0; overflow: hidden;}
.vs2 .vs-mock__side{display: grid; align-content: start; gap: 12px; padding: 20px 14px; background: #1D2327;}
.vs2 .vs-mock__side i{display: block; height: 8px; border-radius: 4px; background: #3C434A;}
.vs2 .vs-mock__side i:nth-child(3){background: var(--vs-brand-lit);}
.vs2 .vs-mock__main{padding: 20px;}
.vs2 .vs-mock__field{padding: 10px 12px; margin-bottom: 14px; border: 1px solid var(--vs-line); border-radius: 8px; font-weight: 600;}
.vs2 .vs-mock__score{display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 10px; background: #E8F6EE; color: #0E5C36; font-weight: 600;}
.vs2 .vs-mock__score b{display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #2BA36B; color: #fff; animation: vs-pop .6s var(--vs-ease) 1s both;}
.vs2 .vs-mock__q{width: fit-content; max-width: 85%; margin: 0 0 14px auto; padding: 10px 14px; border-radius: 14px 14px 4px 14px; background: var(--vs-ink); color: #fff;}
.vs2 .vs-mock__a p{margin: 0 0 10px;}
.vs2 .vs-mock__a mark{background: var(--vs-brand-soft); color: var(--vs-brand); font-weight: 650; padding: 0 3px; border-radius: 4px;}
.vs2 .vs-mock__a > *{animation: vs-up .6s var(--vs-ease) both;}
.vs2 .vs-mock__a > :nth-child(1){animation-delay: .9s;}
.vs2 .vs-mock__a > :nth-child(2){animation-delay: 1.1s;}
.vs2 .vs-mock__a > :nth-child(3){animation-delay: 1.3s;}
.vs2 .vs-mock__ad{display: grid; gap: 4px; padding-bottom: 14px; border-bottom: 1px solid var(--vs-line);}
.vs2 .vs-mock__ad b{font-size: .75rem;}
.vs2 .vs-mock__ad .t{font-weight: 600; color: var(--vs-brand);}
.vs2 .vs-mock__bars{display: flex; align-items: flex-end; gap: 8px; height: 110px; margin-top: 14px;}
.vs2 .vs-mock__bars i{flex: 1; height: calc(var(--v) * 100%); border-radius: 4px 4px 0 0; background: #DADDE5; transform-origin: bottom; animation: vs-grow-y 1s var(--vs-ease) both;}
.vs2 .vs-mock__bars i:last-child{background: var(--vs-brand);}
.vs2 .vs-mock__bars i:nth-child(1){animation-delay: .8s;}
.vs2 .vs-mock__bars i:nth-child(2){animation-delay: .9s;}
.vs2 .vs-mock__bars i:nth-child(3){animation-delay: 1s;}
.vs2 .vs-mock__bars i:nth-child(4){animation-delay: 1.1s;}
.vs2 .vs-mock__bars i:nth-child(5){animation-delay: 1.2s;}
.vs2 .vs-mock__bars i:nth-child(6){animation-delay: 1.3s;}
.vs2 .vs-mock--web{padding: 0; overflow: visible;}
.vs2 .vs-mock__browser{padding: 12px 16px; display: flex; gap: 6px; align-items: center; border-bottom: 1px solid var(--vs-line);}
.vs2 .vs-mock__browser i{width: 9px; height: 9px; border-radius: 50%; background: #DADDE5;}
.vs2 .vs-mock__page{display: grid; gap: 10px; padding: 26px 24px 40px;}
.vs2 .vs-mock__page b{display: block; height: 18px; border-radius: 4px; background: var(--vs-ink);}
.vs2 .vs-mock__page b.s{width: 60%;}
.vs2 .vs-mock__page b.xs{width: 44%; height: 8px; background: #E3E6EE; margin-top: 4px;}
.vs2 .vs-mock__page span{justify-self: start; margin-top: 8px; padding: 8px 14px; border-radius: 8px; background: var(--vs-brand); color: #fff; font-size: .75rem; font-weight: 600;}
.vs2 .vs-mock__cols{display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 14px; width: 70%;}
.vs2 .vs-mock__cols i{height: 56px; border-radius: 6px; background: #EEF0F5;}
.vs2 .vs-mock__phone{position: absolute; right: -12px; bottom: -28px; display: grid; align-content: start; gap: 7px; width: 116px; height: 216px; padding: 26px 10px; border-radius: 20px; background: #fff; box-shadow: 0 0 0 6px var(--vs-ink), 0 30px 50px -20px rgba(0, 0, 0, .55); animation: vs-up 1s var(--vs-ease) 1s both;}
.vs2 .vs-mock__phone b{display: block; height: 10px; border-radius: 3px; background: var(--vs-ink);}
.vs2 .vs-mock__phone b.s{width: 70%; height: 6px; background: #E3E6EE;}
.vs2 .vs-mock__phone span{margin-top: 10px; padding: 8px 4px; border-radius: 6px; background: var(--vs-brand); color: #fff; font-size: .625rem; font-weight: 600; text-align: center;}
@media (max-width: 639px){.vs2 .vs-mock__phone{right: 8px; width: 96px; height: 180px;}}
@media (prefers-reduced-motion: reduce){.vs2 .vs-mock__gauge{--vs2-p: 92;}}
.vs2 .vs-deliver .vs-mock{box-shadow: 0 30px 60px -36px rgba(14, 27, 51, .45), 0 0 0 1px var(--vs-line);}
.vs2 .vs-mock--product{display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; align-items: center;}
.vs2 .vs-mock__pimg{aspect-ratio: 1; border-radius: 14px; background: radial-gradient(60% 50% at 50% 60%, #CFC6FF, transparent 70%), linear-gradient(150deg, #F2F4F8, #E2DBFF); position: relative;}
.vs2 .vs-mock__pimg::after{content: ""; position: absolute; left: 18%; right: 14%; bottom: 30%; height: 26%; border-radius: 40% 60% 20% 20%; background: var(--vs-brand); box-shadow: inset 0 -8px 0 #fff;}
.vs2 .vs-mock__price{margin: 6px 0 12px; font-size: 1.375rem; font-weight: 700; color: var(--vs-ink);}
.vs2 .vs-mock__price span{display: block; font-size: .75rem; font-weight: 500; color: #13804B;}
.vs2 .vs-mock__buy{display: inline-block; padding: 8px 14px; border-radius: 8px; background: var(--vs-brand); color: #fff; font-size: .8125rem; font-weight: 600;}
.vs2 .vs-mock--rich{padding: 12px;}
.vs2 .vs-mock--rich .vs-mock__row{padding: 10px 12px;}
.vs2 .vs-mock__stars{font-size: .8125rem; color: #E0A526;}
.vs2 .vs-mock__stars em{font-style: normal; color: var(--vs-slate);}
.vs2 .vs-mock__offer{display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--vs-line); margin-bottom: 8px;}
.vs2 .vs-mock__offer strong{font-weight: 600; font-size: .875rem;}
.vs2 .vs-mock__offer .p{font-weight: 700;}
.vs2 .vs-mock__offer .b{padding: 6px 12px; border-radius: 99px; background: var(--vs-brand); color: #fff; font-size: .75rem; font-weight: 600;}
.vs2 .vs-mock__offer.is-you{border-color: var(--vs-brand); background: var(--vs-brand-soft); animation: vs-up .8s var(--vs-ease) .9s both;}
.vs2 .vs-mock__offer:not(.is-you) .p{color: var(--vs-slate);}
.vs2 .vs-mock__home{display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; align-items: center; padding: 12px; border-radius: 12px; background: var(--vs-brand-soft); box-shadow: inset 3px 0 0 var(--vs-brand); margin-bottom: 8px;}
.vs2 .vs-mock__home .ph{aspect-ratio: 1; border-radius: 10px; background: linear-gradient(180deg, #D9DEEA 0 40%, #C3CADA 40% 100%); position: relative; overflow: hidden;}
.vs2 .vs-mock__home .ph::after{content: ""; position: absolute; left: 22%; right: 22%; top: 18%; bottom: 0; background: repeating-linear-gradient(180deg, #fff 0 6px, #AEB6C7 6px 12px); border-radius: 4px 4px 0 0;}
.vs2 .vs-mock__home .u{display: block; font-size: .75rem; color: var(--vs-slate);}
.vs2 .vs-mock__home .t{display: block; margin: 2px 0 6px; font-weight: 600; color: var(--vs-brand);}
.vs2 .vs-mock--quote{padding: 16px 18px;}
.vs2 .vs-mock__qf{display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px;}
.vs2 .vs-mock__qf i{height: 30px; border-radius: 8px; border: 1.5px solid var(--vs-line);}
.vs2 .vs-mock__qf i.w{grid-column: 1 / -1; height: 44px;}
.vs2 .vs-mock--studio{display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; align-items: center;}
.vs2 .vs-mock__plan{display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: 1fr 1fr; gap: 4px; aspect-ratio: 1; padding: 6px; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 2px var(--vs-ink);}
.vs2 .vs-mock__plan i{border: 2px solid var(--vs-ink); border-radius: 3px; background: linear-gradient(45deg, transparent 48%, rgba(91, 61, 245, .25) 48%, rgba(91, 61, 245, .25) 52%, transparent 52%);}
.vs2 .vs-mock__plan i:first-child{grid-row: span 2; background: var(--vs-brand-soft);}
.vs2 .vs-tool__art .vs-mock{width: 100%; max-width: 380px;}
.vs2 .vs-mock__go{margin-left: auto; padding: 5px 12px; border-radius: 99px; background: var(--vs-brand); color: #fff; font-size: .75rem; font-weight: 600;}
.vs2 .vs-mock--tool .vs-mock__search{padding: 6px 6px 6px 16px;}
.vs2 .vs-mock__select{position: relative; font-weight: 500;}
.vs2 .vs-mock__select::after{content: ""; position: absolute; right: 14px; top: 50%; width: 7px; height: 7px; border-right: 2px solid var(--vs-slate); border-bottom: 2px solid var(--vs-slate); transform: translateY(-70%) rotate(45deg);}
.vs2 .vs-mock__range{position: relative; height: 6px; margin: 4px 0 20px; border-radius: 99px; background: #E3E6EE;}
.vs2 .vs-mock__range i{position: absolute; inset: 0 40% 0 0; border-radius: inherit; background: var(--vs-brand);}
.vs2 .vs-mock__range i::after{content: ""; position: absolute; right: -9px; top: 50%; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid var(--vs-brand); transform: translateY(-50%); box-shadow: 0 2px 6px rgba(14, 27, 51, .25);}
.vs2 .vs-mock--tool .vs-mock__bars{height: 70px; margin-top: 4px;}
