@charset "utf-8";
/* CSS Document */
/* === HOSTING === */
/* --- 1. AJUSTES DE ROBUSTEZ (Reset local para evitar cortes) --- */
.ac-host-container * {
    box-sizing: border-box !important; /* Esencial para márgenes y paddings */
    margin: 0;
    padding: 0;
}
.ac-host-container {
    padding: 60px 20px;
    text-align: center;
    width: 100%;
}
/* Ocultar los inputs de radio */
.ac-host-container input[type="radio"] {
    display: none !important;
}
/* --- 2. NAVEGACIÓN TABS (Forma de Cápsula) --- */
.ac-host-tabs-nav {
    display: inline-flex;
    position: relative;
    background-color: #fff;
    padding: 8px; /* Espacio interno para el glider */
    border-radius: 100px; /* Forma de cápsula completa */
    margin: 0 auto 50px auto; /* Centrado y con margen inferior */
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    overflow: hidden; /* Importante para el efecto del glider */
    user-select: none;
    border: 1px solid #e5e7eb;
}
/* --- 3. LABELS DE TABS (Los botones de texto) --- */
.ac-host-tabs-nav label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5; /* Por encima del glider */
    position: relative;
    font-weight: 700;
    transition: color 0.3s ease;
    font-size: 15px;
    height: 44px; /* Altura forzada del botón */
    width: 160px; /* Ancho forzado del botón para que no se corte */
}
/* --- 4. EL GLIDER (El fondo azul que se mueve) --- */
.ac-host-glider {
    position: absolute;
    top: 8px; /* Alineado con el padding de .ac-host-tabs-nav */
    left: 8px; /* Alineado con el padding de .ac-host-tabs-nav */
    height: 44px; /* Misma altura que el label */
    width: 160px; /* Mismo ancho que el label */
    background: #007bff; /* Color azul de tu imagen */
    border-radius: 100px; /* Forma de cápsula */
    transition: transform 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28);
    z-index: 1;
}
/* --- 5. LOGICA DE SELECCIÓN --- */
/* Tab Básico Activo */
#ac-host-basic-tab:checked ~ .ac-host-tabs-nav label[for="ac-host-basic-tab"] {
    color: #fff !important; /* Fuerza texto blanco */
}
#ac-host-basic-tab:checked ~ .ac-host-tabs-nav .ac-host-glider {
    transform: translateX(0); /* Posición inicial */
}
/* Tab Avanzado Activo */
#ac-host-advanced-tab:checked ~ .ac-host-tabs-nav label[for="ac-host-advanced-tab"] {
    color: #fff !important; /* Fuerza texto blanco */
}
/* El texto del tab no seleccionado */
#ac-host-basic-tab:checked ~ .ac-host-tabs-nav label[for="ac-host-advanced-tab"],
#ac-host-advanced-tab:checked ~ .ac-host-tabs-nav label[for="ac-host-basic-tab"] {
    color: #4b5563 !important; /* Color gris para el tab no activo */
}
#ac-host-advanced-tab:checked ~ .ac-host-tabs-nav .ac-host-glider {
    transform: translateX(160px); /* Mueve el glider al segundo label */
}
/* --- 6. VISIBILIDAD DE CONTENIDO --- */
.ac-host-grid { display: none; }
#ac-host-basic-tab:checked ~ .ac-host-content-wrapper .ac-host-basic-content {
    display: grid !important;
}
#ac-host-advanced-tab:checked ~ .ac-host-content-wrapper .ac-host-advanced-content {
    display: grid !important;
}
/* --- 7. GRID DE TARJETAS --- */
.ac-host-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
    align-items: end;
}
/* --- 8. ESTILO DE TARJETAS --- */
.ac-host-card {
    background: #fff;
    border-radius: 15px;
    border: 1px solid #e5e7eb;
    position: relative;
    transition: all 0.3s ease;
}
.ac-host-card:hover {
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}
.ac-host-featured {
    border: 2px solid #007bff;
    transform: scale(1.05);
}
.ac-host-top-label {
    background: #007bff;
    color: #fff;
    font-weight: 800;
    padding: 8px;
    font-size: 11px;
    letter-spacing: 1px;
    border-radius: 12px 12px 0 0;
}
.ac-host-card-body { padding: 40px 25px; }
.ac-host-category { color: #6b7280; font-size: 13px; text-transform: uppercase; margin: 0; }
.ac-host-plan-name { font-size: 26px; font-weight: 800; color: #111827; margin: 10px 0; }
.ac-host-price {
    font-size: 3.0rem;
    font-weight: 600;
    color: #111827;
    line-height:70%;
}
.ac-host-price span { font-size: 15px; color: #6b7280; }
.ac-host-btn {
    display: block;
    background: #22c55e;
    color: #fff;
    text-decoration: none;
    padding: 16px;
    border-radius: 8px;
    font-weight: 600;
    margin-bottom: 30px;
    transition: filter 0.3s;
}
.ac-host-btn:hover { filter: brightness(1.1); }
.ac-host-features {
    list-style: none;
    padding: 10px 0 0;
    text-align: left;
    border-top: 1px solid #f3f4f6;
}
.ac-host-features li {
    padding: 3px 0;
    font-size: 14px;
    color: #4b5563;
    display: flex;
    align-items: center;
}
.ac-host-features li::before {
    content: '✔';
    color: #007bff;
    margin-right: 10px;
    font-weight: bold;
}
/* Responsivo */
@media (max-width: 768px) {
    .ac-host-tabs-nav { flex-direction: row; width: auto; }
    .ac-host-tabs-nav label { width: 140px; }
    .ac-host-glider { width: 140px; }
    #ac-host-advanced-tab:checked ~ .ac-host-tabs-nav .ac-host-glider { transform: translateX(140px); }
    .ac-host-featured { transform: scale(1); }
    .ac-host-grid { grid-template-columns: 1fr; gap: 40px; }
}
/* ----- FIN HOSTING ---- */
/* === FIN BÁSICOS */
/* Extra pequeño (teléfonos muy pequeños) */
@media (max-width: 360px) { }
/* Teléfonos pequeños */
@media (max-width: 480px) { }
/* Teléfonos "normales" */
@media (max-width: 576px) { }
/* Tablets vertical */
@media (max-width: 768px) { }
/* Tablets horizontal / pantallas medianas */
@media (max-width: 992px) { }
/* Laptops / pantallas grandes */
@media (max-width: 1200px) { }
/* Monitores extra grandes */
@media (max-width: 1400px) { }		  