/* Hosting web v4 (/precios/hosting/). Se apoya en estilo-v4.css: aquí sólo lo propio
   de la página — hero, selector de ubicación, tres planes, comparativa, bento ampliado
   y la pila de tecnologías. La piel común va en v4-web.css. */

/* ── Hero ────────────────────────────────────────── */
.hs-hero .hero-ft{transform:scaleX(-1);left:auto;right:-4%;width:68%;object-position:30% 45%;opacity:1;filter:brightness(1.35) contrast(1.1)}   /* la pila de cristal, a la derecha */
@media (max-width:860px){.hs-hero .hero-ft{width:100%;right:0;opacity:.6}}
/* titular del hero: el mismo tamaño que el resto de páginas (estilo-v4.css) */
.hs-sub{margin-top:clamp(22px,3vh,32px);max-width:52ch;font-size:clamp(16px,1.4vw,19px);color:var(--tinta-2)}

/* ── Selector de ubicación ───────────────────────── */
.hs-donde{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--linea);border-bottom:0;background:var(--fondo)}
.hs-donde-tx{padding:24px 26px;border-right:1px solid var(--linea);display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.hs-donde-nota{color:var(--tinta-2);font-size:15px;max-width:44ch;min-height:3.2em}
.hs-donde-nota.cambia{animation:hs-nota .5s cubic-bezier(.2,.7,.2,1)}
@keyframes hs-nota{from{opacity:0;transform:translateY(6px)}}
.hs-donde-op{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--linea)}  /* sus dos columnas caen encima de los planes 02 y 03 */
.hs-op{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:16px;row-gap:14px;align-items:center;padding:22px 24px;background:var(--fondo);cursor:pointer;transition:background .25s,color .25s}
.hs-op:hover{background:var(--fondo-2)}
.hs-op input{position:absolute;opacity:0;pointer-events:none}
.hs-op .cod{font:500 12px/1 var(--mono);letter-spacing:.1em;border:1px solid var(--linea-2);padding:8px 9px;transition:border-color .25s}
.hs-op .nom strong{display:block;font-weight:500;font-size:19px;letter-spacing:-.02em}
.hs-op .nom small{display:block;color:var(--tinta-3);font-size:13px}
.hs-op .ms{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--linea)}
.hs-op .ms b{font:500 24px/1 var(--disp);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.hs-op .ms i{font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3);font-style:normal}
/* marcado: se invierte, como el plan destacado */
.hs-op:has(input:checked),.hs-op.sel{background:var(--inv);color:var(--inv-t)}
.hs-op:has(input:checked) .cod,.hs-op.sel .cod{border-color:currentColor}
.hs-op:has(input:checked) .nom small,.hs-op:has(input:checked) .ms i,.hs-op.sel .nom small,.hs-op.sel .ms i{color:inherit;opacity:.6}
.hs-op:has(input:checked) .ms,.hs-op.sel .ms{border-color:color-mix(in srgb,currentColor 20%,transparent)}
.hs-op:has(input:focus-visible){outline:2px solid var(--tinta);outline-offset:-4px}

/* ── Tres planes ─────────────────────────────────── */
.hs-planes{grid-template-columns:repeat(3,minmax(0,1fr))}
.hs-planes .plan{padding:34px 32px}
.hs-planes .plan h3{font-size:clamp(34px,3.2vw,44px);letter-spacing:-.04em}
.hs-planes .plan .desc{min-height:0}
.hs-planes .plan .num{font-size:clamp(52px,5vw,68px)}
.hs-barras{display:grid;gap:10px;margin-top:26px}
.hs-barras span{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}
.hs-barras i{position:relative;height:3px;background:color-mix(in srgb,currentColor 14%,transparent);overflow:hidden}
.hs-barras i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--v);background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.2,.7,.2,1) .3s}
.dentro .hs-barras i::after{transform:none}
.hs-barras em{font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;font-style:normal;opacity:.55;min-width:7.5ch;text-align:right}
.hs-fuera{margin-top:10px;font-size:13.5px;color:var(--tinta-3);max-width:80ch}

/* Comparativa (misma tabla que los planes) */
.hs-compara{margin-top:clamp(40px,5vw,64px);border:1px solid var(--linea);overflow-x:auto}
.hs-compara table{width:100%;border-collapse:collapse;min-width:560px;font-size:15px}
.hs-compara th,.hs-compara td{padding:15px 22px;border-bottom:1px solid var(--linea);text-align:left}
.hs-compara thead th{font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3)}
.hs-compara thead th.dest{color:var(--tinta)}
.hs-compara tbody th{font-weight:400;color:var(--tinta-2)}
.hs-compara td{font-variant-numeric:tabular-nums;font-weight:500}
.hs-compara td.dest,.hs-compara th.dest{background:var(--fondo-2)}
.hs-compara tbody tr:last-child th,.hs-compara tbody tr:last-child td{border-bottom:0}
.hs-compara tbody tr{opacity:0;transform:translateY(6px);transition:opacity .5s,transform .5s;transition-delay:var(--r)}
.hs-compara.dentro tbody tr{opacity:1;transform:none}

/* ── Bento ampliado: dos celdas más ──────────────── */
.hs-bento .celda.f,.hs-bento .celda.g{grid-column:span 6;min-height:0}
.hs-fila{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:start}
.hs-n{font:500 12px/1 var(--mono);letter-spacing:.12em;color:var(--tinta-3);padding-top:8px}
.hs-fila h3{margin-top:0}
.hs-bento .celda .grande-n{text-transform:none}

/* ── Publicar ────────────────────────────────────── */
.hs-publicar .ft img{object-position:50% 60%}
.hs-pila{display:flex;flex-wrap:wrap;gap:1px;background:var(--linea);border:1px solid var(--linea);border-top:0}
.hs-pila span{flex:1 1 auto;display:inline-flex;align-items:center;gap:12px;padding:18px 22px;background:var(--fondo);font-size:15px;transition:background .2s}
.hs-pila span:hover{background:var(--fondo-2)}
.hs-pila i{font:500 10.5px/1 var(--mono);letter-spacing:.1em;color:var(--tinta-3);font-style:normal}

/* ── VPS ─────────────────────────────────────────── */
.hs-gran{min-height:520px}
.hs-gran img{object-position:50% 50%}

/* ── Responsive ──────────────────────────────────── */
@media (max-width:1100px){
  .hs-planes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hs-planes .plan{padding:28px 22px}
}
@media (max-width:860px){
  .hs-donde{grid-template-columns:1fr}
  .hs-donde-op{grid-column:auto}
  .hs-donde-tx{border-right:0;border-bottom:1px solid var(--linea)}
  .hs-planes{grid-template-columns:1fr}
  .hs-bento .celda.f,.hs-bento .celda.g{grid-column:span 12}
}
@media (max-width:560px){
  .hs-donde-op{grid-template-columns:1fr}
  .hs-op{padding:18px 20px}
  .hs-fila{grid-template-columns:1fr;gap:12px}
  .hs-pila span{padding:14px 16px;font-size:14px}
  .hs-compara th,.hs-compara td{padding:13px 14px}
}
@media (prefers-reduced-motion:reduce){
  .hs-barras i::after{transform:none}
  .hs-compara tbody tr{opacity:1;transform:none}
}

/* cierre: el render queda de fondo tenue para no pelear con la esfera ASCII */
#contacto .cierre .ft img{opacity:.4;object-position:20% 50%}
/* borde izquierdo del render fundido (la imagen va volteada: el degradado también) */
.hs-hero .hero-ft{-webkit-mask-image:linear-gradient(270deg,transparent,#000 40%);mask-image:linear-gradient(270deg,transparent,#000 40%)}
@media (max-width:860px){.hs-hero .hero-ft{-webkit-mask-image:none;mask-image:none}}
